<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">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.<div><br></div><div>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:</div><div><br></div><div>a) OSPF to distribute the local routes to the virtual machines</div><div>b) PIM-SM to get multicast routing</div><div><br></div><div>Seems simple right?</div><div><br></div><div>Well, I have a few issues that I've hit.</div><div><br></div><div>1) Dynamically removing an interface effectively crashes the FEA</div><div>2) I can't seem to receive IGMP Membership Reports</div><div><br></div><div>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? :)</div><div><br></div><div>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.</div><div><br></div><div>Now, when I listen to group 224.1.2.3 on 10.0.0.2, I get this happiness:</div><div><br></div><div><div>[ 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</div><div>[ 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</div><div>[ 2008/05/22 16:31:57 TRACE xorp_pimsm4 PIM ] Add membership for (0.0.0.0, 224.1.2.3) on vif external</div></div><div><br></div><div>That seems nice, no?</div><div><br></div><div>When I stop listening, I get this:</div><div><br></div><div><div>[ 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</div><div>[ 2008/05/22 16:33:45 TRACE xorp_igmp MLD6IGMP ] TX IGMP_MEMBERSHIP_QUERY from 10.0.0.1 to 224.1.2.3</div><div>[ 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</div><div>[ 2008/05/22 16:33:46 TRACE xorp_igmp MLD6IGMP ] TX IGMP_MEMBERSHIP_QUERY from 10.0.0.1 to 224.1.2.3</div><div>[ 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</div><div>[ 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</div><div>[ 2008/05/22 16:33:47 TRACE xorp_pimsm4 PIM ] Delete membership for (0.0.0.0, 224.1.2.3) on vif external</div><div><br class="webkit-block-placeholder"></div><div>That seems fairly expected.</div><div><br></div><div>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:</div><div><br></div><div><div>[ 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</div></div><div><br class="webkit-block-placeholder"></div><div>Any thoughts?</div><div><br></div><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div>-- </div><div>Jayson Vantuyl</div><div><font class="Apple-style-span" size="2"><span class="Apple-style-span" style="font-size: 10px; "><span class="Apple-style-span" style="font-size: 10px; "><span class="Apple-style-span" style="font-size: 10px; ">Systems Architect</span></span></span></font></div><div><b style="font-weight: bold; "><a href="http://www.engineyard.com"><span class="Apple-style-span" style="font-weight: normal; color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "><span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; ">Engine Yard</span></span></a></b></div><div><font class="Apple-style-span" size="2"><span class="Apple-style-span" style="font-size: 10px; "><span class="Apple-style-span" style="font-size: 10px; "><span class="Apple-style-span" style="font-size: 10px; "><a href="mailto:jvantuyl@engineyard.com">jvantuyl@engineyard.com</a></span></span></span></font></div><div><font class="Apple-style-span" size="2"><span class="Apple-style-span" style="font-size: 10px; ">1 866 518 9275 ext 204</span></font></div><div><font class="Apple-style-span" size="2"><span class="Apple-style-span" style="font-size: 10px; ">IRC (freenode): kagato</span></font></div></span></span></div></span></div></span></div></span></div></span> </div><br></div></body></html>