|
@@ -53,51 +53,36 @@ struct prefix_info {
|
|
|
#define IN6_ADDR_HSIZE_SHIFT 4
|
|
|
#define IN6_ADDR_HSIZE (1 << IN6_ADDR_HSIZE_SHIFT)
|
|
|
|
|
|
-extern int addrconf_init(void);
|
|
|
-extern void addrconf_cleanup(void);
|
|
|
+int addrconf_init(void);
|
|
|
+void addrconf_cleanup(void);
|
|
|
|
|
|
-extern int addrconf_add_ifaddr(struct net *net,
|
|
|
- void __user *arg);
|
|
|
-extern int addrconf_del_ifaddr(struct net *net,
|
|
|
- void __user *arg);
|
|
|
-extern int addrconf_set_dstaddr(struct net *net,
|
|
|
- void __user *arg);
|
|
|
+int addrconf_add_ifaddr(struct net *net, void __user *arg);
|
|
|
+int addrconf_del_ifaddr(struct net *net, void __user *arg);
|
|
|
+int addrconf_set_dstaddr(struct net *net, void __user *arg);
|
|
|
|
|
|
-extern int ipv6_chk_addr(struct net *net,
|
|
|
- const struct in6_addr *addr,
|
|
|
- const struct net_device *dev,
|
|
|
- int strict);
|
|
|
+int ipv6_chk_addr(struct net *net, const struct in6_addr *addr,
|
|
|
+ const struct net_device *dev, int strict);
|
|
|
|
|
|
#if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
|
|
|
-extern int ipv6_chk_home_addr(struct net *net,
|
|
|
- const struct in6_addr *addr);
|
|
|
+int ipv6_chk_home_addr(struct net *net, const struct in6_addr *addr);
|
|
|
#endif
|
|
|
|
|
|
-extern int ipv6_chk_prefix(const struct in6_addr *addr,
|
|
|
- struct net_device *dev);
|
|
|
-
|
|
|
-extern struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net,
|
|
|
- const struct in6_addr *addr,
|
|
|
- struct net_device *dev,
|
|
|
- int strict);
|
|
|
-
|
|
|
-extern int ipv6_dev_get_saddr(struct net *net,
|
|
|
- const struct net_device *dev,
|
|
|
- const struct in6_addr *daddr,
|
|
|
- unsigned int srcprefs,
|
|
|
- struct in6_addr *saddr);
|
|
|
-extern int __ipv6_get_lladdr(struct inet6_dev *idev,
|
|
|
- struct in6_addr *addr,
|
|
|
- unsigned char banned_flags);
|
|
|
-extern int ipv6_get_lladdr(struct net_device *dev,
|
|
|
- struct in6_addr *addr,
|
|
|
- unsigned char banned_flags);
|
|
|
-extern int ipv6_rcv_saddr_equal(const struct sock *sk,
|
|
|
- const struct sock *sk2);
|
|
|
-extern void addrconf_join_solict(struct net_device *dev,
|
|
|
- const struct in6_addr *addr);
|
|
|
-extern void addrconf_leave_solict(struct inet6_dev *idev,
|
|
|
- const struct in6_addr *addr);
|
|
|
+int ipv6_chk_prefix(const struct in6_addr *addr, struct net_device *dev);
|
|
|
+
|
|
|
+struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net,
|
|
|
+ const struct in6_addr *addr,
|
|
|
+ struct net_device *dev, int strict);
|
|
|
+
|
|
|
+int ipv6_dev_get_saddr(struct net *net, const struct net_device *dev,
|
|
|
+ const struct in6_addr *daddr, unsigned int srcprefs,
|
|
|
+ struct in6_addr *saddr);
|
|
|
+int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
|
|
|
+ unsigned char banned_flags);
|
|
|
+int ipv6_get_lladdr(struct net_device *dev, struct in6_addr *addr,
|
|
|
+ unsigned char banned_flags);
|
|
|
+int ipv6_rcv_saddr_equal(const struct sock *sk, const struct sock *sk2);
|
|
|
+void addrconf_join_solict(struct net_device *dev, const struct in6_addr *addr);
|
|
|
+void addrconf_leave_solict(struct inet6_dev *idev, const struct in6_addr *addr);
|
|
|
|
|
|
static inline unsigned long addrconf_timeout_fixup(u32 timeout,
|
|
|
unsigned int unit)
|
|
@@ -124,41 +109,38 @@ static inline int addrconf_finite_timeout(unsigned long timeout)
|
|
|
/*
|
|
|
* IPv6 Address Label subsystem (addrlabel.c)
|
|
|
*/
|
|
|
-extern int ipv6_addr_label_init(void);
|
|
|
-extern void ipv6_addr_label_cleanup(void);
|
|
|
-extern void ipv6_addr_label_rtnl_register(void);
|
|
|
-extern u32 ipv6_addr_label(struct net *net,
|
|
|
- const struct in6_addr *addr,
|
|
|
- int type, int ifindex);
|
|
|
+int ipv6_addr_label_init(void);
|
|
|
+void ipv6_addr_label_cleanup(void);
|
|
|
+void ipv6_addr_label_rtnl_register(void);
|
|
|
+u32 ipv6_addr_label(struct net *net, const struct in6_addr *addr,
|
|
|
+ int type, int ifindex);
|
|
|
|
|
|
/*
|
|
|
* multicast prototypes (mcast.c)
|
|
|
*/
|
|
|
-extern int ipv6_sock_mc_join(struct sock *sk, int ifindex,
|
|
|
- const struct in6_addr *addr);
|
|
|
-extern int ipv6_sock_mc_drop(struct sock *sk, int ifindex,
|
|
|
- const struct in6_addr *addr);
|
|
|
-extern void ipv6_sock_mc_close(struct sock *sk);
|
|
|
-extern bool inet6_mc_check(struct sock *sk,
|
|
|
- const struct in6_addr *mc_addr,
|
|
|
- const struct in6_addr *src_addr);
|
|
|
-
|
|
|
-extern int ipv6_dev_mc_inc(struct net_device *dev, const struct in6_addr *addr);
|
|
|
-extern int __ipv6_dev_mc_dec(struct inet6_dev *idev, const struct in6_addr *addr);
|
|
|
-extern int ipv6_dev_mc_dec(struct net_device *dev, const 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_unmap(struct inet6_dev *idev);
|
|
|
-extern void ipv6_mc_remap(struct inet6_dev *idev);
|
|
|
-extern void ipv6_mc_init_dev(struct inet6_dev *idev);
|
|
|
-extern void ipv6_mc_destroy_dev(struct inet6_dev *idev);
|
|
|
-extern void addrconf_dad_failure(struct inet6_ifaddr *ifp);
|
|
|
-
|
|
|
-extern bool ipv6_chk_mcast_addr(struct net_device *dev,
|
|
|
- const struct in6_addr *group,
|
|
|
- const struct in6_addr *src_addr);
|
|
|
-
|
|
|
-extern void ipv6_mc_dad_complete(struct inet6_dev *idev);
|
|
|
+int ipv6_sock_mc_join(struct sock *sk, int ifindex,
|
|
|
+ const struct in6_addr *addr);
|
|
|
+int ipv6_sock_mc_drop(struct sock *sk, int ifindex,
|
|
|
+ const struct in6_addr *addr);
|
|
|
+void ipv6_sock_mc_close(struct sock *sk);
|
|
|
+bool inet6_mc_check(struct sock *sk, const struct in6_addr *mc_addr,
|
|
|
+ const struct in6_addr *src_addr);
|
|
|
+
|
|
|
+int ipv6_dev_mc_inc(struct net_device *dev, const struct in6_addr *addr);
|
|
|
+int __ipv6_dev_mc_dec(struct inet6_dev *idev, const struct in6_addr *addr);
|
|
|
+int ipv6_dev_mc_dec(struct net_device *dev, const struct in6_addr *addr);
|
|
|
+void ipv6_mc_up(struct inet6_dev *idev);
|
|
|
+void ipv6_mc_down(struct inet6_dev *idev);
|
|
|
+void ipv6_mc_unmap(struct inet6_dev *idev);
|
|
|
+void ipv6_mc_remap(struct inet6_dev *idev);
|
|
|
+void ipv6_mc_init_dev(struct inet6_dev *idev);
|
|
|
+void ipv6_mc_destroy_dev(struct inet6_dev *idev);
|
|
|
+void addrconf_dad_failure(struct inet6_ifaddr *ifp);
|
|
|
+
|
|
|
+bool ipv6_chk_mcast_addr(struct net_device *dev, const struct in6_addr *group,
|
|
|
+ const struct in6_addr *src_addr);
|
|
|
+
|
|
|
+void ipv6_mc_dad_complete(struct inet6_dev *idev);
|
|
|
/*
|
|
|
* identify MLD packets for MLD filter exceptions
|
|
|
*/
|
|
@@ -184,29 +166,31 @@ static inline bool ipv6_is_mld(struct sk_buff *skb, int nexthdr, int offset)
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-extern void addrconf_prefix_rcv(struct net_device *dev,
|
|
|
- u8 *opt, int len, bool sllao);
|
|
|
+void addrconf_prefix_rcv(struct net_device *dev,
|
|
|
+ u8 *opt, int len, bool sllao);
|
|
|
|
|
|
/*
|
|
|
* anycast prototypes (anycast.c)
|
|
|
*/
|
|
|
-extern int ipv6_sock_ac_join(struct sock *sk,int ifindex, const struct in6_addr *addr);
|
|
|
-extern int ipv6_sock_ac_drop(struct sock *sk,int ifindex, const struct in6_addr *addr);
|
|
|
-extern void ipv6_sock_ac_close(struct sock *sk);
|
|
|
-
|
|
|
-extern int ipv6_dev_ac_inc(struct net_device *dev, const struct in6_addr *addr);
|
|
|
-extern int __ipv6_dev_ac_dec(struct inet6_dev *idev, const struct in6_addr *addr);
|
|
|
-extern bool ipv6_chk_acast_addr(struct net *net, struct net_device *dev,
|
|
|
+int ipv6_sock_ac_join(struct sock *sk, int ifindex,
|
|
|
+ const struct in6_addr *addr);
|
|
|
+int ipv6_sock_ac_drop(struct sock *sk, int ifindex,
|
|
|
+ const struct in6_addr *addr);
|
|
|
+void ipv6_sock_ac_close(struct sock *sk);
|
|
|
+
|
|
|
+int ipv6_dev_ac_inc(struct net_device *dev, const struct in6_addr *addr);
|
|
|
+int __ipv6_dev_ac_dec(struct inet6_dev *idev, const struct in6_addr *addr);
|
|
|
+bool ipv6_chk_acast_addr(struct net *net, struct net_device *dev,
|
|
|
const struct in6_addr *addr);
|
|
|
|
|
|
|
|
|
/* Device notifier */
|
|
|
-extern int register_inet6addr_notifier(struct notifier_block *nb);
|
|
|
-extern int unregister_inet6addr_notifier(struct notifier_block *nb);
|
|
|
-extern int inet6addr_notifier_call_chain(unsigned long val, void *v);
|
|
|
+int register_inet6addr_notifier(struct notifier_block *nb);
|
|
|
+int unregister_inet6addr_notifier(struct notifier_block *nb);
|
|
|
+int inet6addr_notifier_call_chain(unsigned long val, void *v);
|
|
|
|
|
|
-extern void inet6_netconf_notify_devconf(struct net *net, int type, int ifindex,
|
|
|
- struct ipv6_devconf *devconf);
|
|
|
+void inet6_netconf_notify_devconf(struct net *net, int type, int ifindex,
|
|
|
+ struct ipv6_devconf *devconf);
|
|
|
|
|
|
/**
|
|
|
* __in6_dev_get - get inet6_dev pointer from netdevice
|
|
@@ -240,7 +224,7 @@ static inline struct inet6_dev *in6_dev_get(const struct net_device *dev)
|
|
|
return idev;
|
|
|
}
|
|
|
|
|
|
-extern void in6_dev_finish_destroy(struct inet6_dev *idev);
|
|
|
+void in6_dev_finish_destroy(struct inet6_dev *idev);
|
|
|
|
|
|
static inline void in6_dev_put(struct inet6_dev *idev)
|
|
|
{
|
|
@@ -258,7 +242,7 @@ static inline void in6_dev_hold(struct inet6_dev *idev)
|
|
|
atomic_inc(&idev->refcnt);
|
|
|
}
|
|
|
|
|
|
-extern void inet6_ifa_finish_destroy(struct inet6_ifaddr *ifp);
|
|
|
+void inet6_ifa_finish_destroy(struct inet6_ifaddr *ifp);
|
|
|
|
|
|
static inline void in6_ifa_put(struct inet6_ifaddr *ifp)
|
|
|
{
|
|
@@ -340,8 +324,8 @@ static inline bool ipv6_addr_is_solict_mult(const struct in6_addr *addr)
|
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_PROC_FS
|
|
|
-extern int if6_proc_init(void);
|
|
|
-extern void if6_proc_exit(void);
|
|
|
+int if6_proc_init(void);
|
|
|
+void if6_proc_exit(void);
|
|
|
#endif
|
|
|
|
|
|
#endif
|