net/frr: Update to 8.2.2 Features 8.2.2 Release BGP Long-lived graceful restart capability (http://docs.frrouting.org/en/stable-8.2/bgp.html#long-lived-graceful-restart) BGP Extended Optional Parameters Length for BGP OPEN Message (http://docs.frrouting.org/en/stable-8.2/bgp.html#clicmd-neighbor-PEER-extended-optional-parameters) BGP Extended BGP Administrative Shutdown Communication IS-IS Link State Traffic Engineering support (http://docs.frrouting.org/en/stable-8.2/isisd.html#traffic-engineering) OSPFv3 Support for NSSA Type-7 address ranges (http://docs.frrouting.org/en/stable-8.2/ospf6d.html#ospf6-area) PBR VLAN actions support (http://docs.frrouting.org/en/stable-8.2/pbr.html#pbr-maps) Features 8.1 Release Lua hooks are now feature complete, with one hook available for use (http://docs.frrouting.org/en/latest/scripting.html) Improvements to SRv6 (Segment Routing over IPv6) (http://docs.frrouting.org/en/latest/zebra.html#segment-routing-ipv6) Improvements to Prefix-SID (Type 5) EVPN route type-5 gateway IP overlay Index (http://docs.frrouting.org/en/latest/bgp.html#evpn-overlay-index-gateway-ip) OSPFv3 NSSA and NSSA totally stub areas (http://docs.frrouting.org/en/latest/ospf6d.html#ospf6-area) OSPFv3 ASBR summarization (http://docs.frrouting.org/en/latest/ospf6d.html#asbr-summarisation-support-in-ospfv3) OSPFv3 Graceful Restart (http://docs.frrouting.org/en/latest/ospf6d.html#graceful-restart) OSPFv2 Graceful Restart (restarting mode added, helper was already implemented) (http://docs.frrouting.org/en/latest/ospfd.html#graceful-restart) Further release information: https://github.com/FRRouting/frr/releases/diff -r1.9 -r1.10 pkgsrc/net/frr/Makefile
(kardel)
@@ -1,17 +1,17 @@ | @@ -1,17 +1,17 @@ | |||
1 | # $NetBSD: Makefile,v 1.9 2021/09/08 11:12:37 kardel Exp $ | 1 | # $NetBSD: Makefile,v 1.10 2022/05/16 11:54:19 kardel Exp $ | |
2 | 2 | |||
3 | GITHUB_PROJECT= frr | 3 | GITHUB_PROJECT= frr | |
4 | VERSION= 8.0.1 | 4 | VERSION= 8.2.2 | |
5 | GITHUB_TAG= frr-${VERSION} | 5 | GITHUB_TAG= frr-${VERSION} | |
6 | DISTNAME= frr-${VERSION} | 6 | DISTNAME= frr-${VERSION} | |
7 | CATEGORIES= net | 7 | CATEGORIES= net | |
8 | MASTER_SITES= ${MASTER_SITE_GITHUB:=FRRouting/} | 8 | MASTER_SITES= ${MASTER_SITE_GITHUB:=FRRouting/} | |
9 | 9 | |||
10 | MAINTAINER= kardel@NetBSD.org | 10 | MAINTAINER= kardel@NetBSD.org | |
11 | HOMEPAGE= https://github.com/FRRouting/frr/ | 11 | HOMEPAGE= https://github.com/FRRouting/frr/ | |
12 | COMMENT= Frr routing multi protocol suite | 12 | COMMENT= Frr routing multi protocol suite | |
13 | LICENSE= gnu-gpl-v2 | 13 | LICENSE= gnu-gpl-v2 | |
14 | 14 | |||
15 | CONFLICTS= quagga-[0-9]* | 15 | CONFLICTS= quagga-[0-9]* | |
16 | 16 | |||
17 | WRKSRC= ${WRKDIR}/frr-frr-${VERSION} | 17 | WRKSRC= ${WRKDIR}/frr-frr-${VERSION} | |
@@ -43,27 +43,27 @@ PKG_SHELL.${FRR_USER}= /bin/sh | @@ -43,27 +43,27 @@ PKG_SHELL.${FRR_USER}= /bin/sh | |||
43 | PKG_GROUPS= ${FRR_GROUP} ${FRR_VTY_GROUP} | 43 | PKG_GROUPS= ${FRR_GROUP} ${FRR_VTY_GROUP} | |
44 | PKG_USERS= ${FRR_USER}:${FRR_GROUP} | 44 | PKG_USERS= ${FRR_USER}:${FRR_GROUP} | |
45 | 45 | |||
46 | RCD_SUPPLIED= bgpd ospf6d ospfd ripd ripngd zebra | 46 | RCD_SUPPLIED= bgpd ospf6d ospfd ripd ripngd zebra | |
47 | RCD_SCRIPTS= ${RCD_SUPPLIED} staticd | 47 | RCD_SCRIPTS= ${RCD_SUPPLIED} staticd | |
48 | 48 | |||
49 | .for f in ${RCD_SUPPLIED} | 49 | .for f in ${RCD_SUPPLIED} | |
50 | RCD_SCRIPT_SRC.${f}= ${WRKSRC}/pkgsrc/${f}.sh | 50 | RCD_SCRIPT_SRC.${f}= ${WRKSRC}/pkgsrc/${f}.sh | |
51 | .endfor | 51 | .endfor | |
52 | 52 | |||
53 | USE_TOOLS+= bash:run | 53 | USE_TOOLS+= bash:run | |
54 | REPLACE_BASH= tools/frr.in tools/*.sh.in | 54 | REPLACE_BASH= tools/frr.in tools/*.sh.in | |
55 | 55 | |||
56 | REPLACE_PYTHON= tools/generate_support_bundle.py tools/frr-reload.py | 56 | REPLACE_PYTHON= tools/generate_support_bundle.py tools/frr-reload.py tools/frr_babeltrace.py | |
57 | 57 | |||
58 | MESSAGE_SUBST+= FRR_USER=${FRR_USER} | 58 | MESSAGE_SUBST+= FRR_USER=${FRR_USER} | |
59 | MESSAGE_SUBST+= FRR_VTY_GROUP=${FRR_VTY_GROUP} | 59 | MESSAGE_SUBST+= FRR_VTY_GROUP=${FRR_VTY_GROUP} | |
60 | 60 | |||
61 | SUBST_CLASSES+= ids | 61 | SUBST_CLASSES+= ids | |
62 | SUBST_STAGE.ids= pre-configure | 62 | SUBST_STAGE.ids= pre-configure | |
63 | SUBST_MESSAGE.ids= Fixing user/group references. | 63 | SUBST_MESSAGE.ids= Fixing user/group references. | |
64 | SUBST_FILES.ids= pkgsrc/zebra.sh.in | 64 | SUBST_FILES.ids= pkgsrc/zebra.sh.in | |
65 | SUBST_VARS.ids= FRR_USER FRR_VTY_GROUP | 65 | SUBST_VARS.ids= FRR_USER FRR_VTY_GROUP | |
66 | 66 | |||
67 | SUBST_CLASSES+= workdir | 67 | SUBST_CLASSES+= workdir | |
68 | SUBST_STAGE.workdir= post-configure | 68 | SUBST_STAGE.workdir= post-configure | |
69 | SUBST_MESSAGE.workdir= Fixing absolute workdir references. | 69 | SUBST_MESSAGE.workdir= Fixing absolute workdir references. | |
@@ -80,27 +80,27 @@ CFLAGS+= -DFRR_XREF_NO_NOTE | @@ -80,27 +80,27 @@ CFLAGS+= -DFRR_XREF_NO_NOTE | |||
80 | 80 | |||
81 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} | 81 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} | |
82 | CONFIGURE_ARGS+= --enable-user=${FRR_USER} | 82 | CONFIGURE_ARGS+= --enable-user=${FRR_USER} | |
83 | CONFIGURE_ARGS+= --enable-group=${FRR_GROUP} | 83 | CONFIGURE_ARGS+= --enable-group=${FRR_GROUP} | |
84 | CONFIGURE_ARGS+= --localstatedir=${VARBASE}/run/frr | 84 | CONFIGURE_ARGS+= --localstatedir=${VARBASE}/run/frr | |
85 | CONFIGURE_ARGS+= --enable-multipath=64 | 85 | CONFIGURE_ARGS+= --enable-multipath=64 | |
86 | CONFIGURE_ARGS+= --enable-vty-group=${FRR_VTY_GROUP} | 86 | CONFIGURE_ARGS+= --enable-vty-group=${FRR_VTY_GROUP} | |
87 | CONFIGURE_ARGS+= --enable-configfile-mask=${FRR_CONF_MODE} | 87 | CONFIGURE_ARGS+= --enable-configfile-mask=${FRR_CONF_MODE} | |
88 | CONFIGURE_ARGS+= --enable-logfile-mask=${FRR_LOG_MODE} | 88 | CONFIGURE_ARGS+= --enable-logfile-mask=${FRR_LOG_MODE} | |
89 | CONFIGURE_ARGS+= --enable-fpm | 89 | CONFIGURE_ARGS+= --enable-fpm | |
90 | CONFIGURE_ARGS+= --with-pkg-git-version | 90 | CONFIGURE_ARGS+= --with-pkg-git-version | |
91 | CONFIGURE_ARGS+= --with-pkg-extra-version=/${DISTNAME} | 91 | CONFIGURE_ARGS+= --with-pkg-extra-version=/${DISTNAME} | |
92 | # CONFIGURE_ARGS+= --enable-address-sanitizer | 92 | # CONFIGURE_ARGS+= --enable-address-sanitizer | |
93 | 93 | CONFIGURE_ARGS+= --enable-dev-build | ||
94 | pre-configure: | 94 | pre-configure: | |
95 | cd ${WRKSRC} && ${SH} bootstrap.sh | 95 | cd ${WRKSRC} && ${SH} bootstrap.sh | |
96 | 96 | |||
97 | # | 97 | # | |
98 | # remove dynamically acquired .js files | 98 | # remove dynamically acquired .js files | |
99 | # | 99 | # | |
100 | post-build: | 100 | post-build: | |
101 | cd ${WRKSRC} && rm -f doc/user/_build/html/_static/jquery-*.js doc/user/_build/html/_static/underscore-*.js | 101 | cd ${WRKSRC} && rm -f doc/user/_build/html/_static/jquery-*.js doc/user/_build/html/_static/underscore-*.js | |
102 | 102 | |||
103 | .include "../../devel/libyang2/buildlink3.mk" | 103 | .include "../../devel/libyang2/buildlink3.mk" | |
104 | .include "../../devel/readline/buildlink3.mk" | 104 | .include "../../devel/readline/buildlink3.mk" | |
105 | .include "../../lang/python/application.mk" | 105 | .include "../../lang/python/application.mk" | |
106 | .include "../../net/libcares/buildlink3.mk" | 106 | .include "../../net/libcares/buildlink3.mk" |
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | @comment $NetBSD: PLIST,v 1.4 2021/08/15 14:54:31 kardel Exp $ | 1 | @comment $NetBSD: PLIST,v 1.5 2022/05/16 11:54:19 kardel Exp $ | |
2 | bin/mtracebis | 2 | bin/mtracebis | |
3 | bin/vtysh | 3 | bin/vtysh | |
4 | include/frr/agg_table.h | 4 | include/frr/agg_table.h | |
5 | include/frr/assert.h | 5 | include/frr/assert.h | |
6 | include/frr/atomlist.h | 6 | include/frr/atomlist.h | |
7 | include/frr/bfd.h | 7 | include/frr/bfd.h | |
8 | include/frr/bfdd/bfddp_packet.h | 8 | include/frr/bfdd/bfddp_packet.h | |
9 | include/frr/bitfield.h | 9 | include/frr/bitfield.h | |
10 | include/frr/buffer.h | 10 | include/frr/buffer.h | |
11 | include/frr/checksum.h | 11 | include/frr/checksum.h | |
12 | include/frr/command.h | 12 | include/frr/command.h | |
13 | include/frr/command_graph.h | 13 | include/frr/command_graph.h | |
14 | include/frr/command_match.h | 14 | include/frr/command_match.h | |
@@ -82,26 +82,27 @@ include/frr/ospfd/ospf_opaque.h | @@ -82,26 +82,27 @@ include/frr/ospfd/ospf_opaque.h | |||
82 | include/frr/ospfd/ospfd.h | 82 | include/frr/ospfd/ospfd.h | |
83 | include/frr/pbr.h | 83 | include/frr/pbr.h | |
84 | include/frr/plist.h | 84 | include/frr/plist.h | |
85 | include/frr/prefix.h | 85 | include/frr/prefix.h | |
86 | include/frr/printfrr.h | 86 | include/frr/printfrr.h | |
87 | include/frr/privs.h | 87 | include/frr/privs.h | |
88 | include/frr/ptm_lib.h | 88 | include/frr/ptm_lib.h | |
89 | include/frr/pullwr.h | 89 | include/frr/pullwr.h | |
90 | include/frr/pw.h | 90 | include/frr/pw.h | |
91 | include/frr/qobj.h | 91 | include/frr/qobj.h | |
92 | include/frr/queue.h | 92 | include/frr/queue.h | |
93 | include/frr/resolver.h | 93 | include/frr/resolver.h | |
94 | include/frr/ringbuf.h | 94 | include/frr/ringbuf.h | |
95 | include/frr/route_opaque.h | |||
95 | include/frr/route_types.h | 96 | include/frr/route_types.h | |
96 | include/frr/routemap.h | 97 | include/frr/routemap.h | |
97 | include/frr/routing_nb.h | 98 | include/frr/routing_nb.h | |
98 | include/frr/sbuf.h | 99 | include/frr/sbuf.h | |
99 | include/frr/seqlock.h | 100 | include/frr/seqlock.h | |
100 | include/frr/sha256.h | 101 | include/frr/sha256.h | |
101 | include/frr/sigevent.h | 102 | include/frr/sigevent.h | |
102 | include/frr/skiplist.h | 103 | include/frr/skiplist.h | |
103 | include/frr/smux.h | 104 | include/frr/smux.h | |
104 | include/frr/sockopt.h | 105 | include/frr/sockopt.h | |
105 | include/frr/sockunion.h | 106 | include/frr/sockunion.h | |
106 | include/frr/spf_backoff.h | 107 | include/frr/spf_backoff.h | |
107 | include/frr/srcdest_table.h | 108 | include/frr/srcdest_table.h | |
@@ -124,26 +125,27 @@ include/frr/vty.h | @@ -124,26 +125,27 @@ include/frr/vty.h | |||
124 | include/frr/vxlan.h | 125 | include/frr/vxlan.h | |
125 | include/frr/wheel.h | 126 | include/frr/wheel.h | |
126 | include/frr/workqueue.h | 127 | include/frr/workqueue.h | |
127 | include/frr/xref.h | 128 | include/frr/xref.h | |
128 | include/frr/yang.h | 129 | include/frr/yang.h | |
129 | include/frr/yang_translator.h | 130 | include/frr/yang_translator.h | |
130 | include/frr/yang_wrappers.h | 131 | include/frr/yang_wrappers.h | |
131 | include/frr/zclient.h | 132 | include/frr/zclient.h | |
132 | include/frr/zebra.h | 133 | include/frr/zebra.h | |
133 | include/frr/zlog.h | 134 | include/frr/zlog.h | |
134 | include/frr/zlog_targets.h | 135 | include/frr/zlog_targets.h | |
135 | ${PLIST.doc}info/frr.info | 136 | ${PLIST.doc}info/frr.info | |
136 | lib/frr/modules/bgpd_bmp.la | 137 | lib/frr/modules/bgpd_bmp.la | |
138 | lib/frr/modules/dplane_sample_plugin.la | |||
137 | lib/frr/modules/pathd_pcep.la | 139 | lib/frr/modules/pathd_pcep.la | |
138 | lib/frr/modules/zebra_fpm.la | 140 | lib/frr/modules/zebra_fpm.la | |
139 | lib/libfrr.la | 141 | lib/libfrr.la | |
140 | lib/libfrrcares.la | 142 | lib/libfrrcares.la | |
141 | lib/libfrrospfapiclient.la | 143 | lib/libfrrospfapiclient.la | |
142 | ${PLIST.doc}man/man1/frr.1 | 144 | ${PLIST.doc}man/man1/frr.1 | |
143 | ${PLIST.doc}man/man1/vtysh.1 | 145 | ${PLIST.doc}man/man1/vtysh.1 | |
144 | ${PLIST.doc}man/man8/frr-bfdd.8 | 146 | ${PLIST.doc}man/man8/frr-bfdd.8 | |
145 | ${PLIST.doc}man/man8/frr-bgpd.8 | 147 | ${PLIST.doc}man/man8/frr-bgpd.8 | |
146 | ${PLIST.doc}man/man8/frr-eigrpd.8 | 148 | ${PLIST.doc}man/man8/frr-eigrpd.8 | |
147 | ${PLIST.doc}man/man8/frr-isisd.8 | 149 | ${PLIST.doc}man/man8/frr-isisd.8 | |
148 | ${PLIST.doc}man/man8/frr-ldpd.8 | 150 | ${PLIST.doc}man/man8/frr-ldpd.8 | |
149 | ${PLIST.doc}man/man8/frr-ospf6d.8 | 151 | ${PLIST.doc}man/man8/frr-ospf6d.8 | |
@@ -154,26 +156,27 @@ ${PLIST.doc}man/man8/frr-ripd.8 | @@ -154,26 +156,27 @@ ${PLIST.doc}man/man8/frr-ripd.8 | |||
154 | ${PLIST.doc}man/man8/frr-ripngd.8 | 156 | ${PLIST.doc}man/man8/frr-ripngd.8 | |
155 | ${PLIST.doc}man/man8/frr-staticd.8 | 157 | ${PLIST.doc}man/man8/frr-staticd.8 | |
156 | ${PLIST.doc}man/man8/frr-watchfrr.8 | 158 | ${PLIST.doc}man/man8/frr-watchfrr.8 | |
157 | ${PLIST.doc}man/man8/frr-zebra.8 | 159 | ${PLIST.doc}man/man8/frr-zebra.8 | |
158 | ${PLIST.doc}man/man8/mtracebis.8 | 160 | ${PLIST.doc}man/man8/mtracebis.8 | |
159 | sbin/babeld | 161 | sbin/babeld | |
160 | sbin/bfdd | 162 | sbin/bfdd | |
161 | sbin/bgpd | 163 | sbin/bgpd | |
162 | sbin/eigrpd | 164 | sbin/eigrpd | |
163 | sbin/fabricd | 165 | sbin/fabricd | |
164 | sbin/frr | 166 | sbin/frr | |
165 | sbin/frr-reload | 167 | sbin/frr-reload | |
166 | sbin/frr-reload.py | 168 | sbin/frr-reload.py | |
169 | sbin/frr_babeltrace.py | |||
167 | sbin/frrcommon.sh | 170 | sbin/frrcommon.sh | |
168 | sbin/frrinit.sh | 171 | sbin/frrinit.sh | |
169 | sbin/generate_support_bundle.py | 172 | sbin/generate_support_bundle.py | |
170 | sbin/isisd | 173 | sbin/isisd | |
171 | sbin/ldpd | 174 | sbin/ldpd | |
172 | sbin/ospf6d | 175 | sbin/ospf6d | |
173 | sbin/ospfd | 176 | sbin/ospfd | |
174 | sbin/pathd | 177 | sbin/pathd | |
175 | sbin/pbrd | 178 | sbin/pbrd | |
176 | sbin/pimd | 179 | sbin/pimd | |
177 | sbin/ripd | 180 | sbin/ripd | |
178 | sbin/ripngd | 181 | sbin/ripngd | |
179 | sbin/ssd | 182 | sbin/ssd | |
@@ -182,26 +185,29 @@ sbin/watchfrr | @@ -182,26 +185,29 @@ sbin/watchfrr | |||
182 | sbin/watchfrr.sh | 185 | sbin/watchfrr.sh | |
183 | sbin/zebra | 186 | sbin/zebra | |
184 | ${PLIST.doc}share/doc/frr/html/.buildinfo | 187 | ${PLIST.doc}share/doc/frr/html/.buildinfo | |
185 | ${PLIST.doc}share/doc/frr/html/_images/fig-normal-processing.png | 188 | ${PLIST.doc}share/doc/frr/html/_images/fig-normal-processing.png | |
186 | ${PLIST.doc}share/doc/frr/html/_images/fig-rs-processing.png | 189 | ${PLIST.doc}share/doc/frr/html/_images/fig-rs-processing.png | |
187 | ${PLIST.doc}share/doc/frr/html/_images/fig-vnc-commercial-route-reflector.png | 190 | ${PLIST.doc}share/doc/frr/html/_images/fig-vnc-commercial-route-reflector.png | |
188 | ${PLIST.doc}share/doc/frr/html/_images/fig-vnc-frr-route-reflector.png | 191 | ${PLIST.doc}share/doc/frr/html/_images/fig-vnc-frr-route-reflector.png | |
189 | ${PLIST.doc}share/doc/frr/html/_images/fig-vnc-gw.png | 192 | ${PLIST.doc}share/doc/frr/html/_images/fig-vnc-gw.png | |
190 | ${PLIST.doc}share/doc/frr/html/_images/fig-vnc-mesh.png | 193 | ${PLIST.doc}share/doc/frr/html/_images/fig-vnc-mesh.png | |
191 | ${PLIST.doc}share/doc/frr/html/_images/fig-vnc-redundant-route-reflectors.png | 194 | ${PLIST.doc}share/doc/frr/html/_images/fig-vnc-redundant-route-reflectors.png | |
192 | ${PLIST.doc}share/doc/frr/html/_images/fig_dmvpn_topologies.png | 195 | ${PLIST.doc}share/doc/frr/html/_images/fig_dmvpn_topologies.png | |
193 | ${PLIST.doc}share/doc/frr/html/_images/fig_topologies_full.png | 196 | ${PLIST.doc}share/doc/frr/html/_images/fig_topologies_full.png | |
194 | ${PLIST.doc}share/doc/frr/html/_images/fig_topologies_rs.png | 197 | ${PLIST.doc}share/doc/frr/html/_images/fig_topologies_rs.png | |
198 | ${PLIST.doc}share/doc/frr/html/_images/pathd_config.png | |||
199 | ${PLIST.doc}share/doc/frr/html/_images/pathd_general.png | |||
200 | ${PLIST.doc}share/doc/frr/html/_images/pathd_initiated_multi.png | |||
195 | ${PLIST.doc}share/doc/frr/html/_sources/babeld.rst.txt | 201 | ${PLIST.doc}share/doc/frr/html/_sources/babeld.rst.txt | |
196 | ${PLIST.doc}share/doc/frr/html/_sources/basic.rst.txt | 202 | ${PLIST.doc}share/doc/frr/html/_sources/basic.rst.txt | |
197 | ${PLIST.doc}share/doc/frr/html/_sources/bfd.rst.txt | 203 | ${PLIST.doc}share/doc/frr/html/_sources/bfd.rst.txt | |
198 | ${PLIST.doc}share/doc/frr/html/_sources/bgp.rst.txt | 204 | ${PLIST.doc}share/doc/frr/html/_sources/bgp.rst.txt | |
199 | ${PLIST.doc}share/doc/frr/html/_sources/bmp.rst.txt | 205 | ${PLIST.doc}share/doc/frr/html/_sources/bmp.rst.txt | |
200 | ${PLIST.doc}share/doc/frr/html/_sources/bugs.rst.txt | 206 | ${PLIST.doc}share/doc/frr/html/_sources/bugs.rst.txt | |
201 | ${PLIST.doc}share/doc/frr/html/_sources/eigrpd.rst.txt | 207 | ${PLIST.doc}share/doc/frr/html/_sources/eigrpd.rst.txt | |
202 | ${PLIST.doc}share/doc/frr/html/_sources/fabricd.rst.txt | 208 | ${PLIST.doc}share/doc/frr/html/_sources/fabricd.rst.txt | |
203 | ${PLIST.doc}share/doc/frr/html/_sources/filter.rst.txt | 209 | ${PLIST.doc}share/doc/frr/html/_sources/filter.rst.txt | |
204 | ${PLIST.doc}share/doc/frr/html/_sources/frr-reload.rst.txt | 210 | ${PLIST.doc}share/doc/frr/html/_sources/frr-reload.rst.txt | |
205 | ${PLIST.doc}share/doc/frr/html/_sources/glossary.rst.txt | 211 | ${PLIST.doc}share/doc/frr/html/_sources/glossary.rst.txt | |
206 | ${PLIST.doc}share/doc/frr/html/_sources/grpc.rst.txt | 212 | ${PLIST.doc}share/doc/frr/html/_sources/grpc.rst.txt | |
207 | ${PLIST.doc}share/doc/frr/html/_sources/index.rst.txt | 213 | ${PLIST.doc}share/doc/frr/html/_sources/index.rst.txt | |
@@ -297,33 +303,34 @@ share/yang/frr-bgp-bmp.yang | @@ -297,33 +303,34 @@ share/yang/frr-bgp-bmp.yang | |||
297 | share/yang/frr-bgp-common-multiprotocol.yang | 303 | share/yang/frr-bgp-common-multiprotocol.yang | |
298 | share/yang/frr-bgp-common-structure.yang | 304 | share/yang/frr-bgp-common-structure.yang | |
299 | share/yang/frr-bgp-common.yang | 305 | share/yang/frr-bgp-common.yang | |
300 | share/yang/frr-bgp-filter.yang | 306 | share/yang/frr-bgp-filter.yang | |
301 | share/yang/frr-bgp-neighbor.yang | 307 | share/yang/frr-bgp-neighbor.yang | |
302 | share/yang/frr-bgp-peer-group.yang | 308 | share/yang/frr-bgp-peer-group.yang | |
303 | share/yang/frr-bgp-route-map.yang | 309 | share/yang/frr-bgp-route-map.yang | |
304 | share/yang/frr-bgp-rpki.yang | 310 | share/yang/frr-bgp-rpki.yang | |
305 | share/yang/frr-bgp-types.yang | 311 | share/yang/frr-bgp-types.yang | |
306 | share/yang/frr-bgp.yang | 312 | share/yang/frr-bgp.yang | |
307 | share/yang/frr-deviations-bgp-datacenter.yang | 313 | share/yang/frr-deviations-bgp-datacenter.yang | |
308 | share/yang/frr-eigrpd.yang | 314 | share/yang/frr-eigrpd.yang | |
309 | share/yang/frr-filter.yang | 315 | share/yang/frr-filter.yang | |
310 | share/yang/frr-igmp.yang | 316 | share/yang/frr-gmp.yang | |
311 | share/yang/frr-interface.yang | 317 | share/yang/frr-interface.yang | |
312 | share/yang/frr-isisd.yang | 318 | share/yang/frr-isisd.yang | |
313 | share/yang/frr-module-translator.yang | 319 | share/yang/frr-module-translator.yang | |
314 | share/yang/frr-nexthop.yang | 320 | share/yang/frr-nexthop.yang | |
315 | share/yang/frr-ospf-route-map.yang | 321 | share/yang/frr-ospf-route-map.yang | |
316 | share/yang/frr-ospf6-route-map.yang | 322 | share/yang/frr-ospf6-route-map.yang | |
323 | share/yang/frr-ospfd.yang | |||
317 | share/yang/frr-pathd.yang | 324 | share/yang/frr-pathd.yang | |
318 | share/yang/frr-pim-rp.yang | 325 | share/yang/frr-pim-rp.yang | |
319 | share/yang/frr-pim.yang | 326 | share/yang/frr-pim.yang | |
320 | share/yang/frr-ripd.yang | 327 | share/yang/frr-ripd.yang | |
321 | share/yang/frr-ripngd.yang | 328 | share/yang/frr-ripngd.yang | |
322 | share/yang/frr-route-map.yang | 329 | share/yang/frr-route-map.yang | |
323 | share/yang/frr-route-types.yang | 330 | share/yang/frr-route-types.yang | |
324 | share/yang/frr-routing.yang | 331 | share/yang/frr-routing.yang | |
325 | share/yang/frr-staticd.yang | 332 | share/yang/frr-staticd.yang | |
326 | share/yang/frr-test-module.yang | 333 | share/yang/frr-test-module.yang | |
327 | share/yang/frr-vrf.yang | 334 | share/yang/frr-vrf.yang | |
328 | share/yang/frr-zebra-route-map.yang | 335 | share/yang/frr-zebra-route-map.yang | |
329 | share/yang/frr-zebra.yang | 336 | share/yang/frr-zebra.yang |
@@ -1,8 +1,10 @@ | @@ -1,8 +1,10 @@ | |||
1 | $NetBSD: distinfo,v 1.7 2021/10/26 11:05:37 nia Exp $ | 1 | $NetBSD: distinfo,v 1.8 2022/05/16 11:54:19 kardel Exp $ | |
2 | 2 | |||
3 | BLAKE2s (frr-8.0.1.tar.gz) = d698d9521fc3051c48afb110f1c78cf74c94d5c625cf7a4d5ab7778421085920 | 3 | BLAKE2s (frr-8.2.2.tar.gz) = e815bbd44cc9bf04031ed2aae259d863c11e8573bcfd6bb97b0b720f13a0f49e | |
4 | SHA512 (frr-8.0.1.tar.gz) = d9a9ee3b40bf0271779765447c67da817551b5bf2d5d1e9f8073fb4596c622e013fbf7316ca39087db7b7f478b18d07f1fd06f1778abde2734c83112573d5f8f | 4 | SHA512 (frr-8.2.2.tar.gz) = 52d8e82979823f61ec6f117db1eb41b23fd8ad3197ae3f9d2cfa3ad9d96636a3d2f0b36720b2041a9261c8b639ddd48e46a2351ce41cb596f7dc432cddf29256 | |
5 | Size (frr-8.0.1.tar.gz) = 8206852 bytes | 5 | Size (frr-8.2.2.tar.gz) = 9439460 bytes | |
6 | SHA1 (patch-lib_elf__py.c) = a766923c906f1b0f9fa80a9e16e5275bae165187 | 6 | SHA1 (patch-lib_frr__pthread.c) = 24d695d906e2d4461080d6cdcd82f473e6eee6d8 | |
7 | SHA1 (patch-pimd_pim__mroute.c) = d0c306ba3fa400532978d18a220c283aae34c7f4 | |||
8 | SHA1 (patch-pimd_pim__sock.c) = 5c99f7671d35813eb1b2e76ef23fa049053b1141 | |||
7 | SHA1 (patch-pkgsrc_zebra.sh.in) = d458e74a1f3319f6e075d3d3a81414bc7d7022f2 | 9 | SHA1 (patch-pkgsrc_zebra.sh.in) = d458e74a1f3319f6e075d3d3a81414bc7d7022f2 | |
8 | SHA1 (patch-zebra_kernel__socket.c) = 845c3132d21aefcff5c41fa9aa9a31f2bf2ac5af | 10 | SHA1 (patch-zebra_kernel__socket.c) = 74ef772fa70b69a1767ad11ce89d907504c7528e |
$NetBSD: patch-lib_frr__pthread.c,v 1.1 2022/05/16 11:54:20 kardel Exp $
avoid tripping over NULL pointer
--- lib/frr_pthread.c.orig 2022-03-13 15:59:48.000000000 +0000
+++ lib/frr_pthread.c
@@ -141,7 +141,7 @@ int frr_pthread_set_name(struct frr_pthr
# ifdef GNU_LINUX
ret = pthread_setname_np(fpt->thread, fpt->os_name);
# elif defined(__NetBSD__)
- ret = pthread_setname_np(fpt->thread, fpt->os_name, NULL);
+ ret = pthread_setname_np(fpt->thread, fpt->os_name ? fpt->os_name : "-n/a-", NULL);
# endif
#elif defined(HAVE_PTHREAD_SET_NAME_NP)
pthread_set_name_np(fpt->thread, fpt->os_name);
$NetBSD: patch-pimd_pim__mroute.c,v 1.1 2022/05/16 11:54:20 kardel Exp $
Support HAVE_IP_RECVDSTADDR and HAVE_IP_RECVIF
--- pimd/pim_mroute.c.orig 2021-03-04 02:14:50.000000000 +0000
+++ pimd/pim_mroute.c
@@ -106,6 +106,26 @@ static int pim_mroute_set(struct pim_ins
}
}
#endif
+#if defined(HAVE_IP_RECVDSTADDR)
+ /* BSD IP_RECVDSTADDR */
+ data = 1;
+ if (setsockopt(pim->mroute_socket, IPPROTO_IP, IP_RECVDSTADDR, &data,
+ data_len)) {
+ zlog_warn(
+ "Could not set IP_RECVDSTADDR on socket fd=%d: errno=%d: %s",
+ pim->mroute_socket, errno, safe_strerror(errno));
+ }
+#endif
+#if defined(HAVE_IP_RECVIF)
+ /* BSD IP_RECVIF */
+ data = 1;
+ if (setsockopt(pim->mroute_socket, IPPROTO_IP, IP_RECVIF, &data,
+ data_len)) {
+ zlog_warn(
+ "Could not set IP_RECVIF on socket fd=%d: errno=%d: %s",
+ pim->mroute_socket, errno, safe_strerror(errno));
+ }
+#endif
setsockopt_so_recvbuf(pim->mroute_socket, 1024 * 1024 * 8);
$NetBSD: patch-pimd_pim__sock.c,v 1.1 2022/05/16 11:54:20 kardel Exp $
Support HAVE_STRUCT_IP_MREQN_IMR_IFINDEX and HAVE_IP_RECVIF
--- pimd/pim_sock.c.orig 2022-03-13 15:59:48.000000000 +0000
+++ pimd/pim_sock.c
@@ -27,7 +27,9 @@
#include <unistd.h>
#include <netdb.h>
#include <errno.h>
-
+#ifdef __NetBSD__
+#include <net/if.h>
+#endif
#include "log.h"
#include "privs.h"
#include "if.h"
@@ -97,11 +99,6 @@ int pim_socket_mcast(int protocol, struc
uint8_t loop)
{
int rcvbuf = 1024 * 1024 * 8;
-#ifdef HAVE_STRUCT_IP_MREQN_IMR_IFINDEX
- struct ip_mreqn mreq;
-#else
- struct ip_mreq mreq;
-#endif
int fd;
fd = pim_socket_raw(protocol);
@@ -146,6 +143,15 @@ int pim_socket_mcast(int protocol, struc
"Could not set IP_RECVDSTADDR on socket fd=%d: errno=%d: %s",
fd, errno, safe_strerror(errno));
}
+#elif defined(HAVE_IP_RECVIF)
+ /* BSD IP_RECVIF */
+ int opt = 1;
+ if (setsockopt(fd, IPPROTO_IP, IP_RECVIF, &opt,
+ sizeof(opt))) {
+ zlog_warn(
+ "Could not set IP_RECVDSTADDR on socket fd=%d: errno=%d: %s",
+ fd, errno, safe_strerror(errno));
+ }
#else
flog_err(
EC_LIB_DEVELOPMENT,
@@ -208,23 +214,26 @@ int pim_socket_mcast(int protocol, struc
return PIM_SOCK_ERR_LOOP;
}
- memset(&mreq, 0, sizeof(mreq));
+ {
#ifdef HAVE_STRUCT_IP_MREQN_IMR_IFINDEX
- mreq.imr_ifindex = ifp->ifindex;
+ struct ip_mreqn mreq;
+
+ memset(&mreq, 0, sizeof(mreq));
+ mreq.imr_ifindex = ifp->ifindex;
+ if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, (void *)&mreq,
+ sizeof(mreq)))
#else
-/*
- * I am not sure what to do here yet for *BSD
- */
-// mreq.imr_interface = ifindex;
+ uint32_t idx = htonl(ifp->ifindex);
+ if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, &idx, sizeof(idx)))
#endif
- if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, (void *)&mreq,
- sizeof(mreq))) {
- zlog_warn(
- "Could not set Outgoing Interface Option on socket fd=%d: errno=%d: %s",
- fd, errno, safe_strerror(errno));
- close(fd);
- return PIM_SOCK_ERR_IFACE;
+ {
+ zlog_warn(
+ "Could not set Outgoing Interface Option on socket fd=%d: errno=%d: %s",
+ fd, errno, safe_strerror(errno));
+ close(fd);
+ return PIM_SOCK_ERR_IFACE;
+ }
}
if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &rcvbuf, sizeof(rcvbuf)))
@@ -379,7 +388,7 @@ int pim_socket_recvfromto(int fd, uint8_
if (ifindex)
*ifindex = i->ipi_ifindex;
- break;
+ continue;
}
#endif
@@ -392,14 +401,20 @@ int pim_socket_recvfromto(int fd, uint8_
if (tolen)
*tolen = sizeof(struct sockaddr_in);
- break;
+ continue;
}
#endif
-#if defined(HAVE_IP_RECVIF) && defined(CMSG_IFINDEX)
- if (cmsg->cmsg_type == IP_RECVIF)
- if (ifindex)
- *ifindex = CMSG_IFINDEX(cmsg);
+#if defined(HAVE_IP_RECVIF)
+ if (cmsg->cmsg_type == IP_RECVIF && ifindex) {
+#ifdef __NetBSD__
+ struct sockaddr_dl *dl = (struct sockaddr_dl *)CMSG_DATA(cmsg);
+ *ifindex = dl->sdl_index;
+#elif defined(CMSG_IFINDEX)
+ *ifindex = CMSG_IFINDEX(cmsg);
+#endif
+ continue;
+ }
#endif
} /* for (cmsg) */
@@ -1,53 +1,53 @@ | @@ -1,53 +1,53 @@ | |||
1 | $NetBSD: patch-zebra_kernel__socket.c,v 1.3 2021/08/15 14:54:31 kardel Exp $ | 1 | $NetBSD: patch-zebra_kernel__socket.c,v 1.4 2022/05/16 11:54:20 kardel Exp $ | |
2 | 2 | |||
3 | Pass IFP interface index if known (normal case) to make | 3 | Pass IFP interface index if known (normal case) to make | |
4 | interface specific routes work such as in | 4 | interface specific routes work such as in | |
5 | 5 | |||
6 | ipv6 route ::/0 <ipv6 address> carp0 100 | 6 | ipv6 route ::/0 <ipv6 address> carp0 100 | |
7 | ivv6 route ::/0 <other ipv6 address> 200 | 7 | ivv6 route ::/0 <other ipv6 address> 200 | |
8 | 8 | |||
9 | frr-8 now enables SO_RERROR but exits cowardly when the | 9 | frr-8 now enables SO_RERROR but exits cowardly when the | |
10 | routing socket returns ENOBUFS. ensure at least a bit more | 10 | routing socket returns ENOBUFS. ensure at least a bit more | |
11 | socket buffer space by increasing SO_RCVBUF. | 11 | socket buffer space by increasing SO_RCVBUF. | |
12 | 12 | |||
13 | --- zebra/kernel_socket.c.orig 2021-07-21 13:06:19.000000000 +0000 | 13 | --- zebra/kernel_socket.c.orig 2022-03-13 15:59:48.000000000 +0000 | |
14 | +++ zebra/kernel_socket.c | 14 | +++ zebra/kernel_socket.c | |
15 | @@ -39,6 +39,7 @@ | 15 | @@ -39,6 +39,7 @@ | |
16 | #include "privs.h" | 16 | #include "privs.h" | |
17 | #include "vrf.h" | 17 | #include "vrf.h" | |
18 | #include "lib_errors.h" | 18 | #include "lib_errors.h" | |
19 | +#include "lib/sockopt.h" | 19 | +#include "lib/sockopt.h" | |
20 | 20 | |||
21 | #include "zebra/rt.h" | 21 | #include "zebra/rt.h" | |
22 | #include "zebra/interface.h" | 22 | #include "zebra/interface.h" | |
23 | @@ -1243,6 +1244,20 @@ int rtm_write(int message, union sockuni | 23 | @@ -1249,6 +1250,20 @@ int rtm_write(int message, union sockuni | |
24 | #ifdef __OpenBSD__ | 24 | #ifdef __OpenBSD__ | |
25 | SOCKADDRSET(mpls, RTA_SRC); | 25 | SOCKADDRSET(mpls, RTA_SRC); | |
26 | #endif | 26 | #endif | |
27 | +#ifdef __NetBSD__ | 27 | +#ifdef __NetBSD__ | |
28 | + if (index > 0) { | 28 | + if (index > 0) { | |
29 | + struct sockaddr_dl sdl; | 29 | + struct sockaddr_dl sdl; | |
30 | + | 30 | + | |
31 | + memset(&sdl, 0, sizeof(sdl)); | 31 | + memset(&sdl, 0, sizeof(sdl)); | |
32 | + sdl.sdl_len = sizeof(sdl); | 32 | + sdl.sdl_len = sizeof(sdl); | |
33 | + sdl.sdl_family = AF_LINK; | 33 | + sdl.sdl_family = AF_LINK; | |
34 | + sdl.sdl_index = index; | 34 | + sdl.sdl_index = index; | |
35 | + | 35 | + | |
36 | + msg.rtm.rtm_addrs |= RTA_IFP; | 36 | + msg.rtm.rtm_addrs |= RTA_IFP; | |
37 | + memcpy(pnt, &sdl, sdl.sdl_len); | 37 | + memcpy(pnt, &sdl, sdl.sdl_len); | |
38 | + pnt += SAROUNDUP(&sdl); | 38 | + pnt += SAROUNDUP(&sdl); | |
39 | + } | 39 | + } | |
40 | +#endif | 40 | +#endif | |
41 | 41 | |||
42 | msg.rtm.rtm_msglen = pnt - (caddr_t)&msg; | 42 | msg.rtm.rtm_msglen = pnt - (caddr_t)&msg; | |
43 | 43 | |||
44 | @@ -1425,6 +1440,9 @@ static void routing_socket(struct zebra_ | 44 | @@ -1434,6 +1449,9 @@ static void routing_socket(struct zebra_ | |
45 | return; | 45 | return; | |
46 | } | 46 | } | |
47 | 47 | |||
48 | + setsockopt_so_recvbuf(routing_sock, 1048576); | 48 | + setsockopt_so_recvbuf(routing_sock, 1048576); | |
49 | + setsockopt_so_recvbuf(dplane_routing_sock, 1048576); | 49 | + setsockopt_so_recvbuf(dplane_routing_sock, 1048576); | |
50 | + | 50 | + | |
51 | #ifdef SO_RERROR | 51 | #ifdef SO_RERROR | |
52 | /* Allow reporting of route(4) buffer overflow errors */ | 52 | /* Allow reporting of route(4) buffer overflow errors */ | |
53 | int n = 1; | 53 | int n = 1; |