summaryrefslogtreecommitdiff
path: root/net/openvswitch/actions.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-12-24 07:57:38 +0300
committerDavid S. Miller <davem@davemloft.net>2014-12-24 07:57:38 +0300
commite51a08b8df461919451b1a2bf4a730da0b994425 (patch)
treef3db0334e66ecad72af35d47efac4f1a24edb736 /net/openvswitch/actions.c
parentceb8d5bf17d366534f32d2f60f41d905a5bc864b (diff)
parent74f47278cb056ffe1d261df3e094d608c3569829 (diff)
downloadlinux-e51a08b8df461919451b1a2bf4a730da0b994425.tar.xz
Merge branch 'openvswitch-net'
Pravin B Shelar says: ==================== openvswitch: datapath fixes Following patch series is mostly targeted to MPLS fixes. other patches are related datapth transmit path error handling. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/actions.c')
-rw-r--r--net/openvswitch/actions.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c
index 764fdc39c63b..770064c83711 100644
--- a/net/openvswitch/actions.c
+++ b/net/openvswitch/actions.c
@@ -147,7 +147,8 @@ static int push_mpls(struct sk_buff *skb, struct sw_flow_key *key,
hdr = eth_hdr(skb);
hdr->h_proto = mpls->mpls_ethertype;
- skb_set_inner_protocol(skb, skb->protocol);
+ if (!skb->inner_protocol)
+ skb_set_inner_protocol(skb, skb->protocol);
skb->protocol = mpls->mpls_ethertype;
invalidate_flow_key(key);