On 10/19/2018 1:39 AM, Jaime Caamaño Ruiz wrote:
Hello
When using nsh encapsulation, it's useful to normalize your pipeline to
packet_type=nsh, poping an ethernet header on input if necessary and
pushing an ethernet header again if required before output.
But it seems to be problematic:
---
2018-10-18T13:10:59.196Z|00010|dpif(handler3)|WARN|system@ovs-system:
execute pop_eth,push_eth(src=fe:16:3e:c1:9e:87,dst=fa:16:3e:c1:9e:87),5
failed (Invalid argument) on packet
vlan_tci=0x0000,dl_src=fa:16:3e:c2:e6:68,dl_dst=fe:16:3e:c2:e6:68,dl_ty
pe=0x894f,nsh_flags=0,nsh_ttl=63,nsh_mdtype=1,nsh_np=3,nsh_spi=0x1a,nsh
_si=254,nsh_c1=0xc0a82a01,nsh_c2=0x3,nsh_c3=0x0,nsh_c4=0x90000100,nw_pr
oto=0,nw_tos=0,nw_ecn=0,nw_ttl=0
with metadata
skb_priority(0),tunnel(tun_id=0x0,src=192.168.42.1,dst=192.168.42.3,ttl
=64,tp_src=47656,tp_dst=4789,flags(key)),skb_mark(0),in_port(4) mtu 0
---
Looking at the code datapath/flow_netlink.c @ __ovs_nla_copy_actions:
case OVS_ACTION_ATTR_PUSH_ETH:
/* Disallow pushing an Ethernet header if one
* is already present */
if (mac_proto != MAC_PROTO_NONE)
return -EINVAL;
mac_proto = MAC_PROTO_NONE;
break;
case OVS_ACTION_ATTR_POP_ETH:
if (mac_proto != MAC_PROTO_ETHERNET)
return -EINVAL;
if (vlan_tci & htons(VLAN_TAG_PRESENT))
return -EINVAL;
mac_proto = MAC_PROTO_ETHERNET;
break;
Isn't the mac_proto set inverted here, should'nt it look like this?
case OVS_ACTION_ATTR_PUSH_ETH:
/* Disallow pushing an Ethernet header if one
* is already present */
if (mac_proto != MAC_PROTO_NONE)
return -EINVAL;
mac_proto = MAC_PROTO_ETHERNET;
break;
case OVS_ACTION_ATTR_POP_ETH:
if (mac_proto != MAC_PROTO_ETHERNET)
return -EINVAL;
if (vlan_tci & htons(VLAN_TAG_PRESENT))
return -EINVAL;
mac_proto = MAC_PROTO_NONE;
break;
Jaime,
I am looking into this and at first sight this does look inverted but we
have no other reported bugs
in this area so I want to be careful that we don't break anything else
while fixing this. Have you tried
building OVS with this code change and been able to verify that this
change works?
I'll be working on setting up a test bed to check this - hopefully by
early next week I can report back so
stay tuned please.
Thanks,
- Greg
BR
Jaime.
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss