summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2019-03-06 20:00:57 +0000
committerQuentin Young <qlyoung@cumulusnetworks.com>2019-05-17 00:27:08 +0000
commitbd0934fa6dd3ea847ab993ef985786f0b52d3b96 (patch)
tree8f2efbc5b8ec018c0cbad8f4bbc154e64a3caa79
parentd7cfcdc0b0a962cc81824197b6c5901438b2fd7f (diff)
Revert "vrrpd: use parent interface LLA for advert tx"
This reverts commit 23e1accb0b083713ee7b0ef7fb08a0c47d4bbc85. This bug has now been fixed by preconfiguring the VRRP macvlan interfaces to use addrgenmode random instead of eui64.
-rw-r--r--vrrpd/vrrp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/vrrpd/vrrp.c b/vrrpd/vrrp.c
index d4a6dfc95a..cdc9e38665 100644
--- a/vrrpd/vrrp.c
+++ b/vrrpd/vrrp.c
@@ -918,7 +918,11 @@ static int vrrp_bind_to_primary_connected(struct vrrp_router *r)
char ipstr[INET6_ADDRSTRLEN];
struct interface *ifp;
- ifp = r->vr->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;
struct listnode *ln;
struct connected *c = NULL;