1

I am waking through RFC3810 and playing with MLDv2. From that RFC I thought when anyone send query for group :: (all groups) and send it to address ff02::1 all subscribers on segment should send its reports within maximum response delay. So I created and sent that query using scapy:

sendp(Ether()/IPv6(dst='ff02::1')/IPv6ExtHdrHopByHop(options=[RouterAlert()])/ICMPv6MLQuery2(mladdr="::", mrd=1000, QRV=2, QQIC=60) ,iface="USB-Eth", loop=0, inter=0)

I have win10 pc, Linux pc and Mikrotik all of them subscribed to group ff16::fe connected to same Lan (through dumb switch). I can see all of them sent correct listener report but none of those devices responds to my query. No matter if I send it from Linux or Win.

I compared my packet with some capture I found on the net and it differs only in source link local addr and check sums.

Is my expectation wrong?

Thank you.

1 Answer 1

0

Dumby me...

Of course every listener must reply to query. But listener must discard query with hop limit different than 1.

Here is the correct scapy command:

sendp(Ether()/IPv6(dst='ff02::1',hlim=1)/IPv6ExtHdrHopByHop(options=[RouterAlert()])/ICMPv6MLQuery2(mladdr="::", mrd=10000, QRV=2, QQIC=125) ,iface='enp1s0', loop=0, inter=0)

And here is some handy utility which when called like this sudo ./mcquery -i enp1s0 mld:2 sends identical query.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.