summaryrefslogtreecommitdiffstats
path: root/zebra
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2016-12-05 16:25:58 +0100
committerDavid Lamparter <equinox@opensourcerouting.org>2016-12-05 16:25:58 +0100
commita93baa31d34bf11fa0ec44f84470583398154b57 (patch)
treefe00d9c18332569d0b64bec70137f476c4f3bad7 /zebra
parentMerge branch '-renato' into stable/2.0 (diff)
parentripngd: fix drop of multicast membership when the interface is down (diff)
downloadfrr-a93baa31d34bf11fa0ec44f84470583398154b57.tar.xz
frr-a93baa31d34bf11fa0ec44f84470583398154b57.zip
Merge branch '-rip' into stable/2.0
This fixes up a lot of RIP/RIPng compliance tests that were still flagged up. Tested-by: Martin Winter <mwinter@opensourcerouting.org>
Diffstat (limited to 'zebra')
-rw-r--r--zebra/irdp_packet.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/zebra/irdp_packet.c b/zebra/irdp_packet.c
index 25c7aff26..c9c32ce31 100644
--- a/zebra/irdp_packet.c
+++ b/zebra/irdp_packet.c
@@ -282,7 +282,7 @@ send_packet(struct interface *ifp,
char buf[256];
struct in_pktinfo *pktinfo;
u_long src;
- int on;
+ u_char on;
if (!(ifp->flags & IFF_UP))
return;
@@ -323,12 +323,8 @@ send_packet(struct interface *ifp,
zlog_warn("sendto %s", safe_strerror (errno));
}
- if(dst != INADDR_BROADCAST) {
- on = 0;
- if( setsockopt(irdp_sock,IPPROTO_IP, IP_MULTICAST_LOOP,
- (char *)&on,sizeof(on)) < 0)
- zlog_warn("sendto %s", safe_strerror (errno));
- }
+ if(dst != INADDR_BROADCAST)
+ setsockopt_ipv4_multicast_loop (irdp_sock, 0);
memset(&sockdst,0,sizeof(sockdst));
sockdst.sin_family=AF_INET;