[Xorp-users] Seeing Odd IGMP Behavior

Jayson Vantuyl jvantuyl at engineyard.com
Thu May 22 22:39:28 PDT 2008


So, I desperately want to get a few things working together.  It  
appears that XORP is my best chance, albeit a slightly shaky one.  I'm  
currently using Xorp 1.4 release.

I'm using I have a number of virtual guests that appear and  
disappear.  I would like a fully routed configuration with multicast.   
What I'm trying to accomplish is:

a) OSPF to distribute the local routes to the virtual machines
b) PIM-SM to get multicast routing

Seems simple right?

Well, I have a few issues that I've hit.

1) Dynamically removing an interface effectively crashes the FEA
2) I can't seem to receive IGMP Membership Reports

As for 1, I got it handled.  I just replaced a fatal error with a non- 
fatal one.  Specifically on fea/netlink_socket_utils.cc, around line  
300.  The error "Could not find interface corresponding to index".  It  
just didn't need to be fatal.  Not sure exactly what the implications  
are, but it appears that it's permissible to pass by a failure to  
lookup an interface index, so how much worse could it be when looking  
up the name, right?  :)

Number 2 is a bit more ugly.  So, I have two interfaces:  external,  
and vif2.0.  The first is, well, my uplink.  The second is the  
connection to the virtual machine.  External has the address/subnet of  
10.0.0.1/26.  Vif2.0 has 10.0.129.129/30.  The virtual machine on the  
other side of vif2.0 has 10.0.129.130/30.  Another machine on the  
external subnet has 10.0.0.2/26.

Now, when I listen to group 224.1.2.3 on 10.0.0.2, I get this happiness:

[ 2008/05/22 16:31:57 TRACE xorp_igmp MLD6IGMP ] RX  
IGMP_V2_MEMBERSHIP_REPORT from 10.0.0.2 to 224.1.2.3 on vif external
[ 2008/05/22 16:31:57 TRACE xorp_igmp MLD6IGMP ] Notify routing add  
membership for (0.0.0.0, 224.1.2.3) on vif external
[ 2008/05/22 16:31:57 TRACE xorp_pimsm4 PIM ] Add membership for  
(0.0.0.0, 224.1.2.3) on vif external

That seems nice, no?

When I stop listening, I get this:

[ 2008/05/22 16:33:45 TRACE xorp_igmp MLD6IGMP ] RX  
IGMP_V2_LEAVE_GROUP from 10.0.0.2 to 224.0.0.2 on vif external
[ 2008/05/22 16:33:45 TRACE xorp_igmp MLD6IGMP ] TX  
IGMP_MEMBERSHIP_QUERY from 10.0.0.1 to 224.1.2.3
[ 2008/05/22 16:33:45 TRACE xorp_igmp MLD6IGMP ] RX  
IGMP_MEMBERSHIP_QUERY from 10.0.0.1 to 224.1.2.3 on vif external
[ 2008/05/22 16:33:46 TRACE xorp_igmp MLD6IGMP ] TX  
IGMP_MEMBERSHIP_QUERY from 10.0.0.1 to 224.1.2.3
[ 2008/05/22 16:33:46 TRACE xorp_igmp MLD6IGMP ] RX  
IGMP_MEMBERSHIP_QUERY from 10.0.0.1 to 224.1.2.3 on vif external
[ 2008/05/22 16:33:47 TRACE xorp_igmp MLD6IGMP ] Notify routing delete  
membership for (0.0.0.0, 224.1.2.3) on vif external
[ 2008/05/22 16:33:47 TRACE xorp_pimsm4 PIM ] Delete membership for  
(0.0.0.0, 224.1.2.3) on vif external

That seems fairly expected.

When I listen to the same group on the virtual machine, I see no trace  
for a membership message.  Tcpdump verifies that it's coming it, but  
Xorp just seems to do nothing with it.  But, when I stop listening,  
for some reason Xorp seems to catch that just fine, and I see this:

[ 2008/05/22 16:37:05 TRACE xorp_igmp MLD6IGMP ] RX  
IGMP_V2_LEAVE_GROUP from 10.0.65.130 to 224.0.0.2 on vif vif2.0

Any thoughts?

-- 
Jayson Vantuyl
Systems Architect
Engine Yard
jvantuyl at engineyard.com
1 866 518 9275 ext 204
IRC (freenode): kagato

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-users/attachments/20080522/4630ed39/attachment-0003.html 


More information about the Xorp-users mailing list