diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2024-02-08 12:22:09 -0500 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2024-02-08 12:22:09 -0500 |
| commit | e28162b215395a05e49eb083c89b4dc65dbf9808 (patch) | |
| tree | 8a49a59ef4295428e72e13b575dbab93d656db64 | |
| parent | fbce9231d1f70f922ee854205f8c696c4658f56f (diff) | |
zebra: Move nhg reinstallation into if_up proper
The function call in to zebra_interface_nhg_reinstall
is an action that takes place on interface up events
*not* when the connected addresses are added to
a system. this will prevent this function being
called when new connected interfaces come alive
that is an independent operation of the interface
coming up.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| -rw-r--r-- | zebra/interface.c | 8 | ||||
| -rw-r--r-- | zebra/redistribute.c | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/zebra/interface.c b/zebra/interface.c index d3ea185338..8111863558 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -970,6 +970,14 @@ void if_up(struct interface *ifp, bool install_connected) if (install_connected) if_install_connected(ifp); + /* + * Interface associated NHG's have been deleted on + * interface down events, now that this interface + * is coming back up, let's resync the zebra -> dplane + * nhg's so that they can be continued to be used. + */ + zebra_interface_nhg_reinstall(ifp); + /* Handle interface up for specific types for EVPN. Non-VxLAN interfaces * are checked to see if (remote) neighbor entries need to be installed * on them for ARP suppression. diff --git a/zebra/redistribute.c b/zebra/redistribute.c index 70ace35a86..11c1330398 100644 --- a/zebra/redistribute.c +++ b/zebra/redistribute.c @@ -605,10 +605,6 @@ void zebra_interface_address_add_update(struct interface *ifp, client, ifp, ifc); } } - /* interface associated NHGs may have been deleted, - * re-sync zebra -> dplane NHGs - */ - zebra_interface_nhg_reinstall(ifp); } /* Interface address deletion. */ |
