vrrpd: tweak startup criteria for v6 VRRP router

* 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>
This commit is contained in:
Quentin Young 2019-03-15 19:54:37 +00:00
parent 65dc7dd387
commit d5dc62c40b

View 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)