summaryrefslogtreecommitdiffstats
path: root/vrrpd/vrrp.c
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2019-03-06 21:00:57 +0100
committerQuentin Young <qlyoung@cumulusnetworks.com>2019-05-17 02:27:08 +0200
commitbd0934fa6dd3ea847ab993ef985786f0b52d3b96 (patch)
tree8f2efbc5b8ec018c0cbad8f4bbc154e64a3caa79 /vrrpd/vrrp.c
parentvrrpd: disallow setting priority = 255 (diff)
downloadfrr-bd0934fa6dd3ea847ab993ef985786f0b52d3b96.tar.xz
frr-bd0934fa6dd3ea847ab993ef985786f0b52d3b96.zip
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.
Diffstat (limited to 'vrrpd/vrrp.c')
-rw-r--r--vrrpd/vrrp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/vrrpd/vrrp.c b/vrrpd/vrrp.c
index d4a6dfc95..cdc9e3866 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;