]> git.puffer.fish Git - matthieu/frr.git/commitdiff
zebra: add or delete router-id when interface moves vrfs
authorDon Slice <dslice@cumulusnetworks.com>
Thu, 24 Mar 2016 15:40:50 +0000 (15:40 +0000)
committerDon Slice <dslice@cumulusnetworks.com>
Fri, 25 Mar 2016 11:51:35 +0000 (11:51 +0000)
When an interface changes which vrf it is part of, it needs to be added
to the list of possible router-id choices in the new vrf and removed
from the old vrf/default.

Ticket: CM-9074
Signed-off-by: Don Slice
Reviewed-by: Vivek Venkatraman
zebra/interface.c

index 0ea06d6f5afe94233ff9f5f497961d7aa3c391df..38fe6988ebc6e7d3c8280591b0b8d96d426b90e4 100644 (file)
@@ -498,6 +498,7 @@ if_install_connected (struct interface *ifp)
       for (ALL_LIST_ELEMENTS (ifp->connected, node, next, ifc))
        {
          p = ifc->address;
+         zebra_interface_address_add_update (ifp, ifc);
 
          if (p->family == AF_INET)
            connected_up_ipv4 (ifp, ifc);
@@ -521,6 +522,7 @@ if_uninstall_connected (struct interface *ifp)
       for (ALL_LIST_ELEMENTS (ifp->connected, node, next, ifc))
        {
          p = ifc->address;
+         zebra_interface_address_delete_update (ifp, ifc);
 
          if (p->family == AF_INET)
            connected_down_ipv4 (ifp, ifc);