]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/interface.c
Merge pull request #5789 from donaldsharp/bgp_ebgp_reason
[mirror_frr.git] / zebra / interface.c
index 64a7e9abc0f418fbaf5424b2ca4f9b340617eab4..bcb833b8d8f019b1ed7532533345b9a5bb2c4e42 100644 (file)
@@ -1062,7 +1062,9 @@ void if_up(struct interface *ifp)
                                                    zif->link_ifindex);
                if (link_if)
                        zebra_vxlan_svi_up(ifp, link_if);
-       }
+       } else if (IS_ZEBRA_IF_MACVLAN(ifp))
+               zebra_vxlan_macvlan_up(ifp);
+
 }
 
 /* Interface goes down.  We have to manage different behavior of based
@@ -1094,7 +1096,8 @@ void if_down(struct interface *ifp)
                                                    zif->link_ifindex);
                if (link_if)
                        zebra_vxlan_svi_down(ifp, link_if);
-       }
+       } else if (IS_ZEBRA_IF_MACVLAN(ifp))
+               zebra_vxlan_macvlan_down(ifp);
 
 
        /* Notify to the protocol daemons. */
@@ -1974,6 +1977,8 @@ DEFUN (shutdown_if,
        struct zebra_if *if_data;
 
        if (ifp->ifindex != IFINDEX_INTERNAL) {
+               /* send RA lifetime of 0 before stopping. rfc4861/6.2.5 */
+               rtadv_stop_ra(ifp);
                ret = if_unset_flags(ifp, IFF_UP);
                if (ret < 0) {
                        vty_out(vty, "Can't shutdown interface\n");