<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. &nbsp;It appears that XORP is my best chance, albeit a slightly shaky one. &nbsp;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. &nbsp;I would like a fully routed configuration with multicast. &nbsp;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. &nbsp;I just replaced a fatal error with a non-fatal one. &nbsp;Specifically on fea/netlink_socket_utils.cc, around line 300. &nbsp;The error "Could not find interface corresponding to index". &nbsp;It just didn't need to be fatal. &nbsp;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? &nbsp;:)</div><div><br></div><div>Number 2 is a bit more ugly. &nbsp;So, I have two interfaces: &nbsp;external, and vif2.0. &nbsp;The first is, well, my uplink. &nbsp;The second is the connection to the virtual machine. &nbsp;External has the address/subnet of 10.0.0.1/26. &nbsp;Vif2.0 has 10.0.129.129/30. &nbsp;The virtual machine on the other side of vif2.0 has 10.0.129.130/30. &nbsp;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. &nbsp;Tcpdump verifies that it's coming it, but Xorp just seems to do nothing with it. &nbsp;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>--&nbsp;</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>