summaryrefslogtreecommitdiffstats
path: root/include/net/addrconf.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-04-29 21:13:14 +0000
committer <ralf@linux-mips.org>1997-04-29 21:13:14 +0000
commit19c9bba94152148523ba0f7ef7cffe3d45656b11 (patch)
tree40b1cb534496a7f1ca0f5c314a523c69f1fee464 /include/net/addrconf.h
parent7206675c40394c78a90e74812bbdbf8cf3cca1be (diff)
Import of Linux/MIPS 2.1.36
Diffstat (limited to 'include/net/addrconf.h')
-rw-r--r--include/net/addrconf.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/include/net/addrconf.h b/include/net/addrconf.h
index 03f9982bd..6a9c00c2a 100644
--- a/include/net/addrconf.h
+++ b/include/net/addrconf.h
@@ -38,9 +38,11 @@ struct prefix_info {
#include <linux/netdevice.h>
#include <net/if_inet6.h>
-extern struct inet6_ifaddr *inet6_addr_lst[16];
-extern struct ipv6_mc_list *inet6_mcast_lst[16];
-extern struct inet6_dev *inet6_dev_lst;
+#define IN6_ADDR_HSIZE 16
+
+extern struct inet6_ifaddr *inet6_addr_lst[IN6_ADDR_HSIZE];
+extern struct ifmcaddr6 *inet6_mcast_lst[IN6_ADDR_HSIZE];
+extern struct inet6_dev *inet6_dev_lst[IN6_ADDR_HSIZE];
extern void addrconf_init(void);
extern void addrconf_cleanup(void);
@@ -51,10 +53,9 @@ extern int addrconf_notify(struct notifier_block *this,
extern int addrconf_add_ifaddr(void *arg);
extern int addrconf_set_dstaddr(void *arg);
-extern int addrconf_get_ifindex(void *arg);
extern struct inet6_ifaddr * ipv6_chk_addr(struct in6_addr *addr);
-extern struct inet6_ifaddr * ipv6_get_saddr(struct rt6_info *rt,
+extern struct inet6_ifaddr * ipv6_get_saddr(struct dst_entry *dst,
struct in6_addr *daddr);
extern struct inet6_ifaddr * ipv6_get_lladdr(struct device *dev);
@@ -80,7 +81,6 @@ extern int ipv6_chk_mcast_addr(struct device *dev,
extern void addrconf_prefix_rcv(struct device *dev,
u8 *opt, int len);
-extern struct inet6_dev * ipv6_dev_by_index(int index);
extern struct inet6_dev * ipv6_get_idev(struct device *dev);
extern void addrconf_forwarding_on(void);
@@ -105,6 +105,11 @@ static __inline__ u8 ipv6_addr_hash(struct in6_addr *addr)
return ((tmp ^ (tmp >> 4)) & 0x0f);
}
+static __inline__ int ipv6_devindex_hash(int ifindex)
+{
+ return ifindex & (IN6_ADDR_HSIZE - 1);
+}
+
/*
* compute link-local solicited-node multicast address
*/