diff --git a/vrrpd/vrrp.c b/vrrpd/vrrp.c index 94f59f37ff..90ea25d776 100644 --- a/vrrpd/vrrp.c +++ b/vrrpd/vrrp.c @@ -664,6 +664,9 @@ static int vrrp_socket(struct vrrp_router *r) r->vr->vrid); } + /* Turn off multicast loop on Tx */ + setsockopt_ipv4_multicast_loop(r->sock_tx, 0); + /* Bind Rx socket to exact interface */ vrrp_privs.change(ZPRIVS_RAISE); { @@ -751,6 +754,9 @@ static int vrrp_socket(struct vrrp_router *r) goto done; } + /* Turn off multicast loop on Tx */ + setsockopt_ipv6_multicast_loop(r->sock_tx, 0); + /* Bind Rx socket to exact interface */ vrrp_privs.change(ZPRIVS_RAISE); {