forked from Mirror/frr
nhrp: fix race condition
where null lladdr recieved from zebra before nhrp next hop is installed. Signed-off-by: Lou Berger <lberger@labn.net>
This commit is contained in:
parent
1bc2fa3584
commit
5d9ebe6181
|
@ -191,6 +191,11 @@ int nhrp_neighbor_operation(ZAPI_CALLBACK_ARGS)
|
||||||
"Netlink: update binding for %pSU dev %s from c %pSU peer.vc.nbma %pSU to lladdr %pSU",
|
"Netlink: update binding for %pSU dev %s from c %pSU peer.vc.nbma %pSU to lladdr %pSU",
|
||||||
&addr, ifp->name, &c->cur.remote_nbma_natoa,
|
&addr, ifp->name, &c->cur.remote_nbma_natoa,
|
||||||
&c->cur.peer->vc->remote.nbma, &lladdr);
|
&c->cur.peer->vc->remote.nbma, &lladdr);
|
||||||
|
|
||||||
|
if (lladdr.sa.sa_family == AF_UNSPEC)
|
||||||
|
/* nothing from zebra, so use nhrp peer */
|
||||||
|
lladdr = c->cur.peer->vc->remote.nbma;
|
||||||
|
|
||||||
/* In case of shortcuts, nbma is given by lladdr, not
|
/* In case of shortcuts, nbma is given by lladdr, not
|
||||||
* vc->remote.nbma.
|
* vc->remote.nbma.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue