Using XORP multicast with RouteFlow

189 views
Skip to first unread message

praveen kumar

unread,
May 6, 2013, 10:00:38 AM5/6/13
to routeflo...@googlegroups.com
Hi all,

I am trying to enable multicast using XORP and RouteFlow.
I have modified the rftest2 to start XORP (xorp_rtrmgr -b /etc/xorp/config.boot) instead of Quagga on all the rfvm*. However, I am not sure how to configure XORP to enable multicast for the given setup.
I have tried playing around with the config.boot file (changed the interfaces to eth1, eth2, eth3, eth4 and enabled them on rfvmA in the default config) but keep getting the following errors on starting xorp_rtrmgr:

[ 2013/05/06 13:53:02.26090  ERROR xorp_fea:383 MFEA fea/mfea_mrouter.cc:844 start_mrt ] MROUTE:  WARNING:  setsockopt(MRT_INIT) does not support multiple routing tables:: Protocol not available
[ 2013/05/06 13:53:02.26124  INFO xorp_fea:383 MFEA fea/mfea_node.cc:217 final_start ] MFEA started
[ 2013/05/06 13:53:02.26900  INFO xorp_fea:383 MFEA fea/mfea_vif.cc:217 enable ] MfeaVif: Interface enable Vif[eth1] pif_index: 16388 vif_index: 0 Flags: MULTICAST BROADCAST UNDERLYING_VIF_UP MTU: 1500 DOWN IPv4 DISABLED
[ 2013/05/06 13:53:02.27411  ERROR xorp_fea:383 MFEA fea/mfea_mrouter.cc:1355 add_multicast_vif ] add_multicast_vif() failed: vif eth1 has no address
[ 2013/05/06 13:53:02.27545  ERROR xorp_rtrmgr:382 RTRMGR rtrmgr/master_conf_tree.cc:700 commit_pass2_done ] Commit failed: 102 Command failed Cannot start vif eth1: cannot add the multicast vif to the kernel
[ 2013/05/06 13:53:02.27594  ERROR xorp_rtrmgr:382 RTRMGR rtrmgr/master_conf_tree.cc:269 config_done ] Configuration failed: 102 Command
failed Cannot start vif eth1: cannot add the multicast vif to the kernel


Can someone provide a simple configuration that has multicast working with XORP and RouteFlow or help me with configuring the XORP with rftest2?

Regards,
Praveen

praveen kumar

unread,
May 7, 2013, 7:49:39 AM5/7/13
to routeflo...@googlegroups.com
Update: I am using the simpler rftest1. It doesn't start quagga or xorp by default. So, after starting the test, I connect to rfvm1 and :
1. change eth0/1 -> eth1/2 in the default /etc/xorp/config.boot
2. set the igmp version to 3 for both the vif.
3. start xorp_rtrmgr (sudo xorp_rtrmgr -b /etc/xorp/config.boot)

On b1, if i start an iperf multicast server, I can see that XORP is getting the IGMP packets:
[ 2013/05/07 11:05:41.473128 TRACE xorp_igmp MLD6IGMP ] mld6igmp_process:  RX IGMP_V3_MEMBERSHIP_REPORT from 172.31.1.2 to 224.0.0.22 on vif eth1
[ 2013/05/07 11:05:41.473186 TRACE xorp_igmp MLD6IGMP ] Notify routing add membership for (0.0.0.0, 224.0.0.70) on vif eth1


But I can't see any routes being added. I have started an iperf multicast client on b2, but b1 is not able to receive the packets as no multicast flow rules get installed on switch1.
ubuntu@rfvm1:~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.31.1.0      *               255.255.255.0   U     0      0        0 eth1
172.31.2.0      *               255.255.255.0   U     0      0        0 eth2
192.169.1.0     *               255.255.255.0   U     0      0        0 eth0


