patch-2.1.79 linux/include/net/addrconf.h
Next file: linux/include/net/arp.h
Previous file: linux/include/linux/wanrouter.h
Back to the patch index
Back to the overall index
- Lines: 82
- Date:
Mon Jan 12 15:28:19 1998
- Orig file:
v2.1.78/linux/include/net/addrconf.h
- Orig date:
Thu Sep 4 17:07:31 1997
diff -u --recursive --new-file v2.1.78/linux/include/net/addrconf.h linux/include/net/addrconf.h
@@ -40,10 +40,6 @@
#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);
@@ -55,7 +51,8 @@
extern int addrconf_del_ifaddr(void *arg);
extern int addrconf_set_dstaddr(void *arg);
-extern struct inet6_ifaddr * ipv6_chk_addr(struct in6_addr *addr);
+extern struct inet6_ifaddr * ipv6_chk_addr(struct in6_addr *addr,
+ struct device *dev, int nd);
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);
@@ -64,10 +61,10 @@
* multicast prototypes (mcast.c)
*/
extern int ipv6_sock_mc_join(struct sock *sk,
- struct device *dev,
+ int ifindex,
struct in6_addr *addr);
extern int ipv6_sock_mc_drop(struct sock *sk,
- struct device *dev,
+ int ifindex,
struct in6_addr *addr);
extern void ipv6_sock_mc_close(struct sock *sk);
@@ -75,6 +72,10 @@
struct in6_addr *addr);
extern int ipv6_dev_mc_dec(struct device *dev,
struct in6_addr *addr);
+extern void ipv6_mc_up(struct inet6_dev *idev);
+extern void ipv6_mc_down(struct inet6_dev *idev);
+extern void ipv6_mc_destroy_dev(struct inet6_dev *idev);
+extern void addrconf_dad_failure(struct inet6_ifaddr *ifp);
extern int ipv6_chk_mcast_addr(struct device *dev,
struct in6_addr *addr);
@@ -115,22 +116,32 @@
* compute link-local solicited-node multicast address
*/
-static __inline__ void addrconf_addr_solict_mult(struct in6_addr *addr,
- struct in6_addr *solicited)
+extern __inline__ void addrconf_addr_solict_mult_old(struct in6_addr *addr,
+ struct in6_addr *solicited)
{
ipv6_addr_set(solicited,
__constant_htonl(0xFF020000), 0,
__constant_htonl(0x1), addr->s6_addr32[3]);
}
-static __inline__ void ipv6_addr_all_nodes(struct in6_addr *addr)
+extern __inline__ void addrconf_addr_solict_mult_new(struct in6_addr *addr,
+ struct in6_addr *solicited)
+{
+ ipv6_addr_set(solicited,
+ __constant_htonl(0xFF020000), 0,
+ __constant_htonl(0x1),
+ __constant_htonl(0xFF000000) | addr->s6_addr32[3]);
+}
+
+
+extern __inline__ void ipv6_addr_all_nodes(struct in6_addr *addr)
{
ipv6_addr_set(addr,
__constant_htonl(0xFF020000), 0, 0,
__constant_htonl(0x1));
}
-static __inline__ void ipv6_addr_all_routers(struct in6_addr *addr)
+extern __inline__ void ipv6_addr_all_routers(struct in6_addr *addr)
{
ipv6_addr_set(addr,
__constant_htonl(0xFF020000), 0, 0,
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov