diff --git a/net/bird/Makefile b/net/bird/Makefile index 810387b69b7..a7cb43a5128 100644 --- a/net/bird/Makefile +++ b/net/bird/Makefile @@ -1,9 +1,9 @@ -# $OpenBSD: Makefile,v 1.13 2010/11/19 22:31:32 espie Exp $ +# $OpenBSD: Makefile,v 1.14 2011/04/01 12:00:49 sthen Exp $ COMMENT-main= bird internet routing daemon COMMENT-doc= bird internet routing daemon (documentation) -V= 1.2.5 +V= 1.3.0 DISTNAME= bird-$V DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ ${DISTNAME:S/-/-doc-/}${EXTRACT_SUFX} diff --git a/net/bird/distinfo b/net/bird/distinfo index 915e391d803..cdf6027a0c7 100644 --- a/net/bird/distinfo +++ b/net/bird/distinfo @@ -1,10 +1,10 @@ -MD5 (bird-1.2.5.tar.gz) = BvMw2jKQAYM10HYVSdkCJg== -MD5 (bird-doc-1.2.5.tar.gz) = X/fV+wUByevwXfB1bv6AHg== -RMD160 (bird-1.2.5.tar.gz) = /+y7gMlNZiaCr+/XlAuhSFJxwQU= -RMD160 (bird-doc-1.2.5.tar.gz) = hPAL94702lJ7m3k0olmKcWrX7KQ= -SHA1 (bird-1.2.5.tar.gz) = CqrRrKwul/gZyz1yKYNQ/Z2bLPI= -SHA1 (bird-doc-1.2.5.tar.gz) = uh7DDmQde73fXFx9/oh8Il1DCOM= -SHA256 (bird-1.2.5.tar.gz) = 8+L19EdOnoaazEitFmm/RLN6/YC3NI3VHQja6ymbI2g= -SHA256 (bird-doc-1.2.5.tar.gz) = 7LAnwib00c0bvidjYd+gmOKpz9Azkrs4cn5RXVa90fE= -SIZE (bird-1.2.5.tar.gz) = 703750 -SIZE (bird-doc-1.2.5.tar.gz) = 323975 +MD5 (bird-1.3.0.tar.gz) = SDbjsV/L4D1d/kZ71MqY+w== +MD5 (bird-doc-1.3.0.tar.gz) = yZySdDCkzLB9MxdhRSDK8g== +RMD160 (bird-1.3.0.tar.gz) = s9eNR3tz/sx3D7C7MPakCyVa0kU= +RMD160 (bird-doc-1.3.0.tar.gz) = oN9+Fb7Y1n5MdN21zgVuq5i7sf8= +SHA1 (bird-1.3.0.tar.gz) = APE5FwBMvGbgWy38bKCU9Zyl97w= +SHA1 (bird-doc-1.3.0.tar.gz) = gmq72olLqMpxKTAhUq1gGMqCLWk= +SHA256 (bird-1.3.0.tar.gz) = /5Dj7hFag+KwOlcJUTKSP2bh/Kh03Mp6kIB1tsLchLM= +SHA256 (bird-doc-1.3.0.tar.gz) = MtroTCh54DPUwsDcFw/tAyfk5r4iPE4+r1wiryXr+J0= +SIZE (bird-1.3.0.tar.gz) = 735100 +SIZE (bird-doc-1.3.0.tar.gz) = 333918 diff --git a/net/bird/patches/patch-doc_bird_conf_example b/net/bird/patches/patch-doc_bird_conf_example new file mode 100644 index 00000000000..996c131e955 --- /dev/null +++ b/net/bird/patches/patch-doc_bird_conf_example @@ -0,0 +1,15 @@ +$OpenBSD: patch-doc_bird_conf_example,v 1.1 2011/04/01 12:00:49 sthen Exp $ + +syntax changed. + +--- doc/bird.conf.example.orig Thu Mar 31 22:58:56 2011 ++++ doc/bird.conf.example Thu Mar 31 22:59:01 2011 +@@ -167,7 +167,7 @@ protocol static { + # description "My BGP uplink"; + # local as 65000; + # neighbor 62.168.0.130 as 5588; +-# multihop 20 via 62.168.0.13; ++# multihop 20; + # hold time 240; + # startup hold time 240; + # connect retry time 120; diff --git a/net/bird/patches/patch-nest_proto_c b/net/bird/patches/patch-nest_proto_c new file mode 100644 index 00000000000..66f9110bb9d --- /dev/null +++ b/net/bird/patches/patch-nest_proto_c @@ -0,0 +1,57 @@ +$OpenBSD: patch-nest_proto_c,v 1.1 2011/04/01 12:00:49 sthen Exp $ + +Revision 4ef09506, fix BGP protocols with implicit router IDs. + +--- nest/proto.c.orig Thu Mar 31 09:29:42 2011 ++++ nest/proto.c Fri Apr 1 12:53:11 2011 +@@ -31,6 +31,7 @@ list active_proto_list; + static list inactive_proto_list; + static list initial_proto_list; + static list flush_proto_list; ++static struct proto *initial_device_proto; + + static event *proto_flush_event; + +@@ -248,6 +249,8 @@ protos_postconfig(struct config *c) + DBG("\n"); + } + ++extern struct protocol proto_unix_iface; ++ + static struct proto * + proto_init(struct proto_config *c) + { +@@ -257,6 +260,9 @@ proto_init(struct proto_config *c) + q->proto_state = PS_DOWN; + q->core_state = FS_HUNGRY; + proto_enqueue(&initial_proto_list, q); ++ if (p == &proto_unix_iface) ++ initial_device_proto = q; ++ + add_tail(&proto_list, &q->glob_node); + PD(q, "Initializing%s", q->disabled ? " [disabled]" : ""); + return q; +@@ -413,6 +419,14 @@ protos_commit(struct config *new, struct config *old, + DBG("\tdone\n"); + + DBG("Protocol start\n"); ++ ++ /* Start device protocol first */ ++ if (initial_device_proto) ++ { ++ proto_rethink_goal(initial_device_proto); ++ initial_device_proto = NULL; ++ } ++ + WALK_LIST_DELSAFE(p, n, initial_proto_list) + proto_rethink_goal(p); + } +@@ -740,8 +754,6 @@ proto_notify_state(struct proto *p, unsigned ps) + bug("Invalid state transition for %s from %s/%s to */%s", p->name, c_states[cs], p_states[ops], p_states[ps]); + } + } +- +-extern struct protocol proto_unix_iface; + + static void + proto_flush_all(void *unused UNUSED) diff --git a/net/bird/patches/patch-proto_bgp_bgp_c b/net/bird/patches/patch-proto_bgp_bgp_c new file mode 100644 index 00000000000..169b4ba007c --- /dev/null +++ b/net/bird/patches/patch-proto_bgp_bgp_c @@ -0,0 +1,29 @@ +$OpenBSD: patch-proto_bgp_bgp_c,v 1.1 2011/04/01 12:00:49 sthen Exp $ + +Revision 4ef09506, fix BGP protocols with implicit router IDs. + +--- proto/bgp/bgp.c.orig Thu Mar 31 09:29:42 2011 ++++ proto/bgp/bgp.c Fri Apr 1 12:53:12 2011 +@@ -798,6 +798,10 @@ bgp_start(struct proto *P) + p->startup_timer->hook = bgp_startup_timeout; + p->startup_timer->data = p; + ++ p->local_id = proto_get_router_id(P->cf); ++ if (p->rr_client) ++ p->rr_cluster_id = p->cf->rr_cluster_id ? p->cf->rr_cluster_id : p->local_id; ++ + p->remote_id = 0; + p->source_addr = p->cf->source_addr; + +@@ -874,11 +878,8 @@ bgp_init(struct proto_config *C) + p->local_as = c->local_as; + p->remote_as = c->remote_as; + p->is_internal = (c->local_as == c->remote_as); +- p->local_id = proto_get_router_id(C); + p->rs_client = c->rs_client; + p->rr_client = c->rr_client; +- if (p->rr_client) +- p->rr_cluster_id = c->rr_cluster_id ? c->rr_cluster_id : p->local_id; + p->igp_table = get_igp_table(c); + + return P;