mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 09:02:06 +00:00
net: add ETH_P_802_3_MIN
Add a new constant ETH_P_802_3_MIN, the minimum ethernet type for an 802.3 frame. Frames with a lower value in the ethernet type field are Ethernet II. Also update all the users of this value that David Miller and I could find to use the new constant. Also correct a bug in util.c. The comparison with ETH_P_802_3_MIN should be >= not >. As suggested by Jesse Gross. Compile tested only. Cc: David Miller <davem@davemloft.net> Cc: Jesse Gross <jesse@nicira.com> Cc: Karsten Keil <isdn@linux-pingi.de> Cc: John W. Linville <linville@tuxdriver.com> Cc: Johannes Berg <johannes@sipsolutions.net> Cc: Bart De Schuymer <bart.de.schuymer@pandora.be> Cc: Stephen Hemminger <stephen@networkplumber.org> Cc: Patrick McHardy <kaber@trash.net> Cc: Marcel Holtmann <marcel@holtmann.org> Cc: Gustavo Padovan <gustavo@padovan.org> Cc: Johan Hedberg <johan.hedberg@gmail.com> Cc: linux-bluetooth@vger.kernel.org Cc: netfilter-devel@vger.kernel.org Cc: bridge@lists.linux-foundation.org Cc: linux-wireless@vger.kernel.org Cc: linux1394-devel@lists.sourceforge.net Cc: linux-media@vger.kernel.org Cc: netdev@vger.kernel.org Cc: dev@openvswitch.org Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com> Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8b49a4c759
commit
e5c5d22e8d
16 changed files with 24 additions and 21 deletions
|
@ -681,7 +681,7 @@ static int ovs_packet_cmd_execute(struct sk_buff *skb, struct genl_info *info)
|
|||
/* Normally, setting the skb 'protocol' field would be handled by a
|
||||
* call to eth_type_trans(), but it assumes there's a sending
|
||||
* device, which we may not have. */
|
||||
if (ntohs(eth->h_proto) >= 1536)
|
||||
if (ntohs(eth->h_proto) >= ETH_P_802_3_MIN)
|
||||
packet->protocol = eth->h_proto;
|
||||
else
|
||||
packet->protocol = htons(ETH_P_802_2);
|
||||
|
|
|
@ -466,7 +466,7 @@ static __be16 parse_ethertype(struct sk_buff *skb)
|
|||
proto = *(__be16 *) skb->data;
|
||||
__skb_pull(skb, sizeof(__be16));
|
||||
|
||||
if (ntohs(proto) >= 1536)
|
||||
if (ntohs(proto) >= ETH_P_802_3_MIN)
|
||||
return proto;
|
||||
|
||||
if (skb->len < sizeof(struct llc_snap_hdr))
|
||||
|
@ -483,7 +483,7 @@ static __be16 parse_ethertype(struct sk_buff *skb)
|
|||
|
||||
__skb_pull(skb, sizeof(struct llc_snap_hdr));
|
||||
|
||||
if (ntohs(llc->ethertype) >= 1536)
|
||||
if (ntohs(llc->ethertype) >= ETH_P_802_3_MIN)
|
||||
return llc->ethertype;
|
||||
|
||||
return htons(ETH_P_802_2);
|
||||
|
@ -1038,7 +1038,7 @@ int ovs_flow_from_nlattrs(struct sw_flow_key *swkey, int *key_lenp,
|
|||
|
||||
if (attrs & (1 << OVS_KEY_ATTR_ETHERTYPE)) {
|
||||
swkey->eth.type = nla_get_be16(a[OVS_KEY_ATTR_ETHERTYPE]);
|
||||
if (ntohs(swkey->eth.type) < 1536)
|
||||
if (ntohs(swkey->eth.type) < ETH_P_802_3_MIN)
|
||||
return -EINVAL;
|
||||
attrs &= ~(1 << OVS_KEY_ATTR_ETHERTYPE);
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue