diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/netdevice.h | 9 | ||||
-rw-r--r-- | include/net/dn_route.h | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 71cf409ad17e..b33d084712fa 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -800,6 +800,15 @@ extern int dev_restart(struct net_device *dev); | |||
800 | extern int netpoll_trap(void); | 800 | extern int netpoll_trap(void); |
801 | #endif | 801 | #endif |
802 | 802 | ||
803 | static inline int dev_hard_header(struct sk_buff *skb, struct net_device *dev, | ||
804 | unsigned short type, | ||
805 | void *daddr, void *saddr, unsigned len) | ||
806 | { | ||
807 | if (!dev->hard_header) | ||
808 | return 0; | ||
809 | return dev->hard_header(skb, dev, type, daddr, saddr, len); | ||
810 | } | ||
811 | |||
803 | typedef int gifconf_func_t(struct net_device * dev, char __user * bufptr, int len); | 812 | typedef int gifconf_func_t(struct net_device * dev, char __user * bufptr, int len); |
804 | extern int register_gifconf(unsigned int family, gifconf_func_t * gifconf); | 813 | extern int register_gifconf(unsigned int family, gifconf_func_t * gifconf); |
805 | static inline int unregister_gifconf(unsigned int family) | 814 | static inline int unregister_gifconf(unsigned int family) |
diff --git a/include/net/dn_route.h b/include/net/dn_route.h index c10e8e7e59a7..60c9f22d8694 100644 --- a/include/net/dn_route.h +++ b/include/net/dn_route.h | |||
@@ -100,8 +100,7 @@ static inline void dn_rt_finish_output(struct sk_buff *skb, char *dst, char *src | |||
100 | if ((dev->type != ARPHRD_ETHER) && (dev->type != ARPHRD_LOOPBACK)) | 100 | if ((dev->type != ARPHRD_ETHER) && (dev->type != ARPHRD_LOOPBACK)) |
101 | dst = NULL; | 101 | dst = NULL; |
102 | 102 | ||
103 | if (!dev->hard_header || (dev->hard_header(skb, dev, ETH_P_DNA_RT, | 103 | if (dev_hard_header(skb, dev, ETH_P_DNA_RT, dst, src, skb->len) >= 0) |
104 | dst, src, skb->len) >= 0)) | ||
105 | dn_rt_send(skb); | 104 | dn_rt_send(skb); |
106 | else | 105 | else |
107 | kfree_skb(skb); | 106 | kfree_skb(skb); |