summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@nuts.ninka.net>2002-10-08 03:41:44 -0700
committerDavid S. Miller <davem@nuts.ninka.net>2002-10-08 03:41:44 -0700
commitac3ebbfb0223690fb57e8782e77a1a2e2f101c05 (patch)
tree288c7a803c79defbaf32679d319fa5596381de2c /include
parent225e7f5848af465083e8fb81b2a096c0405c5b62 (diff)
parente442c99d5c701c41fcade3e6d7e32ac19b4d1ba5 (diff)
Merge nuts.ninka.net:/home/davem/src/BK/network-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5
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
-rw-r--r--include/net/protocol.h20
-rw-r--r--include/net/raw.h2
-rw-r--r--include/net/rawv6.h4
6 files changed, 14 insertions, 25 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);
diff --git a/include/net/protocol.h b/include/net/protocol.h
index 5a242e8054b3..9ba874a3d18f 100644
--- a/include/net/protocol.h
+++ b/include/net/protocol.h
@@ -30,7 +30,7 @@
#include <linux/ipv6.h>
#endif
-#define MAX_INET_PROTOS 32 /* Must be a power of 2 */
+#define MAX_INET_PROTOS 256 /* Must be a power of 2 */
/* This is used to register protocols. */
@@ -38,11 +38,6 @@ struct inet_protocol
{
int (*handler)(struct sk_buff *skb);
void (*err_handler)(struct sk_buff *skb, u32 info);
- struct inet_protocol *next;
- unsigned char protocol;
- unsigned char copy:1;
- void *data;
- const char *name;
};
#if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)
@@ -54,11 +49,6 @@ struct inet6_protocol
struct inet6_skb_parm *opt,
int type, int code, int offset,
__u32 info);
- struct inet6_protocol *next;
- unsigned char protocol;
- unsigned char copy:1;
- void *data;
- const char *name;
};
#endif
@@ -93,14 +83,14 @@ extern struct inet6_protocol *inet6_protos[MAX_INET_PROTOS];
extern struct list_head inetsw6[SOCK_MAX];
#endif
-extern void inet_add_protocol(struct inet_protocol *prot);
-extern int inet_del_protocol(struct inet_protocol *prot);
+extern int inet_add_protocol(struct inet_protocol *prot, unsigned char num);
+extern int inet_del_protocol(struct inet_protocol *prot, unsigned char num);
extern void inet_register_protosw(struct inet_protosw *p);
extern void inet_unregister_protosw(struct inet_protosw *p);
#if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)
-extern void inet6_add_protocol(struct inet6_protocol *prot);
-extern int inet6_del_protocol(struct inet6_protocol *prot);
+extern int inet6_add_protocol(struct inet6_protocol *prot, unsigned char num);
+extern int inet6_del_protocol(struct inet6_protocol *prot, unsigned char num);
extern void inet6_register_protosw(struct inet_protosw *p);
extern void inet6_unregister_protosw(struct inet_protosw *p);
#endif
diff --git a/include/net/raw.h b/include/net/raw.h
index 00c25f236f40..2838290e9e40 100644
--- a/include/net/raw.h
+++ b/include/net/raw.h
@@ -37,6 +37,6 @@ extern struct sock *__raw_v4_lookup(struct sock *sk, unsigned short num,
unsigned long raddr, unsigned long laddr,
int dif);
-extern struct sock *raw_v4_input(struct sk_buff *skb, struct iphdr *iph, int hash);
+extern void raw_v4_input(struct sk_buff *skb, struct iphdr *iph, int hash);
#endif /* _RAW_H */
diff --git a/include/net/rawv6.h b/include/net/rawv6.h
index c8ddaaa10933..74798b25a7c5 100644
--- a/include/net/rawv6.h
+++ b/include/net/rawv6.h
@@ -7,9 +7,7 @@
extern struct sock *raw_v6_htable[RAWV6_HTABLE_SIZE];
extern rwlock_t raw_v6_lock;
-extern struct sock * ipv6_raw_deliver(struct sk_buff *skb,
- int nexthdr);
-
+extern void ipv6_raw_deliver(struct sk_buff *skb, int nexthdr);
extern struct sock *__raw_v6_lookup(struct sock *sk, unsigned short num,
struct in6_addr *loc_addr, struct in6_addr *rmt_addr);