summaryrefslogtreecommitdiffstats
path: root/net/openvswitch/actions.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-02-10 10:26:38 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-02-10 10:26:38 +0000
commitdf9ab9771c64f5229843bfe2a20fe0ee6ac59fc1 (patch)
treea091be1024bd76627f78e791e377126e47703b7b /net/openvswitch/actions.c
parented8f8ce38d0f7b505d7da2d79522972e962457c2 (diff)
parent4e1c0664de11e4b5861957ab4ddff2aeeffd042f (diff)
Merge branch 'devel-stable' into for-next
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 764fdc39c63..770064c8371 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);