aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2007-10-09 04:36:32 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:52:50 -0400
commit0c4e85813d0a94eeb8bf813397a4907bdd7bb610 (patch)
tree53ee948abc930bb1c5cd270c490f87fda5eb45b3 /net/ipv4
parent4c94f8c0c9a82fad84bc5df453aff755cfed70b7 (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.c3
-rw-r--r--net/ipv4/ipconfig.c4
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}