From: Ondrej Zajicek (work) Date: Wed, 2 Jan 2019 14:57:14 +0000 (+0100) Subject: BGP: Postpone setting link_addr X-Git-Tag: v2.0.3~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e16b0aef31adf7000c22430adc3ceb9fc969ae14;p=thirdparty%2Fbird.git BGP: Postpone setting link_addr It may happen that the LLv6 address for given iface is not defined during BGP start, so we postpone the check to the the session establishment. --- diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c index fb6c9881f..ceeec7270 100644 --- a/proto/bgp/bgp.c +++ b/proto/bgp/bgp.c @@ -505,6 +505,10 @@ bgp_conn_enter_established_state(struct bgp_conn *conn) if (ipa_zero(p->source_addr)) p->source_addr = conn->sk->saddr; + /* In case of LLv6 is not valid during BGP start */ + if (ipa_zero(p->link_addr) && p->neigh && p->neigh->iface && p->neigh->iface->llv6) + p->link_addr = p->neigh->iface->llv6->ip; + conn->sk->fast_rx = 0; p->conn = conn;