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 /drivers | |
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 'drivers')
-rw-r--r-- | drivers/net/hamradio/bpqether.c | 2 | ||||
-rw-r--r-- | drivers/net/macvlan.c | 4 | ||||
-rw-r--r-- | drivers/net/pppoe.c | 8 | ||||
-rw-r--r-- | drivers/net/wan/lapbether.c | 2 |
4 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/hamradio/bpqether.c b/drivers/net/hamradio/bpqether.c index c05bc37df3..4bff23e3b9 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 2f6cdaa887..a22087ca96 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 | ||
177 | static int macvlan_open(struct net_device *dev) | 177 | static int macvlan_open(struct net_device *dev) |
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index d48b7b73d8..8936ed3469 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 36e683ccae..fb37b80952 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 | } |