]> git.puffer.fish Git - mirror/frr.git/commitdiff
vrrpd: use parent interface LLA for advert tx
authorQuentin Young <qlyoung@cumulusnetworks.com>
Thu, 28 Feb 2019 19:00:26 +0000 (19:00 +0000)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Fri, 17 May 2019 00:27:08 +0000 (00:27 +0000)
Interface MACs for v6 macvlan devices are the same, so the link local
address will be the same, which breaks mastership election based on
primary address comparison. Use the parent interface link local address.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
vrrpd/vrrp.c

index 58a046fefada18ace8ce0a4f8a265f72d2b8dc78..84ff84b8a4329640d6d6e98ac09f23f04430a6d2 100644 (file)
@@ -888,11 +888,7 @@ static int vrrp_bind_to_primary_connected(struct vrrp_router *r)
        char ipstr[INET6_ADDRSTRLEN];
        struct interface *ifp;
 
-       /*
-        * A slight quirk: the RFC specifies that advertisements under IPv6 must
-        * be transmitted using the link local address of the source interface
-        */
-       ifp = r->family == AF_INET ? r->vr->ifp : r->mvl_ifp;
+       ifp = r->vr->ifp;
 
        struct listnode *ln;
        struct connected *c = NULL;