summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/net/dn.h1
-rw-r--r--include/net/dn_dev.h8
-rw-r--r--include/net/dn_route.h4
3 files changed, 7 insertions, 6 deletions
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);