llc: use dev_hard_header
Using dev_hard_header allows us to use LLC with VLANs and potentially other Ethernet/TokernRing specific encapsulations. It also removes code duplication between LLC and Ethernet/TokenRing core code. Signed-off-by: Octavian Purdila <opurdila@ixiacom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
f83d664eef
commit
bf9ae5386b
@@ -73,8 +73,8 @@ __setup("ether=", netdev_boot_setup);
|
||||
* @len: packet length (<= skb->len)
|
||||
*
|
||||
*
|
||||
* Set the protocol type. For a packet of type ETH_P_802_3 we put the length
|
||||
* in here instead. It is up to the 802.2 layer to carry protocol information.
|
||||
* Set the protocol type. For a packet of type ETH_P_802_3/2 we put the length
|
||||
* in here instead.
|
||||
*/
|
||||
int eth_header(struct sk_buff *skb, struct net_device *dev,
|
||||
unsigned short type,
|
||||
@@ -82,7 +82,7 @@ int eth_header(struct sk_buff *skb, struct net_device *dev,
|
||||
{
|
||||
struct ethhdr *eth = (struct ethhdr *)skb_push(skb, ETH_HLEN);
|
||||
|
||||
if (type != ETH_P_802_3)
|
||||
if (type != ETH_P_802_3 && type != ETH_P_802_2)
|
||||
eth->h_proto = htons(type);
|
||||
else
|
||||
eth->h_proto = htons(len);
|
||||
|
Reference in New Issue
Block a user