Skip to contentSkip to conversation

2.6.32 and Multicast group membership

DISCUSSION Mr. Berkley Shands 2 participants 2 messages Jun 1, 2010 – Jun 5, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

starting in 2.6.32, my multicast connections stop getting data after 60-100 seconds. The identical user code works fine under 2.6.22 through 2.6.31.

The NIC (an intel 82586) has two ports on the same subnet (eth0 at 172.16.21.55/24 and eth1 at 172.16.21.56/24)

if (setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*)&req,
sizeof(req)))

     {
        perror("setsockopt IP_ADD_MEMBERSHIP failed");
        ::exit(-1);
     }

If I do ADD_MEMBERSHIP on just one of these interfaces, the sockets still get data. But if I join on both interfaces, one or both will stop getting packets after 60-100 seconds. Sniffing with tcpdump shows the Cisco layer 3 switch is not getting its responses back to keep the multicast group open. The HP layer 2 switch does not seem to care, it keeps the data flowing regardless of which physical port the join is executed on.

Changing IP_MULTICAST_ALL has no effect :-(
Did I miss something? New code that I have to specify to keep the Cisco happy?

tia

Berkley

Signature · 19 lines
// E. F. Berkley Shands, MSc//

** Exegy Inc.**

349 Marshall Road, Suite 100

St. Louis , MO  63119

Direct:  (314) 218-3600 X450

Cell:  (314) 303-2546

Office:  (314) 218-3600

Fax:  (314) 218-3601



The Usual Disclaimer follows...
#1 lore raw
Quoted 14 lines · On Tue, 01 Jun 2010 16:39:00 -0500 "Mr. Berkley Shands" <[email protected]>…

starting in 2.6.32, my multicast connections stop getting data after 60-100 seconds.
The identical user code works fine under 2.6.22 through 2.6.31.

The NIC (an intel 82586) has two ports on the same subnet (eth0 at 172.16.21.55/24 and eth1 at 172.16.21.56/24)

if (setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*)&req,
sizeof(req)))

      {
         perror("setsockopt IP_ADD_MEMBERSHIP failed");
         ::exit(-1);
      }
Quoted 5 lines

If I do ADD_MEMBERSHIP on just one of these interfaces, the sockets still get data.
But if I join on both interfaces, one or both will stop getting packets after 60-100 seconds. Sniffing with tcpdump shows the Cisco layer 3 switch is not getting its responses back to keep the multicast group open.

While it could be a kernel change, that sounds like it might also be related to IGMP snooping on the Cisco switch. Any changes made to that recently?

Quoted 4 lines

The HP layer 2 switch does not seem to care, it keeps the data flowing regardless
of which physical port the join is executed on.

This is expected behaviour on a 'dumb' layer 2 switch i.e. one that doesn't perform IGMP snooping and therefore doesn't suppress multicasts towards end-nodes that aren't subscribed. That further suggests a change on the Cisco.

FWIW, I'm having no trouble with IPv4 multicast under 2.6.33, plugged into Cisco switch, with IGMP snooping, but not multicast suppression, enabled.

Quoted 38 lines

Changing IP_MULTICAST_ALL has no effect :-(
Did I miss something? New code that I have to specify to keep the Cisco happy?

tia

Berkley

Signature · 27 lines
// E. F. Berkley Shands, MSc//

** Exegy Inc.**

349 Marshall Road, Suite 100

St. Louis , MO  63119

Direct:  (314) 218-3600 X450

Cell:  (314) 303-2546

Office:  (314) 218-3600

Fax:  (314) 218-3601

 

The Usual Disclaimer follows...

 


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html