Branch 2.3 kernel datapath does not support MPLS actions. You have to use kernel datapath from master branch for MPLS.
Thanks, Pravin. On Tue, Sep 30, 2014 at 10:51 PM, Saurav Das <[email protected]> wrote: > Hi Ben and Pravin, > > Any resolution on this? > > Thanks > Saurav > > On Thu, Sep 18, 2014 at 3:44 PM, Ben Pfaff <[email protected]> wrote: >> >> Pravin, does Linux 3.13 have kernel MPLS support in OVS? >> >> Thanks, >> >> Ben. >> >> On Thu, Sep 18, 2014 at 02:58:33PM -0700, Sangho Shin wrote: >> > Hello, Ben, >> > >> > We are using pretty much recent kernel version, 3.13.0 released on Sept, >> > included in linux 14.04 release. >> > >> > Thank you, >> > >> > Sangho >> > >> > >> > >> > On Mon, Sep 15, 2014 at 8:51 AM, Ben Pfaff <[email protected]> wrote: >> > >> > > Thank you for the bug reports! (In the future I'd suggest one bug >> > > report per email because it makes it easier to handle each one.) >> > > >> > > On Thu, Sep 04, 2014 at 07:05:03PM -0700, Saurav Das wrote: >> > > > Possible bug: ovs-ofctl display of actions >> > > > >> > > > Here is a table-miss-entry which is supposed to match everything. >> > > > There >> > > are >> > > > no instructions associated with this entry. >> > > > >> > > > cookie=0x0, duration=31.700s, table=5, n_packets=7, n_bytes=686, >> > > priority=0 >> > > > actions=drop >> > > > >> > > > According to the OF1.3 spec, when there are no goto-instructions, >> > > pipeline >> > > > processing stops, and the action-set should get executed. >> > > > We do believe this is what is happening in the switch - however the >> > > display >> > > > "actions=drop" is misleading, and possibly a holdover from OF1.0 >> > > behavior, >> > > > when no actions meant drop. Perhaps "actions=execute-action-set" may >> > > better >> > > > reflect OF1.3 behavior when there are no instructions. >> > > >> > > I can see how that could be misunderstood, but I doubt that we're >> > > going >> > > to change such a long-standing OVS behavior on that basis. Certainly >> > > not to something as awkward and backward-incompatible as >> > > "execute-action-set"! I think that it's possible to change it to just >> > > "actions=" without any actions specified in a backward-compatible >> > > manner, and if that's better than I'd consider it. >> > > >> > > > Possible bug: group stats don't update >> > > > >> > > > Here is a group definition: >> > > > >> > > > >> > > >> > > group_id=536870916,type=indirect,bucket=weight:0,actions=dec_ttl,set_field:00:00:01:01:01:80->eth_src,output:4 >> > > > >> > > > Here are the stats: >> > > > >> > > > >> > > >> > > group_id=536870916,duration=202.091s,ref_count=0,packet_count=0,byte_count=0,bucket0:packet_count=0,byte_count=0 >> > > > >> > > > None of the counts go up, yet I know traffic is being processed by >> > > > this >> > > > group, as there is no other place where I have specified that >> > > > packets >> > > > should go out of port 4. >> > > >> > > Unfortunately OVS 2.3 does not implement group stats. They are >> > > available on master, though, and will be in OVS 2.4. >> > > >> > > > Possible bug: group doing MPLS stuff doesn't work >> > > > >> > > > >> > > > Here is the flow that points to the group (as part of the actions >> > > > written >> > > > to an action-set): >> > > > >> > > > cookie=0x0, duration=31.703s, table=2, n_packets=7, n_bytes=686, >> > > > priority=65520,ip,nw_dst=7.7.7.0/24 >> > > > >> > > >> > > actions=write_actions(push_mpls:0x8847,set_field:103->mpls_label,group:2684354566),goto_table:5 >> > > > >> > > > In table 5, the packets hit the table-miss-entry, which has no >> > > > instructions, so the action-set gets executed. >> > > > >> > > > Here is the group definition: >> > > > >> > > > >> > > >> > > group_id=2684354566,type=indirect,bucket=weight:0,actions=dec_mpls_ttl,set_field:00:00:01:01:01:80->eth_src,set_field:00:00:02:02:02:80->eth_dst,output:6 >> > > > >> > > > Here are the error messages we see in the logs: >> > > > >> > > > >> > > > >> > > > 2014-08-29T23:58:53.367Z|00001|dpif(handler358)|WARN|system@ovs-system: >> > > > failed to put[create] (Invalid argument) >> > > > >> > > >> > > dp_hash(0/0),recirc_id(0),skb_priority(0),in_port(5),skb_mark(0/0),eth(src=00:00:00:00:02:01,dst=00:00:01:01:01:80),eth_type(0x0800),ipv4(src= >> > > > >> > > >> > > 10.0.2.1/255.255.255.255,dst=7.7.7.7/255.255.255.255,proto=1/0xff,tos=0/0xfc,ttl=64/0xff,frag=no/0xff >> > > ),icmp(type=8,code=0), >> > > > >> > > >> > > actions:set(eth(src=00:00:01:01:01:80,dst=00:00:02:02:02:80)),push_mpls(label=103,tc=0,ttl=63,bos=1,eth_type=0x8847),7 >> > > > >> > > > >> > > > 2014-08-29T23:58:53.367Z|00002|dpif(handler358)|WARN|system@ovs-system: >> > > > execute >> > > > >> > > >> > > set(eth(src=00:00:01:01:01:80,dst=00:00:02:02:02:80)),push_mpls(label=103,tc=0,ttl=63,bos=1,eth_type=0x8847),7 >> > > > failed (Invalid argument) on packet >> > > > >> > > >> > > icmp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:00:00:00:02:01,dl_dst=00:00:01:01:01:80,nw_src=10.0.2.1,nw_dst=7.7.7.7,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=8,icmp_code=0 >> > > >> > > Hmm, that's a strange error. Are you by chance running an older >> > > kernel >> > > module that doesn't support the MPLS actions? Userspace should detect >> > > that and fall back to implementing MPLS itself, but it's possible that >> > > that logic is failing. >> > > _______________________________________________ >> > > discuss mailing list >> > > [email protected] >> > > http://openvswitch.org/mailman/listinfo/discuss >> > > > > _______________________________________________ discuss mailing list [email protected] http://openvswitch.org/mailman/listinfo/discuss
