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

Reply via email to