diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-10-09 04:36:32 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:52:50 -0400 |
commit | 0c4e85813d0a94eeb8bf813397a4907bdd7bb610 (patch) | |
tree | 53ee948abc930bb1c5cd270c490f87fda5eb45b3 /net/ipv4 | |
parent | 4c94f8c0c9a82fad84bc5df453aff755cfed70b7 (diff) |
[NET]: Wrap netdevice hardware header creation.
Add inline for common usage of hardware header creation, and
fix bug in IPV6 mcast where the assumption about negative return is
an errno. Negative return from hard_header means not enough space
was available,(ie -N bytes).
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/arp.c | 3 | ||||
-rw-r--r-- | net/ipv4/ipconfig.c | 4 |
2 files changed, 3 insertions, 4 deletions
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index 3a683006d761..5b24c65b13c6 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c | |||
@@ -591,8 +591,7 @@ struct sk_buff *arp_create(int type, int ptype, __be32 dest_ip, | |||
591 | /* | 591 | /* |
592 | * Fill the device header for the ARP frame | 592 | * Fill the device header for the ARP frame |
593 | */ | 593 | */ |
594 | if (dev->hard_header && | 594 | if (dev_hard_header(skb, dev, ptype, dest_hw, src_hw, skb->len) < 0) |
595 | dev->hard_header(skb,dev,ptype,dest_hw,src_hw,skb->len) < 0) | ||
596 | goto out; | 595 | goto out; |
597 | 596 | ||
598 | /* | 597 | /* |
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c index af5d5b39fc13..c5c107a01823 100644 --- a/net/ipv4/ipconfig.c +++ b/net/ipv4/ipconfig.c | |||
@@ -757,8 +757,8 @@ static void __init ic_bootp_send_if(struct ic_device *d, unsigned long jiffies_d | |||
757 | /* Chain packet down the line... */ | 757 | /* Chain packet down the line... */ |
758 | skb->dev = dev; | 758 | skb->dev = dev; |
759 | skb->protocol = htons(ETH_P_IP); | 759 | skb->protocol = htons(ETH_P_IP); |
760 | if ((dev->hard_header && | 760 | if (dev_hard_header(skb, dev, ntohs(skb->protocol), |
761 | dev->hard_header(skb, dev, ntohs(skb->protocol), dev->broadcast, dev->dev_addr, skb->len) < 0) || | 761 | dev->broadcast, dev->dev_addr, skb->len) < 0 || |
762 | dev_queue_xmit(skb) < 0) | 762 | dev_queue_xmit(skb) < 0) |
763 | printk("E"); | 763 | printk("E"); |
764 | } | 764 | } |