From fa062f2c73db22c652ffe37d2887eece78fdd4b7 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Tue, 8 Oct 2002 01:00:44 -0700 Subject: [DECNET]: New autoconfiguration code for 2.5 --- include/net/dn.h | 1 - include/net/dn_dev.h | 8 +++++--- include/net/dn_route.h | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) (limited to 'include/net') diff --git a/include/net/dn.h b/include/net/dn.h index b21eb8c29682..0954190afd4f 100644 --- a/include/net/dn.h +++ b/include/net/dn.h @@ -211,7 +211,6 @@ extern void dn_start_fast_timer(struct sock *sk); extern void dn_stop_fast_timer(struct sock *sk); extern dn_address decnet_address; -extern unsigned char decnet_ether_address[6]; extern int decnet_debug_level; extern int decnet_time_wait; extern int decnet_dn_count; diff --git a/include/net/dn_dev.h b/include/net/dn_dev.h index b042b8248b4a..49e455fb58e7 100644 --- a/include/net/dn_dev.h +++ b/include/net/dn_dev.h @@ -57,7 +57,7 @@ struct dn_ifaddr { * up() - Called to initialize device, return value can veto use of * device with DECnet. * down() - Called to turn device off when it goes down - * timer3() - Called when timer 3 goes off + * timer3() - Called once for each ifaddr when timer 3 goes off * * sysctl - Hook for sysctl things * @@ -78,7 +78,7 @@ struct dn_dev_parms { int ctl_name; /* Index for sysctl */ int (*up)(struct net_device *); void (*down)(struct net_device *); - void (*timer3)(struct net_device *); + void (*timer3)(struct net_device *, struct dn_ifaddr *ifa); void *sysctl; }; @@ -167,7 +167,9 @@ extern void dn_dev_hello(struct sk_buff *skb); extern void dn_dev_up(struct net_device *); extern void dn_dev_down(struct net_device *); -extern struct net_device *decnet_default_device; +extern int dn_dev_set_default(struct net_device *dev, int force); +extern struct net_device *dn_dev_get_default(void); +extern int dn_dev_bind_default(dn_address *addr); static __inline__ int dn_dev_islocal(struct net_device *dev, dn_address addr) { diff --git a/include/net/dn_route.h b/include/net/dn_route.h index 16686ea1e968..5ad620b3623f 100644 --- a/include/net/dn_route.h +++ b/include/net/dn_route.h @@ -96,7 +96,7 @@ static inline void dn_rt_send(struct sk_buff *skb) dev_queue_xmit(skb); } -static inline void dn_rt_finish_output(struct sk_buff *skb, char *dst) +static inline void dn_rt_finish_output(struct sk_buff *skb, char *dst, char *src) { struct net_device *dev = skb->dev; @@ -104,7 +104,7 @@ static inline void dn_rt_finish_output(struct sk_buff *skb, char *dst) dst = NULL; if (!dev->hard_header || (dev->hard_header(skb, dev, ETH_P_DNA_RT, - dst, NULL, skb->len) >= 0)) + dst, src, skb->len) >= 0)) dn_rt_send(skb); else kfree_skb(skb); -- cgit v1.2.3