]> git.puffer.fish Git - mirror/frr.git/commitdiff
vrrpd: tweak startup criteria for v6 VRRP router
authorQuentin Young <qlyoung@cumulusnetworks.com>
Fri, 15 Mar 2019 19:54:37 +0000 (19:54 +0000)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Fri, 17 May 2019 00:27:08 +0000 (00:27 +0000)
* Remove check for having at least 2 IPv6 addresses on the macvlan
  device; this was only taking place in v6, and breaking the ability to
  start VRRP on an IPv6 macvlan that was already set to protodown on
* Improve log messaging indicating that we cannot start because we
  haven't got any VIPs configured

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

index 8f54bcf7c3063992227e601f64993d55fc2f8e07..f2271278cc9f02d71406ecf25f528cf912e4ae22 100644 (file)
@@ -323,12 +323,13 @@ void vrrp_check_start(struct vrrp_vrouter *vr)
        /* Macvlan interface must have a link local */
        start = start && connected_get_linklocal(r->mvl_ifp);
        whynot = (!start && !whynot) ? "No link local address configured" : NULL;
-#endif
        /* Macvlan interface must have a v6 IP besides the link local */
        start = start && (r->mvl_ifp->connected->count >= 2);
-       whynot = (!start && !whynot) ? "No Virtual IP address configured" : NULL;
+       whynot = (!start && !whynot) ? "No Virtual IP configured on macvlan device" : NULL;
+#endif
        /* Must have at least one VIP configured */
        start = start && r->addrs->count > 0;
+       whynot = (!start && !whynot) ? "No Virtual IP address configured" : NULL;
        if (start)
                vrrp_event(r, VRRP_EVENT_STARTUP);
        else if (whynot)