code_junkie

Multicast Join on Linux and IGMPv3

Nov 11th, 2011
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. [rtv@myhost]$ sudo /usr/sbin/tcpdump -i eth1.22 igmp
  2. tcpdump: listening on eth1.22
  3. 00:20:09.007094 switch-a.stage > ALL-SYSTEMS.MCAST.NET: igmp query v2 [max resp time 20] [ttl 1]
  4. 00:20:09.241946 10.129.22.236 > 232.0.1.10: igmp v2 report 232.0.1.10 (DF) [tos 0xc0] [ttl 1]
  5. 00:20:10.472159 10.129.22.236 > 236.0.1.101: igmp v2 report 236.0.1.101 (DF) [tos 0xc0] [ttl 1]
  6.  
  7. 44 packets received by filter
  8.  
  9. ... joinMulticast(in_addr mcast_addr, in_addr interface_addr)
  10. {
  11. struct ip_mreq mcast_req;
  12.  
  13. mcast_req.imr_multiaddr.s_addr = mcast_addr;
  14. mcast_req.imr_interface.s_addr = interface_addr;
  15. int err = setsockopt(fFileDesc, IPPROTO_IP, IP_ADD_MEMBERSHIP,
  16. (char*)&theMulti, sizeof(theMulti));
  17. // handle errors etc.
  18. // ...
  19. }
Add Comment
Please, Sign In to add comment