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.
This commit is contained in:
parent
4659b2ae45
commit
e16b0aef31
1 changed files with 4 additions and 0 deletions
|
@ -505,6 +505,10 @@ bgp_conn_enter_established_state(struct bgp_conn *conn)
|
||||||
if (ipa_zero(p->source_addr))
|
if (ipa_zero(p->source_addr))
|
||||||
p->source_addr = conn->sk->saddr;
|
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;
|
conn->sk->fast_rx = 0;
|
||||||
|
|
||||||
p->conn = conn;
|
p->conn = conn;
|
||||||
|
|
Loading…
Reference in a new issue