diff --git a/bird2/Makefile b/bird2/Makefile index 26b5e4a..f14b77c 100644 --- a/bird2/Makefile +++ b/bird2/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bird2 -PKG_VERSION:=2.0.2 +PKG_VERSION:=2.0.4 PKG_RELEASE:=1 PKG_SOURCE:=bird-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=ftp://bird.network.cz/pub/bird -PKG_HASH:=035f91d6f568f8ed438a0814235ac4c5c79147cd2acf201322c307732883480f +PKG_HASH:=676010b7517d4159b9af37401c26185f561ffcffeba73690a2ef2fad984714de PKG_BUILD_DEPENDS:=ncurses readline PKG_MAINTAINER:=Toke Høiland-Jørgensen PKG_BUILD_DIR:=$(BUILD_DIR)/bird-$(PKG_VERSION) diff --git a/bird2/patches/0001-BGP-Fix-extended-next-hop-handling.patch b/bird2/patches/0001-BGP-Fix-extended-next-hop-handling.patch deleted file mode 100644 index 7f73f66..0000000 --- a/bird2/patches/0001-BGP-Fix-extended-next-hop-handling.patch +++ /dev/null @@ -1,29 +0,0 @@ -From f3a8cf050e6181e158dcde2fe885d7bf220eedc3 Mon Sep 17 00:00:00 2001 -From: "Ondrej Zajicek (work)" -Date: Thu, 12 Apr 2018 16:55:56 +0200 -Subject: [PATCH] BGP: Fix extended next hop handling - -For IPv4 with extended next hop, we use MP-BGP format and therefore no -independent NEXT_HOP attribute. - -Thanks to Arvin Gan for the bugreport. ---- - proto/bgp/attrs.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c -index 0f41f818..9003feb2 100644 ---- a/proto/bgp/attrs.c -+++ b/proto/bgp/attrs.c -@@ -295,7 +295,7 @@ bgp_encode_next_hop(struct bgp_write_state *s, eattr *a, byte *buf, uint size) - * store it and encode it later by AFI-specific hooks. - */ - -- if (s->channel->afi == BGP_AF_IPV4) -+ if ((s->channel->afi == BGP_AF_IPV4) && !s->channel->ext_next_hop) - { - ASSERT(a->u.ptr->length == sizeof(ip_addr)); - --- -2.17.0 - diff --git a/bird2/patches/0006-babel-Set-onlink-flag-for-IPv4-routes-with-unreachab.patch b/bird2/patches/0001-babel-Set-onlink-flag-for-IPv4-routes-with-unreachab.patch similarity index 95% rename from bird2/patches/0006-babel-Set-onlink-flag-for-IPv4-routes-with-unreachab.patch rename to bird2/patches/0001-babel-Set-onlink-flag-for-IPv4-routes-with-unreachab.patch index 528051d..5d194d2 100644 --- a/bird2/patches/0006-babel-Set-onlink-flag-for-IPv4-routes-with-unreachab.patch +++ b/bird2/patches/0001-babel-Set-onlink-flag-for-IPv4-routes-with-unreachab.patch @@ -29,7 +29,7 @@ index ce05191c..afd2eb19 100644 + * makes it possible to, e.g., assign /32 addresses on a mesh interface and + * have routing work. + */ -+ if (!neigh_find2(&p->p, &r->next_hop, r->neigh->ifa->iface, 0)) ++ if (!neigh_find(&p->p, r->next_hop, r->neigh->ifa->iface, 0)) + a0.nh.flags = RNF_ONLINK; + rta *a = rta_lookup(&a0); diff --git a/bird2/patches/0002-Filter-Added-missing-instruction-comparators.patch b/bird2/patches/0002-Filter-Added-missing-instruction-comparators.patch deleted file mode 100644 index 3daefb4..0000000 --- a/bird2/patches/0002-Filter-Added-missing-instruction-comparators.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 823ad12191e66e243dd088a81c66e4a518563e40 Mon Sep 17 00:00:00 2001 -From: Jan Maria Matejka -Date: Fri, 27 Apr 2018 14:38:41 +0200 -Subject: [PATCH] Filter: Added missing instruction comparators. - -These instructions caused SIGABORTs on reconfiguration. ---- - filter/filter.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/filter/filter.c b/filter/filter.c -index bb3146e7..881ba420 100644 ---- a/filter/filter.c -+++ b/filter/filter.c -@@ -1712,7 +1712,10 @@ i_same(struct f_inst *f1, struct f_inst *f2) - case FI_EA_SET: ONEARG; A2_SAME; break; - - case FI_RETURN: ONEARG; break; -+ case FI_ROA_MAXLEN: ONEARG; break; -+ case FI_ROA_ASN: ONEARG; break; - case FI_IP: ONEARG; break; -+ case FI_IS_V4: ONEARG; break; - case FI_ROUTE_DISTINGUISHER: ONEARG; break; - case FI_CALL: /* Call rewriting trickery to avoid exponential behaviour */ - ONEARG; -@@ -1735,6 +1738,8 @@ i_same(struct f_inst *f1, struct f_inst *f2) - ((struct f_inst_roa_check *) f2)->rtc->name)) - return 0; - break; -+ case FI_FORMAT: ONEARG; break; -+ case FI_ASSERT: ONEARG; break; - default: - bug( "Unknown instruction %d in same (%c)", f1->fi_code, f1->fi_code & 0xff); - } --- -2.17.0 - diff --git a/bird2/patches/0003-babel-Fix-type-of-route-entry-router-ID.patch b/bird2/patches/0003-babel-Fix-type-of-route-entry-router-ID.patch deleted file mode 100644 index f4ce573..0000000 --- a/bird2/patches/0003-babel-Fix-type-of-route-entry-router-ID.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 40e7bd0e39849a03bd3f6f44d6719a5f8b1dd291 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= -Date: Mon, 30 Apr 2018 16:29:20 +0200 -Subject: [PATCH] babel: Fix type of route entry router ID -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The router ID being assigned to routes was a uint, which discards the upper -32 bits. This also has the nice side effect of echoing the wrong router ID -back to other routers. - -Signed-off-by: Toke Høiland-Jørgensen ---- - proto/babel/babel.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/proto/babel/babel.c b/proto/babel/babel.c -index 4fd88042..a8eb5ea8 100644 ---- a/proto/babel/babel.c -+++ b/proto/babel/babel.c -@@ -2140,7 +2140,7 @@ babel_rt_notify(struct proto *P, struct channel *c UNUSED, struct network *net, - uint internal = (new->attrs->src->proto == P); - uint rt_seqno = internal ? new->u.babel.seqno : p->update_seqno; - uint rt_metric = ea_get_int(attrs, EA_BABEL_METRIC, 0); -- uint rt_router_id = internal ? new->u.babel.router_id : p->router_id; -+ u64 rt_router_id = internal ? new->u.babel.router_id : p->router_id; - - if (rt_metric > BABEL_INFINITY) - { --- -2.17.0 - diff --git a/bird2/patches/0004-Babel-Add-option-to-randomize-router-ID.patch b/bird2/patches/0004-Babel-Add-option-to-randomize-router-ID.patch deleted file mode 100644 index 161b73e..0000000 --- a/bird2/patches/0004-Babel-Add-option-to-randomize-router-ID.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 70fab17837dbb4c5848681e4c6b9b90891891130 Mon Sep 17 00:00:00 2001 -From: "Ondrej Zajicek (work)" -Date: Thu, 3 May 2018 16:55:11 +0200 -Subject: [PATCH 1/2] Babel: Add option to randomize router ID - -When a Babel node restarts, it loses its sequence number, which can cause -its routes to be rejected by peers until the state is cleared out by other -nodes in the network (which can take on the order of minutes). - -There are two ways to fix this: Having stable storage to keep the sequence -number across restarts, or picking a different router ID each time. - -This implements the latter, by introducing a new option that will cause -BIRD to randomize a high 32 bits of router ID every time it starts up. -This avoids the problem at the cost of not having stable router IDs in -the network. - -Thanks to Toke Hoiland-Jorgensen for the patch. ---- - doc/bird.sgml | 10 ++++++++++ - proto/babel/babel.c | 11 +++++++++++ - proto/babel/babel.h | 1 + - proto/babel/config.Y | 3 ++- - 4 files changed, 24 insertions(+), 1 deletion(-) - -diff --git a/doc/bird.sgml b/doc/bird.sgml -index 1191fa03..ae308d4c 100644 ---- a/doc/bird.sgml -+++ b/doc/bird.sgml -@@ -1691,6 +1691,7 @@ supports the following per-interface configuration options: - protocol babel [] { - ipv4 { }; - ipv6 [sadr] { }; -+ randomize router id ; - interface { - type ; - rxcost ; -@@ -1713,6 +1714,15 @@ protocol babel [] { -