diff options
| -rw-r--r-- | alpine/APKBUILD.in | 2 | ||||
| -rw-r--r-- | docker/alpine/Dockerfile | 29 | ||||
| -rwxr-xr-x | docker/alpine/libyang/APKBUILD | 10 | ||||
| -rw-r--r-- | ldpd/adjacency.c | 4 | ||||
| -rw-r--r-- | zebra/rt_netlink.c | 8 | 
5 files changed, 26 insertions, 27 deletions
diff --git a/alpine/APKBUILD.in b/alpine/APKBUILD.in index ccae9bfd0b..51986de2dd 100644 --- a/alpine/APKBUILD.in +++ b/alpine/APKBUILD.in @@ -18,7 +18,7 @@ makedepends="ncurses-dev net-snmp-dev gawk texinfo perl      ncurses-libs ncurses-terminfo ncurses-terminfo-base patch pax-utils pcre      perl pkgconf python3 python3-dev readline readline-dev sqlite-libs      squashfs-tools sudo tar texinfo xorriso xz-libs py-pip rtrlib rtrlib-dev -    py3-sphinx elfutils elfutils-dev" +    py3-sphinx elfutils elfutils-dev libyang-dev"  checkdepends="pytest py-setuptools"  install="$pkgname.pre-install $pkgname.pre-deinstall $pkgname.post-deinstall"  subpackages="$pkgname-dev $pkgname-doc $pkgname-dbg" diff --git a/docker/alpine/Dockerfile b/docker/alpine/Dockerfile index fa4b9859b9..187b528524 100644 --- a/docker/alpine/Dockerfile +++ b/docker/alpine/Dockerfile @@ -15,11 +15,12 @@ RUN adduser -D -G abuild builder && su builder -c 'abuild-keygen -a -n'  # This stage builds a libyang APK from source  FROM alpine-builder as libyang-builder  RUN mkdir -p /libyang && chown -R builder /pkgs /libyang -COPY docker/alpine/libyang/ /libyang -USER builder -RUN cd /libyang \ -	&& abuild checksum \ -	&& abuild -r -P /pkgs/apk +# -- Not currently needed - libyang currently available in Alpine upstream +# COPY docker/alpine/libyang/ /libyang +# USER builder +# RUN cd /libyang \ +# 	&& abuild checksum \ +# 	&& abuild -r -P /pkgs/apk  # This stage builds a dist tarball from the source  FROM alpine:3.15 as source-builder @@ -37,10 +38,11 @@ RUN source /src/alpine/APKBUILD.in \  	&& pip install pytest  RUN mkdir -p /pkgs/apk -COPY --from=libyang-builder /pkgs/apk/ /pkgs/apk/ -RUN apk add \ -		--no-cache \ -		--allow-untrusted /pkgs/apk/*/*.apk +# -- Not needed while libyang is not built +# COPY --from=libyang-builder /pkgs/apk/ /pkgs/apk/ +# RUN apk add \ +# 		--no-cache \ +# 		--allow-untrusted /pkgs/apk/*/*.apk \  COPY . /src  ARG PKGVER @@ -53,12 +55,13 @@ RUN cd /src \  # This stage builds an APK from the dist tarball  FROM alpine-builder as frr-apk-builder -COPY --from=libyang-builder /pkgs/apk/ /pkgs/apk/ +# -- Not needed while libyang is not built +# COPY --from=libyang-builder /pkgs/apk/ /pkgs/apk/ +# RUN apk add \ +# 		--no-cache \ +# 		--allow-untrusted /pkgs/apk/*/*.apk  COPY --from=source-builder /src/frr-*.tar.gz /src/alpine/* /dist/  RUN find /pkgs/apk -type f -name APKINDEX.tar.gz -delete -RUN apk add \ -		--no-cache \ -		--allow-untrusted /pkgs/apk/*/*.apk  RUN chown -R builder /dist /pkgs  USER builder  RUN cd /dist \ diff --git a/docker/alpine/libyang/APKBUILD b/docker/alpine/libyang/APKBUILD index 9fa20bf4d1..aa792e7f0b 100755 --- a/docker/alpine/libyang/APKBUILD +++ b/docker/alpine/libyang/APKBUILD @@ -1,7 +1,7 @@  # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>  # Maintainer: Christian Franke <nobody@nowhere.ws>  pkgname=libyang -pkgver=2.0.7 +pkgver=2.0.194  pkgrel=0  pkgdesc="YANG data modelling language parser and toolkit"  url="https://github.com/CESNET/libyang" @@ -10,9 +10,7 @@ license="BSD-3-Clause-Clear"  makedepends="bison cmake cmocka-dev flex pcre2-dev"  checkdepends="expect grep shunit2"  subpackages="$pkgname-dev $pkgname-doc" -source="$pkgname-$pkgver.tar.gz::https://github.com/CESNET/libyang/archive/v$pkgver.tar.gz -	10-remove-non-standard-headers.patch -	11-utest-dont-parse-dlerror.patch" +source="$pkgname-$pkgver.tar.gz::https://github.com/CESNET/libyang/archive/v$pkgver.tar.gz"  # secfixes:  #   1.0.215-r1: @@ -40,7 +38,3 @@ build() {  package() {  	make -C build DESTDIR="$pkgdir" install  } - -sha512sums="edb1d8d372b25ed820fa312e0dc96d4af7c8cd5ddeb785964de73f64774062ea7a5586bb27e2039ad24189d4a2ba04268921ca86e82423fc48647d1d10a2a0a7  libyang-2.0.7.tar.gz -385008c715e6b0dc9e8f33c9cb550b3af7ee16f056f35d09a4ba01b9e00ddb88940915f93fc608fedd30b4f9a6a1503df414ae0be64b1263681b0ee18e6f4db8  10-remove-non-standard-headers.patch -b16881d301a6aec68fbe6bfb7ba53a8fcdb4b9eead3b03573e0e2a4a8c3c3d6962db623be14d29c023b5a7ad0f685da1f6033dd9985f7a2914ad2f4da07e60cb  11-utest-dont-parse-dlerror.patch" diff --git a/ldpd/adjacency.c b/ldpd/adjacency.c index bbc8a277a6..7eb5663492 100644 --- a/ldpd/adjacency.c +++ b/ldpd/adjacency.c @@ -386,7 +386,9 @@ adj_to_ctl(struct adj *adj)  	}  	actl.holdtime = adj->holdtime;  	actl.holdtime_remaining = -	    thread_timer_remain_second(adj->inactivity_timer); +		thread_is_scheduled(adj->inactivity_timer) +			? thread_timer_remain_second(adj->inactivity_timer) +			: 0;  	actl.trans_addr = adj->trans_addr;  	actl.ds_tlv = adj->ds_tlv; diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 93b2d94671..1fa8ce3f64 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -420,10 +420,10 @@ static enum seg6local_action_t  parse_encap_seg6local(struct rtattr *tb,  		      struct seg6local_context *ctx)  { -	struct rtattr *tb_encap[256] = {}; +	struct rtattr *tb_encap[SEG6_LOCAL_MAX + 1] = {};  	enum seg6local_action_t act = ZEBRA_SEG6_LOCAL_ACTION_UNSPEC; -	netlink_parse_rtattr_nested(tb_encap, 256, tb); +	netlink_parse_rtattr_nested(tb_encap, SEG6_LOCAL_MAX, tb);  	if (tb_encap[SEG6_LOCAL_ACTION])  		act = *(uint32_t *)RTA_DATA(tb_encap[SEG6_LOCAL_ACTION]); @@ -448,11 +448,11 @@ parse_encap_seg6local(struct rtattr *tb,  static int parse_encap_seg6(struct rtattr *tb, struct in6_addr *segs)  { -	struct rtattr *tb_encap[256] = {}; +	struct rtattr *tb_encap[SEG6_IPTUNNEL_MAX + 1] = {};  	struct seg6_iptunnel_encap *ipt = NULL;  	struct in6_addr *segments = NULL; -	netlink_parse_rtattr_nested(tb_encap, 256, tb); +	netlink_parse_rtattr_nested(tb_encap, SEG6_IPTUNNEL_MAX, tb);  	/*  	 * TODO: It's not support multiple SID list.  | 