$ sudo ovs-ofctl dump-flows switch1
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=3907.956s, table=0, n_packets=0, n_bytes=0, priority=16720,ip,in_port=1,dl_dst=12:a1:a1:a1:a1:a1,nw_dst=172.31.2.2 actions=mod_dl_src:12:a2:a2:a2:a2:a2,mod_dl_dst:02:b2:b2:b2:b2:b2,output:2
 cookie=0x0, duration=3934.473s, table=0, n_packets=0, n_bytes=0, priority=16720,ip,in_port=2,dl_dst=12:a2:a2:a2:a2:a2,nw_dst=172.31.1.2 actions=mod_dl_src:12:a1:a1:a1:a1:a1,mod_dl_dst:02:b1:b1:b1:b1:b1,output:1


Am I missing something regarding configuring XORP multicast with RouteFlow?

Regards,
Praveen

Christian Esteve Rothenberg

unread,
May 7, 2013, 8:37:32 AM5/7/13
to routeflo...@googlegroups.com
Hi Praveen,

we have only tested XORP for unicast protocols. I would doubt that the current RouteFlow implementation will work out of the box with multicast protocols. The first problem being the RFClient receiving the route updates from Linux via netlink. Next would be the RouteFlow IPC data structures handling the multicast address and a set of next hops, and finally the RFProxy installing the multiple port-out and per out-port packet header rewriting actions, which I believe cannot be done with OpenFlow 1.0 and would require OpenFlow 1.x versions with pipeline and group table capabilities.

Altogether theses activities may turn into a interesting 3 to 6 month academic project. Will add to the list.

Cheers,
Christian


--
You received this message because you are subscribed to the Google Groups "RouteFlow" group.
To unsubscribe from this group and stop receiving emails from it, send an email to routeflow-disc...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Christian

Praveen Kumar

unread,
May 7, 2013, 10:21:52 AM5/7/13
to routeflo...@googlegroups.com
Hi Christian,

Thanks for the info.
I am not sure about per out-port packet header rewriting action. But OpenFlow 1.0 does support multiple port-out.

Regards,
Praveen


--
You received this message because you are subscribed to a topic in the Google Groups "RouteFlow" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/routeflow-discuss/EjlBTGADsAU/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to routeflow-disc...@googlegroups.com.

Christian Esteve Rothenberg

unread,
May 7, 2013, 10:26:15 AM5/7/13
to routeflo...@googlegroups.com
> I am not sure about per out-port packet header rewriting action. But OpenFlow 1.0 does support multiple port-out.
The problem is that in OF 1.0 you can not define one packet header
re-write action and have the packet sent to one port, and a second
action on header re-write sent to another outport, and so on...
Christian Esteve Rothenberg, Ph.D.
Converged Networks Business Unit
CPqD - Center for Research and Development in Telecommunications
Tel. (+55 19) 3705 4479 / Cel. (+55 19) 8193-7087

Praveen Kumar

unread,
May 7, 2013, 10:29:15 AM5/7/13
to routeflow-discuss
Yes, that's not possible in OF 1.0.

Regards,
Praveen

Christian Esteve Rothenberg

unread,
May 7, 2013, 10:35:12 AM5/7/13
to routeflo...@googlegroups.com
not tht you strictly need the per-outport header rewriting actions to
implement multicast in a pure OpenFlow multicast tree... but probably
yes if you have legacy devices on the mix...

Praveen Kumar

unread,
May 7, 2013, 11:21:21 AM5/7/13
to routeflow-discuss
yeah... that's correct and assuming this (no per out-port header rewriting), I was trying to use XORP to get the routes and apply them - but I was stuck in that. Anyway, if RouteFlow cannot handle multicast correctly right now, I don't think fixing my XORP issue will be of much help right now.

Thanks a lot,
Praveen

Syed Naveed Abbas Rizvi

unread,
Sep 17, 2013, 1:34:14 PM9/17/13
to routeflo...@googlegroups.com
Hello 

Is there any progress on this issue ? or is it still not possible to have multicast routing?

regards 

Syed

Christian Esteve Rothenberg

unread,
Sep 18, 2013, 6:48:44 AM9/18/13
to routeflo...@googlegroups.com

AFAIK, no news on that front....

Reply all
Reply to author
Forward
0 new messages