summaryrefslogtreecommitdiff
path: root/net/openvswitch/flow.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2013-03-15 17:00:39 +0400
committerDavid S. Miller <davem@davemloft.net>2013-03-15 17:00:39 +0400
commit296b60109e0a2dfae4d22b393744634ca6322822 (patch)
tree88bd4277e8fc4d9b9fa35c6414c9a7e05ccb45a2 /net/openvswitch/flow.c
parent3f104c38259dcb3e5443c246f0805bc04d887cc3 (diff)
parentd176ca2a48ff2b5d7becfacdcbd1d72c73bd22d1 (diff)
downloadlinux-296b60109e0a2dfae4d22b393744634ca6322822.tar.xz
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch
Jesse Gross says: ==================== A few different bug fixes, including several for issues with userspace communication that have gone unnoticed up until now. These are intended for net/3.9. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/flow.c')
-rw-r--r--net/openvswitch/flow.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/openvswitch/flow.c b/net/openvswitch/flow.c
index 20605ecf100b..fe0e4215c73d 100644
--- a/net/openvswitch/flow.c
+++ b/net/openvswitch/flow.c
@@ -482,7 +482,11 @@ static __be16 parse_ethertype(struct sk_buff *skb)
return htons(ETH_P_802_2);
__skb_pull(skb, sizeof(struct llc_snap_hdr));
- return llc->ethertype;
+
+ if (ntohs(llc->ethertype) >= 1536)
+ return llc->ethertype;
+
+ return htons(ETH_P_802_2);
}
static int parse_icmpv6(struct sk_buff *skb, struct sw_flow_key *key,