Hi all: I maintain the SDN Hub tutorial VM. I updated the OVS to the head of the repo and did the test that Yikai is trying. I didn't see any MPLS tagged packets being sent out either. Here's a bit more info on my environment and some error I see in the logs:
*$ ovs-vsctl --version* ovs-vsctl (Open vSwitch) 2.3.90 Compiled Aug 13 2014 08:48:40 DB Schema 7.8.0 I started mininet as follows and verify that ping works when I use regular learning switch. Once I switched to a code that inserts MPLS label, here is what I see: *$ sudo mn --arp --topo single,2 --mac --switch ovsk,protocols=OpenFlow13 --controller remote,10.0.2.2* mininet> h1 ping h2 *$ sudo ovs-ofctl dump-flows s1 --protocols=OpenFlow13* OFPST_FLOW reply (OF1.3) (xid=0x2): cookie=0x0, duration=265.475s, table=0, n_packets=15, n_bytes=1214, priority=0 actions=CONTROLLER:65509 cookie=0x0, duration=263.677s, table=0, n_packets=264, n_bytes=25872, idle_timeout=5, icmp,in_port=2,dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:02,nw_src=10.0.0.1,nw_dst=10.0.0.2,nw_tos=0,nw_ecn=0,icmp_type=8,icmp_code=0 actions=push_mpls:0x8847,set_field:100->mpls_label,output:1 *$ tail -2 /var/log/openvswitch/ovs-vswitchd.log* 2014-08-14T05:52:52.803Z|00583|dpif(handler81)|WARN|system@ovs-system: failed to put[create] (Invalid argument) skb_priority(0),in_port(2),skb_mark(0/0),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10.0.0.2,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), actions:push_mpls(label=100,tc=0,ttl=64,bos=1,eth_type=0x8847),1 2014-08-14T05:52:53.803Z|00585|dpif(handler81)|WARN|system@ovs-system: failed to put[create] (Invalid argument) skb_priority(0),in_port(2),skb_mark(0/0),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10.0.0.2,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), actions:push_mpls(label=100,tc=0,ttl=64,bos=1,eth_type=0x8847),1 *$ sudo tcpdump -enntti s1-eth2* <No output now. It printed packets when I wasn't using the MPLS label> Thanks Srini. On Tue, Aug 12, 2014 at 10:02 PM, Yikai Lin <[email protected]> wrote: > Hi everyone, > I was first trying to test the MPLS function of OVS with the SDN-hub > VM http://sdnhub.org/tutorials/sdn-tutorial-vm/ > This VM includes Mininet 2.1 and OVS 2.1, but it doesn't work well > with MPLS: I install flow entry on s1 to push a MPLS label on packets from > h1 to h2. The packet is seen on the ingress port, but not the outgress > port. When I change the output port to controller, I can see the > Labeled-Packetins and Labeled-Packetouts, but then the Packetouts are lost > again. So basically the switch is dropping anything with a MPLS label when > it is trying to send them out. ( The Packetins and outs are correctly > labeled, so I guess the flow entry has nothing to do with it) > I thought, ok, maybe this version of OVS does not support MPLS well, > so I asked Justin for this and he confirmed my thought. And he showed me > this https://github.com/openvswitch/ovs/tree/branch-2.3 (thx, Justin) > This is when the problems occured: I git cloned this version of OVS and > tried to install it on several VMs, like a completely clean Ubuntu-Server, > the Mininet VM(https://github.com/mininet/mininet/wiki/Mininet-VM-Images), > and the SDN-hub VM, I need Mininet too. But after installation of this > OVS-2.3.90, I can't ping between hosts. The "ovs-vsctl show" command shows > that the current version of OVS is 2.3.90, and no error reports for ovsdb > or any other. The Mininet is running just fine, no errors reported, except > that hosts CANNOT PING. I try with both local ovs-controller and remote > controller ( in this case, Floodlight-Plus which supports OF1.3), neither > work. It only works when I install the flow entries myself with the > "ovs-ofctl add-flow" command, so I guess the problem lies in the connection > between controller and OVS, but I couldn't tell what is wrong coz the > "ovs-vsctl list controller" command shows that the controller is correctly > connected. The console of FL+ shows that the switch is connected too, but > it just CANNOT PING. > Does anyone know what's going on here? I followed the instruciton here > http://techandtrains.com/2013/10/24/another-way-to-upgrade-open-vswitch-in-mininet/ > to > upgrade the OVS in Mininet with my version of 2.3.90. I also tried to > install Mininet first, and then run "./install.sh -r" to remove OVS, and > then install OVS-2.3.90 under the instruction here > https://github.com/openvswitch/ovs/blob/branch-2.3/INSTALL. Neither way > reported any error, so I can't tell where is wrong, except that > ovs-controller is not included in OVS-2.3.90, so I couldn't run Mininet by > default, I had to connect to a remote controller, this is fine though, but > sadly a remote controller didn't work either. > I had no idea which part went wrong during this process, I don't have > much knowledge on how Mininet and OVS are installed and how they work, so I > can't tell whether the instructions above have introduced any problems. My > main goal is to *use Mininet and OVS to test MPLS funtion*, so if anyone > knows how I can achieve this goal, plz tell me. And if anyone knows what I > have done wrong in the aforementioned process, plz tell me too. > Thx a lot. > > ------------------------------ > ---- > Best regards, > Yikai > > Research Intern > Institute for Network Sciences and Cyberspace, > Tsinghua University > > Senior Student > Schoold of Information and Communication Engineering, > Beijing University of Posts and Telecommunications > > _______________________________________________ > discuss mailing list > [email protected] > http://openvswitch.org/mailman/listinfo/discuss > >
_______________________________________________ discuss mailing list [email protected] http://openvswitch.org/mailman/listinfo/discuss
