From: Maria Matejka Date: Thu, 16 Mar 2023 18:23:19 +0000 (+0100) Subject: BGP: Free bind applies also to outbound connections X-Git-Tag: v3.0-alpha1~7^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b712554d18dfb09274c003315a573f8578270ec;p=thirdparty%2Fbird.git BGP: Free bind applies also to outbound connections Even though the free bind option is primarily meant to alleviate problems with addresses assigned too late, it's also possible to use BIRD with AnyIP configuration, assigning whole ranges to the machine. Therefore free bind allows also to create an outbound connection from specific address even though such address is not assigned. --- diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c index a0e83415f..9408715e5 100644 --- a/proto/bgp/bgp.c +++ b/proto/bgp/bgp.c @@ -1109,6 +1109,7 @@ bgp_connect(struct bgp_proto *p) /* Enter Connect state and start establishing c s->tos = IP_PREC_INTERNET_CONTROL; s->password = p->cf->password; s->tx_hook = bgp_connected; + s->flags = p->cf->free_bind ? SKF_FREEBIND : 0; BGP_TRACE(D_EVENTS, "Connecting to %I%J from local address %I%J", s->daddr, ipa_is_link_local(s->daddr) ? p->cf->iface : NULL, s->saddr, ipa_is_link_local(s->saddr) ? s->iface : NULL);