diff options
| author | Simon Horman <horms@verge.net.au> | 2013-03-28 00:38:25 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-03-28 01:20:42 -0400 |
| commit | e5c5d22e8dcf7c2d430336cbf8e180bd38e8daf1 (patch) | |
| tree | 085634668082dc359bad9ff504f725423e947bb8 /drivers | |
| parent | 8b49a4c75965ed157e21450d23dcadd6b27c1aa3 (diff) | |
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>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/firewire/net.c | 2 | ||||
| -rw-r--r-- | drivers/isdn/i4l/isdn_net.c | 2 | ||||
| -rw-r--r-- | drivers/media/dvb-core/dvb_net.c | 10 | ||||
| -rw-r--r-- | drivers/net/ethernet/sun/niu.c | 2 | ||||
| -rw-r--r-- | drivers/net/plip/plip.c | 2 | ||||
| -rw-r--r-- | drivers/net/wireless/ray_cs.c | 2 |
6 files changed, 10 insertions, 10 deletions
diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c index 56796330a162..4d565365e476 100644 --- a/drivers/firewire/net.c +++ b/drivers/firewire/net.c | |||
| @@ -547,7 +547,7 @@ static int fwnet_finish_incoming_packet(struct net_device *net, | |||
| 547 | if (memcmp(eth->h_dest, net->dev_addr, net->addr_len)) | 547 | if (memcmp(eth->h_dest, net->dev_addr, net->addr_len)) |
| 548 | skb->pkt_type = PACKET_OTHERHOST; | 548 | skb->pkt_type = PACKET_OTHERHOST; |
| 549 | } | 549 | } |
| 550 | if (ntohs(eth->h_proto) >= 1536) { | 550 | if (ntohs(eth->h_proto) >= ETH_P_802_3_MIN) { |
| 551 | protocol = eth->h_proto; | 551 | protocol = eth->h_proto; |
| 552 | } else { | 552 | } else { |
| 553 | rawp = (u16 *)skb->data; | 553 | rawp = (u16 *)skb->data; |
diff --git a/drivers/isdn/i4l/isdn_net.c b/drivers/isdn/i4l/isdn_net.c index babc621a07fb..88d657dff474 100644 --- a/drivers/isdn/i4l/isdn_net.c +++ b/drivers/isdn/i4l/isdn_net.c | |||
| @@ -1385,7 +1385,7 @@ isdn_net_type_trans(struct sk_buff *skb, struct net_device *dev) | |||
| 1385 | if (memcmp(eth->h_dest, dev->dev_addr, ETH_ALEN)) | 1385 | if (memcmp(eth->h_dest, dev->dev_addr, ETH_ALEN)) |
| 1386 | skb->pkt_type = PACKET_OTHERHOST; | 1386 | skb->pkt_type = PACKET_OTHERHOST; |
| 1387 | } | 1387 | } |
| 1388 | if (ntohs(eth->h_proto) >= 1536) | 1388 | if (ntohs(eth->h_proto) >= ETH_P_802_3_MIN) |
| 1389 | return eth->h_proto; | 1389 | return eth->h_proto; |
| 1390 | 1390 | ||
| 1391 | rawp = skb->data; | 1391 | rawp = skb->data; |
diff --git a/drivers/media/dvb-core/dvb_net.c b/drivers/media/dvb-core/dvb_net.c index 44225b186f6d..83a23afb13ab 100644 --- a/drivers/media/dvb-core/dvb_net.c +++ b/drivers/media/dvb-core/dvb_net.c | |||
| @@ -185,7 +185,7 @@ static __be16 dvb_net_eth_type_trans(struct sk_buff *skb, | |||
| 185 | skb->pkt_type=PACKET_MULTICAST; | 185 | skb->pkt_type=PACKET_MULTICAST; |
| 186 | } | 186 | } |
| 187 | 187 | ||
| 188 | if (ntohs(eth->h_proto) >= 1536) | 188 | if (ntohs(eth->h_proto) >= ETH_P_802_3_MIN) |
| 189 | return eth->h_proto; | 189 | return eth->h_proto; |
| 190 | 190 | ||
| 191 | rawp = skb->data; | 191 | rawp = skb->data; |
| @@ -228,9 +228,9 @@ static int ule_test_sndu( struct dvb_net_priv *p ) | |||
| 228 | static int ule_bridged_sndu( struct dvb_net_priv *p ) | 228 | static int ule_bridged_sndu( struct dvb_net_priv *p ) |
| 229 | { | 229 | { |
| 230 | struct ethhdr *hdr = (struct ethhdr*) p->ule_next_hdr; | 230 | struct ethhdr *hdr = (struct ethhdr*) p->ule_next_hdr; |
| 231 | if(ntohs(hdr->h_proto) < 1536) { | 231 | if(ntohs(hdr->h_proto) < ETH_P_802_3_MIN) { |
| 232 | int framelen = p->ule_sndu_len - ((p->ule_next_hdr+sizeof(struct ethhdr)) - p->ule_skb->data); | 232 | int framelen = p->ule_sndu_len - ((p->ule_next_hdr+sizeof(struct ethhdr)) - p->ule_skb->data); |
| 233 | /* A frame Type < 1536 for a bridged frame, introduces a LLC Length field. */ | 233 | /* A frame Type < ETH_P_802_3_MIN for a bridged frame, introduces a LLC Length field. */ |
| 234 | if(framelen != ntohs(hdr->h_proto)) { | 234 | if(framelen != ntohs(hdr->h_proto)) { |
| 235 | return -1; | 235 | return -1; |
| 236 | } | 236 | } |
| @@ -320,7 +320,7 @@ static int handle_ule_extensions( struct dvb_net_priv *p ) | |||
| 320 | (int) p->ule_sndu_type, l, total_ext_len); | 320 | (int) p->ule_sndu_type, l, total_ext_len); |
| 321 | #endif | 321 | #endif |
| 322 | 322 | ||
| 323 | } while (p->ule_sndu_type < 1536); | 323 | } while (p->ule_sndu_type < ETH_P_802_3_MIN); |
| 324 | 324 | ||
| 325 | return total_ext_len; | 325 | return total_ext_len; |
| 326 | } | 326 | } |
| @@ -712,7 +712,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) | |||
| 712 | } | 712 | } |
| 713 | 713 | ||
| 714 | /* Handle ULE Extension Headers. */ | 714 | /* Handle ULE Extension Headers. */ |
| 715 | if (priv->ule_sndu_type < 1536) { | 715 | if (priv->ule_sndu_type < ETH_P_802_3_MIN) { |
| 716 | /* There is an extension header. Handle it accordingly. */ | 716 | /* There is an extension header. Handle it accordingly. */ |
| 717 | int l = handle_ule_extensions(priv); | 717 | int l = handle_ule_extensions(priv); |
| 718 | if (l < 0) { | 718 | if (l < 0) { |
diff --git a/drivers/net/ethernet/sun/niu.c b/drivers/net/ethernet/sun/niu.c index e4c1c88e4c2a..95cff98d8a34 100644 --- a/drivers/net/ethernet/sun/niu.c +++ b/drivers/net/ethernet/sun/niu.c | |||
| @@ -6618,7 +6618,7 @@ static u64 niu_compute_tx_flags(struct sk_buff *skb, struct ethhdr *ehdr, | |||
| 6618 | (len << TXHDR_LEN_SHIFT) | | 6618 | (len << TXHDR_LEN_SHIFT) | |
| 6619 | ((l3off / 2) << TXHDR_L3START_SHIFT) | | 6619 | ((l3off / 2) << TXHDR_L3START_SHIFT) | |
| 6620 | (ihl << TXHDR_IHL_SHIFT) | | 6620 | (ihl << TXHDR_IHL_SHIFT) | |
| 6621 | ((eth_proto_inner < 1536) ? TXHDR_LLC : 0) | | 6621 | ((eth_proto_inner < ETH_P_802_3_MIN) ? TXHDR_LLC : 0) | |
| 6622 | ((eth_proto == ETH_P_8021Q) ? TXHDR_VLAN : 0) | | 6622 | ((eth_proto == ETH_P_8021Q) ? TXHDR_VLAN : 0) | |
| 6623 | (ipv6 ? TXHDR_IP_VER : 0) | | 6623 | (ipv6 ? TXHDR_IP_VER : 0) | |
| 6624 | csum_bits); | 6624 | csum_bits); |
diff --git a/drivers/net/plip/plip.c b/drivers/net/plip/plip.c index bed62d9c53c8..1f7bef90b467 100644 --- a/drivers/net/plip/plip.c +++ b/drivers/net/plip/plip.c | |||
| @@ -560,7 +560,7 @@ static __be16 plip_type_trans(struct sk_buff *skb, struct net_device *dev) | |||
| 560 | * so don't forget to remove it. | 560 | * so don't forget to remove it. |
| 561 | */ | 561 | */ |
| 562 | 562 | ||
| 563 | if (ntohs(eth->h_proto) >= 1536) | 563 | if (ntohs(eth->h_proto) >= ETH_P_802_3_MIN) |
| 564 | return eth->h_proto; | 564 | return eth->h_proto; |
| 565 | 565 | ||
| 566 | rawp = skb->data; | 566 | rawp = skb->data; |
diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c index 4775b5d172d5..ebada812b3a5 100644 --- a/drivers/net/wireless/ray_cs.c +++ b/drivers/net/wireless/ray_cs.c | |||
| @@ -953,7 +953,7 @@ static int translate_frame(ray_dev_t *local, struct tx_msg __iomem *ptx, | |||
| 953 | unsigned char *data, int len) | 953 | unsigned char *data, int len) |
| 954 | { | 954 | { |
| 955 | __be16 proto = ((struct ethhdr *)data)->h_proto; | 955 | __be16 proto = ((struct ethhdr *)data)->h_proto; |
| 956 | if (ntohs(proto) >= 1536) { /* DIX II ethernet frame */ | 956 | if (ntohs(proto) >= ETH_P_802_3_MIN) { /* DIX II ethernet frame */ |
| 957 | pr_debug("ray_cs translate_frame DIX II\n"); | 957 | pr_debug("ray_cs translate_frame DIX II\n"); |
| 958 | /* Copy LLC header to card buffer */ | 958 | /* Copy LLC header to card buffer */ |
| 959 | memcpy_toio(&ptx->var, eth2_llc, sizeof(eth2_llc)); | 959 | memcpy_toio(&ptx->var, eth2_llc, sizeof(eth2_llc)); |
