This allows tunneling protocols to set the VLAN TCI to a non-zero value and will be used by the implementation of STT.
Implementation suggested by Jesse Gross Cc: Jesse Gross <je...@nicira.com> Signed-off-by: Simon Horman <ho...@verge.net.au> --- datapath/tunnel.c | 1 - datapath/vport-capwap.c | 1 + datapath/vport-gre.c | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/datapath/tunnel.c b/datapath/tunnel.c index d406dbc..68a38be 100644 --- a/datapath/tunnel.c +++ b/datapath/tunnel.c @@ -434,7 +434,6 @@ void ovs_tnl_rcv(struct vport *vport, struct sk_buff *skb, u8 tos) secpath_reset(skb); ecn_decapsulate(skb, tos); - vlan_set_tci(skb, 0); if (unlikely(compute_ip_summed(skb, false))) { kfree_skb(skb); diff --git a/datapath/vport-capwap.c b/datapath/vport-capwap.c index e5b7afb..ddeee8d 100644 --- a/datapath/vport-capwap.c +++ b/datapath/vport-capwap.c @@ -338,6 +338,7 @@ static int capwap_rcv(struct sock *sk, struct sk_buff *skb) else OVS_CB(skb)->tun_id = 0; + vlan_set_tci(skb, 0); ovs_tnl_rcv(vport, skb, iph->tos); goto out; diff --git a/datapath/vport-gre.c b/datapath/vport-gre.c index 3bb55f0..8c14cf8 100644 --- a/datapath/vport-gre.c +++ b/datapath/vport-gre.c @@ -359,6 +359,7 @@ static int gre_rcv(struct sk_buff *skb) __skb_pull(skb, hdr_len); skb_postpull_rcsum(skb, skb_transport_header(skb), hdr_len + ETH_HLEN); + vlan_set_tci(skb, 0); ovs_tnl_rcv(vport, skb, iph->tos); return 0; -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev