[Bug 281391] IPv6 multicast sent to wrong MAC address

[email protected]
Newsgroups gmane.os.freebsd.devel.net
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281391

[email protected] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #253704|text/x-c++src               |text/plain
          mime type|                            |

--- Comment #3 from [email protected] ---
Created attachment 253704
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=253704&action=edit
test case program

My test program attached.
NOTE: You need to modify it with your /64 address in the location with a
comment.

Here's some of my truss output with concurrent runs on 13.4 and 14.1

the 14.1 machine... (command "hive foo" i.e. one argument to cause ipv6
case...)
NOTE this receives the multicast messages...
socket(PF_INET6,SOCK_DGRAM,0)                    = 3 (0x3)
bind(3,{ AF_INET6 [::]:3412 },28)                = 0 (0x0)
setsockopt(3,IPPROTO_IPV6,IPV6_MULTICAST_HOPS,0x8209f444c,4) = 0 (0x0)
setsockopt(3,IPPROTO_IPV6,IPV6_MULTICAST_LOOP,0x8209f444c,4) = 0 (0x0)
setsockopt(3,IPPROTO_IPV6,IPV6_JOIN_GROUP,0x8209f4438,20) = 0 (0x0)
sendmsg(3,{{ AF_INET6 [ff34:40:2001:5a8:60c8:1e00:2:1]:3412 },28,[{"This is a
test",14}],1,{},0,0},0) = 14 (0xe)
select(4,{ 3 },0x0,0x0,{ 4.999998 })             = 1 (0x1)
recvfrom(3,"This is a test",200,0,{ AF_INET6
[2001:5a8:60c8:1e00:8647:9ff:fe2e:141a]:3412 },0x8209f433c) = 14 (0xe)
fstat(1,{ mode=crw--w---- ,inode=379,size=0,blksize=4096 }) = 0 (0x0)
ioctl(1,TIOCGETA,0x8209f3ac4)                    = 0 (0x0)
2001:5a8:60c8:1e00:8647:9ff:fe2e:141a 3412 This is a test
write(1,"2001:5a8:60c8:1e00:8647:9ff:fe2e"...,58) = 58 (0x3a)
select(4,{ 3 },0x0,0x0,{ 4.678515 })             = 0 (0x0)
sendmsg(3,{{ AF_INET6 [ff34:40:2001:5a8:60c8:1e00:2:1]:3412 },28,[{"This is a
test",14}],1,{},0,0},0) = 14 (0xe)

The 13.4 machine...
same command run, one argument to cause ipv6
NOTE this does not receive messages from the 14.1 machine
socket(PF_INET6,SOCK_DGRAM,0)                    = 3 (0x3)
bind(3,{ AF_INET6 [::]:3412 },28)                = 0 (0x0)
setsockopt(3,IPPROTO_IPV6,IPV6_MULTICAST_HOPS,0x820ada4dc,4) = 0 (0x0)
setsockopt(3,IPPROTO_IPV6,IPV6_MULTICAST_LOOP,0x820ada4dc,4) = 0 (0x0)
setsockopt(3,IPPROTO_IPV6,IPV6_JOIN_GROUP,0x820ada4c8,20) = 0 (0x0)
sendmsg(3,{{ AF_INET6 [ff34:40:2001:5a8:60c8:1e00:2:1]:3412 },28,[{"This is a
test",14}],1,{},0,0},0) = 14 (0xe)
select(4,{ 3 },0x0,0x0,{ 5.000000 })             = 0 (0x0)
sendmsg(3,{{ AF_INET6 [ff34:40:2001:5a8:60c8:1e00:2:1]:3412 },28,[{"This is a
test",14}],1,{},0,0},0) = 14 (0xe)
select(4,{ 3 },0x0,0x0,{ 4.999999 })             = 0 (0x0)
sendmsg(3,{{ AF_INET6 [ff34:40:2001:5a8:60c8:1e00:2:1]:3412 },28,[{"This is a
test",14}],1,{},0,0},0) = 14 (0xe)
select(4,{ 3 },0x0,0x0,{ 4.999999 })             = 0 (0x0)
sendmsg(3,{{ AF_INET6 [ff34:40:2001:5a8:60c8:1e00:2:1]:3412 },28,[{"This is a
test",14}],1,{},0,0},0) = 14 (0xe)
select(4,{ 3 },0x0,0x0,{ 4.999999 })             = 0 (0x0)
sendmsg(3,{{ AF_INET6 [ff34:40:2001:5a8:60c8:1e00:2:1]:3412 },28,[{"This is a
test",14}],1,{},0,0},0) = 14 (0xe)
select(4,{ 3 },0x0,0x0,{ 4.999999 })             = 0 (0x0)

For completeness... the ipv4 runs work.
14.1 machine...
socket(PF_INET,SOCK_DGRAM,0)                     = 3 (0x3)
bind(3,{ AF_INET 0.0.0.0:3412 },16)              = 0 (0x0)
setsockopt(3,IPPROTO_IP,IP_MULTICAST_TTL,0x821026d5c,4) = 0 (0x0)
setsockopt(3,IPPROTO_IP,IP_MULTICAST_LOOP,0x821026d5c,4) = 0 (0x0)
setsockopt(3,IPPROTO_IP,IP_ADD_MEMBERSHIP,0x821026d48,8) = 0 (0x0)
sendmsg(3,{{ AF_INET 239.1.0.1:3412 },16,[{"This is a test",14}],1,{},0,0},0) =
14 (0xe)
select(4,{ 3 },0x0,0x0,{ 5.000000 })             = 1 (0x1)
recvfrom(3,"This is a test",200,0,{ AF_INET 192.168.2.5:3412 },0x821026c4c) =
14 (0xe)
fstat(1,{ mode=crw--w---- ,inode=379,size=0,blksize=4096 }) = 0 (0x0)
ioctl(1,TIOCGETA,0x8210263d4)                    = 0 (0x0)
192.168.2.5 3412 This is a test
write(1,"192.168.2.5 3412 This is a test"...,32) = 32 (0x20)
select(4,{ 3 },0x0,0x0,{ 4.998028 })             = 0 (0x0)
sendmsg(3,{{ AF_INET 239.1.0.1:3412 },16,[{"This is a test",14}],1,{},0,0},0) =
14 (0xe)
select(4,{ 3 },0x0,0x0,{ 5.000000 })             = 1 (0x1)
recvfrom(3,"This is a test",200,0,{ AF_INET 192.168.2.5:3412 },0x821026c4c) =
14 (0xe)
192.168.2.5 3412 This is a test

13.2 machine...
socket(PF_INET,SOCK_DGRAM,0)                     = 3 (0x3)
bind(3,{ AF_INET 0.0.0.0:3412 },16)              = 0 (0x0)
setsockopt(3,IPPROTO_IP,IP_MULTICAST_TTL,0x8205725ec,4) = 0 (0x0)
setsockopt(3,IPPROTO_IP,IP_MULTICAST_LOOP,0x8205725ec,4) = 0 (0x0)
setsockopt(3,IPPROTO_IP,IP_ADD_MEMBERSHIP,0x8205725d8,8) = 0 (0x0)
sendmsg(3,{{ AF_INET 239.1.0.1:3412 },16,[{"This is a test",14}],1,{},0,0},0) =
14 (0xe)
select(4,{ 3 },0x0,0x0,{ 5.000000 })             = 0 (0x0)
sendmsg(3,{{ AF_INET 239.1.0.1:3412 },16,[{"This is a test",14}],1,{},0,0},0) =
14 (0xe)
select(4,{ 3 },0x0,0x0,{ 5.000000 })             = 0 (0x0)
sendmsg(3,{{ AF_INET 239.1.0.1:3412 },16,[{"This is a test",14}],1,{},0,0},0) =
14 (0xe)
select(4,{ 3 },0x0,0x0,{ 5.000000 })             = 1 (0x1)
recvfrom(3,"This is a test",200,0,{ AF_INET 192.168.2.3:3412 },0x8205724dc) =
14 (0xe)
fstat(1,{ mode=crw--w---- ,inode=381,size=0,blksize=4096 }) = 0 (0x0)
ioctl(1,TIOCGETA,0x820571c64)                    = 0 (0x0)
192.168.2.3 3412 This is a test

-- 
You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.