aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
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 /drivers/net
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 'drivers/net')
-rw-r--r--drivers/net/hamradio/bpqether.c2
-rw-r--r--drivers/net/macvlan.c4
-rw-r--r--drivers/net/pppoe.c8
-rw-r--r--drivers/net/wan/lapbether.c2
4 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/hamradio/bpqether.c b/drivers/net/hamradio/bpqether.c
index c05bc37df356..4bff23e3b970 100644
--- a/drivers/net/hamradio/bpqether.c
+++ b/drivers/net/hamradio/bpqether.c
@@ -286,7 +286,7 @@ static int bpq_xmit(struct sk_buff *skb, struct net_device *dev)
286 286
287 skb->protocol = ax25_type_trans(skb, dev); 287 skb->protocol = ax25_type_trans(skb, dev);
288 skb_reset_network_header(skb); 288 skb_reset_network_header(skb);
289 dev->hard_header(skb, dev, ETH_P_BPQ, bpq->dest_addr, NULL, 0); 289 dev_hard_header(skb, dev, ETH_P_BPQ, bpq->dest_addr, NULL, 0);
290 bpq->stats.tx_packets++; 290 bpq->stats.tx_packets++;
291 bpq->stats.tx_bytes+=skb->len; 291 bpq->stats.tx_bytes+=skb->len;
292 292
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index 2f6cdaa88729..a22087ca968d 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -170,8 +170,8 @@ static int macvlan_hard_header(struct sk_buff *skb, struct net_device *dev,
170 const struct macvlan_dev *vlan = netdev_priv(dev); 170 const struct macvlan_dev *vlan = netdev_priv(dev);
171 struct net_device *lowerdev = vlan->lowerdev; 171 struct net_device *lowerdev = vlan->lowerdev;
172 172
173 return lowerdev->hard_header(skb, lowerdev, type, daddr, 173 return dev_hard_header(skb, lowerdev, type, daddr,
174 saddr ? : dev->dev_addr, len); 174 saddr ? : dev->dev_addr, len);
175} 175}
176 176
177static int macvlan_open(struct net_device *dev) 177static int macvlan_open(struct net_device *dev)
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c
index d48b7b73d896..8936ed3469cf 100644
--- a/drivers/net/pppoe.c
+++ b/drivers/net/pppoe.c
@@ -834,8 +834,8 @@ static int pppoe_sendmsg(struct kiocb *iocb, struct socket *sock,
834 } 834 }
835 835
836 error = total_len; 836 error = total_len;
837 dev->hard_header(skb, dev, ETH_P_PPP_SES, 837 dev_hard_header(skb, dev, ETH_P_PPP_SES,
838 po->pppoe_pa.remote, NULL, total_len); 838 po->pppoe_pa.remote, NULL, total_len);
839 839
840 memcpy(ph, &hdr, sizeof(struct pppoe_hdr)); 840 memcpy(ph, &hdr, sizeof(struct pppoe_hdr));
841 841
@@ -886,8 +886,8 @@ static int __pppoe_xmit(struct sock *sk, struct sk_buff *skb)
886 skb->protocol = __constant_htons(ETH_P_PPP_SES); 886 skb->protocol = __constant_htons(ETH_P_PPP_SES);
887 skb->dev = dev; 887 skb->dev = dev;
888 888
889 dev->hard_header(skb, dev, ETH_P_PPP_SES, 889 dev_hard_header(skb, dev, ETH_P_PPP_SES,
890 po->pppoe_pa.remote, NULL, data_len); 890 po->pppoe_pa.remote, NULL, data_len);
891 891
892 dev_queue_xmit(skb); 892 dev_queue_xmit(skb);
893 893
diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c
index 36e683ccae5e..fb37b8095231 100644
--- a/drivers/net/wan/lapbether.c
+++ b/drivers/net/wan/lapbether.c
@@ -216,7 +216,7 @@ static void lapbeth_data_transmit(struct net_device *ndev, struct sk_buff *skb)
216 216
217 skb->dev = dev = lapbeth->ethdev; 217 skb->dev = dev = lapbeth->ethdev;
218 218
219 dev->hard_header(skb, dev, ETH_P_DEC, bcast_addr, NULL, 0); 219 dev_hard_header(skb, dev, ETH_P_DEC, bcast_addr, NULL, 0);
220 220
221 dev_queue_xmit(skb); 221 dev_queue_xmit(skb);
222} 222}