diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1997-04-29 21:13:14 +0000 |
---|---|---|
committer | <ralf@linux-mips.org> | 1997-04-29 21:13:14 +0000 |
commit | 19c9bba94152148523ba0f7ef7cffe3d45656b11 (patch) | |
tree | 40b1cb534496a7f1ca0f5c314a523c69f1fee464 /include/net/addrconf.h | |
parent | 7206675c40394c78a90e74812bbdbf8cf3cca1be (diff) |
Import of Linux/MIPS 2.1.36
Diffstat (limited to 'include/net/addrconf.h')
-rw-r--r-- | include/net/addrconf.h | 17 |
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 */ |