I see random field values like sll_hatype=0x267 when I strace.
They seem to not matter, but just in case they sometimes do,
let's at least have deterministic values (via memset(0)).
function old new delta
change_listen_mode 308 322 +14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
fd = xsocket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IPV6));
log2("got raw socket fd %d", fd);
+ memset(&sock, 0, sizeof(sock)); /* let's be deterministic */
sock.sll_family = AF_PACKET;
sock.sll_protocol = htons(ETH_P_IPV6);
sock.sll_ifindex = ifindex;
+ /*sock.sll_hatype = ARPHRD_???;*/
+ /*sock.sll_pkttype = PACKET_???;*/
+ /*sock.sll_halen = ???;*/
+ /*sock.sll_addr[8] = ???;*/
xbind(fd, (struct sockaddr *) &sock, sizeof(sock));
#if 0
dest_sll.sll_family = AF_PACKET;
dest_sll.sll_protocol = htons(ETH_P_IPV6);
dest_sll.sll_ifindex = ifindex;
+ /*dest_sll.sll_hatype = ARPHRD_???;*/
+ /*dest_sll.sll_pkttype = PACKET_???;*/
dest_sll.sll_halen = 6;
memcpy(dest_sll.sll_addr, dest_arp, 6);
*/
log2("got raw socket fd");
+ memset(&sock, 0, sizeof(sock)); /* let's be deterministic */
sock.sll_family = AF_PACKET;
sock.sll_protocol = htons(ETH_P_IP);
sock.sll_ifindex = ifindex;
+ /*sock.sll_hatype = ARPHRD_???;*/
+ /*sock.sll_pkttype = PACKET_???;*/
+ /*sock.sll_halen = ???;*/
+ /*sock.sll_addr[8] = ???;*/
xbind(fd, (struct sockaddr *) &sock, sizeof(sock));
#if 0 /* Several users reported breakage when BPF filter is used */
dest_sll.sll_family = AF_PACKET;
dest_sll.sll_protocol = htons(ETH_P_IP);
dest_sll.sll_ifindex = ifindex;
+ /*dest_sll.sll_hatype = ARPHRD_???;*/
+ /*dest_sll.sll_pkttype = PACKET_???;*/
dest_sll.sll_halen = 6;
memcpy(dest_sll.sll_addr, dest_arp, 6);