]> git.puffer.fish Git - matthieu/frr.git/commitdiff
zebra: SO_BROADCAST needs a uint32_t instead of a uint8_t
authorDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 18 Feb 2020 00:24:16 +0000 (19:24 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 18 Feb 2020 14:33:16 +0000 (09:33 -0500)
Using SO_BROADCAST, in the linux kernel, requires a uint32_t to be passed
in for all SOL_SOCKET calls.  Modify code to use it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
zebra/irdp_packet.c

index f6fe6bbf1e885f5571094ba1d7948a9f7fdf3b2b..ae11bc5a6489dfc97ab17bbd2077d4954c41bd54 100644 (file)
@@ -319,9 +319,10 @@ void send_packet(struct interface *ifp, struct stream *s, uint32_t dst,
 
 
        if (dst == INADDR_BROADCAST) {
-               on = 1;
-               if (setsockopt(irdp_sock, SOL_SOCKET, SO_BROADCAST, (char *)&on,
-                              sizeof(on))
+               uint32_t bon = 1;
+
+               if (setsockopt(irdp_sock, SOL_SOCKET, SO_BROADCAST, &bon,
+                              sizeof(bon))
                    < 0)
                        zlog_debug("sendto %s", safe_strerror(errno));
        }