summaryrefslogtreecommitdiff
path: root/include/net/ip6_route.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/ip6_route.h')
-rw-r--r--include/net/ip6_route.h98
1 files changed, 55 insertions, 43 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h
index 733747c..2b786b7 100644
--- a/include/net/ip6_route.h
+++ b/include/net/ip6_route.h
@@ -51,7 +51,7 @@ static inline unsigned int rt6_flags2srcprefs(int flags)
return (flags >> 3) & 7;
}
-void rt6_bind_peer(struct rt6_info *rt, int create);
+extern void rt6_bind_peer(struct rt6_info *rt, int create);
static inline struct inet_peer *__rt6_get_peer(struct rt6_info *rt, int create)
{
@@ -72,58 +72,70 @@ static inline struct inet_peer *rt6_get_peer_create(struct rt6_info *rt)
return __rt6_get_peer(rt, 1);
}
-void ip6_route_input(struct sk_buff *skb);
+extern void ip6_route_input(struct sk_buff *skb);
-struct dst_entry *ip6_route_output(struct net *net, const struct sock *sk,
- struct flowi6 *fl6);
-struct dst_entry *ip6_route_lookup(struct net *net, struct flowi6 *fl6,
- int flags);
+extern struct dst_entry * ip6_route_output(struct net *net,
+ const struct sock *sk,
+ struct flowi6 *fl6);
+extern struct dst_entry * ip6_route_lookup(struct net *net,
+ struct flowi6 *fl6, int flags);
-int ip6_route_init(void);
-void ip6_route_cleanup(void);
+extern int ip6_route_init(void);
+extern void ip6_route_cleanup(void);
-int ipv6_route_ioctl(struct net *net, unsigned int cmd, void __user *arg);
+extern int ipv6_route_ioctl(struct net *net,
+ unsigned int cmd,
+ void __user *arg);
-int ip6_route_add(struct fib6_config *cfg);
-int ip6_ins_rt(struct rt6_info *);
-int ip6_del_rt(struct rt6_info *);
+extern int ip6_route_add(struct fib6_config *cfg);
+extern int ip6_ins_rt(struct rt6_info *);
+extern int ip6_del_rt(struct rt6_info *);
-int ip6_route_get_saddr(struct net *net, struct rt6_info *rt,
- const struct in6_addr *daddr, unsigned int prefs,
- struct in6_addr *saddr);
+extern int ip6_route_get_saddr(struct net *net,
+ struct rt6_info *rt,
+ const struct in6_addr *daddr,
+ unsigned int prefs,
+ struct in6_addr *saddr);
-struct rt6_info *rt6_lookup(struct net *net, const struct in6_addr *daddr,
- const struct in6_addr *saddr, int oif, int flags);
+extern struct rt6_info *rt6_lookup(struct net *net,
+ const struct in6_addr *daddr,
+ const struct in6_addr *saddr,
+ int oif, int flags);
-struct dst_entry *icmp6_dst_alloc(struct net_device *dev, struct flowi6 *fl6);
-int icmp6_dst_gc(void);
+extern struct dst_entry *icmp6_dst_alloc(struct net_device *dev,
+ struct flowi6 *fl6);
+extern int icmp6_dst_gc(void);
-void fib6_force_start_gc(struct net *net);
+extern void fib6_force_start_gc(struct net *net);
-struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev,
- const struct in6_addr *addr, bool anycast);
+extern struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev,
+ const struct in6_addr *addr,
+ bool anycast);
/*
* support functions for ND
*
*/
-struct rt6_info *rt6_get_dflt_router(const struct in6_addr *addr,
- struct net_device *dev);
-struct rt6_info *rt6_add_dflt_router(const struct in6_addr *gwaddr,
- struct net_device *dev, unsigned int pref);
-
-void rt6_purge_dflt_routers(struct net *net);
-
-int rt6_route_rcv(struct net_device *dev, u8 *opt, int len,
- const struct in6_addr *gwaddr);
-
-void ip6_update_pmtu(struct sk_buff *skb, struct net *net, __be32 mtu, int oif,
- u32 mark);
-void ip6_sk_update_pmtu(struct sk_buff *skb, struct sock *sk, __be32 mtu);
-void ip6_redirect(struct sk_buff *skb, struct net *net, int oif, u32 mark);
-void ip6_redirect_no_header(struct sk_buff *skb, struct net *net, int oif,
- u32 mark);
-void ip6_sk_redirect(struct sk_buff *skb, struct sock *sk);
+extern struct rt6_info * rt6_get_dflt_router(const struct in6_addr *addr,
+ struct net_device *dev);
+extern struct rt6_info * rt6_add_dflt_router(const struct in6_addr *gwaddr,
+ struct net_device *dev,
+ unsigned int pref);
+
+extern void rt6_purge_dflt_routers(struct net *net);
+
+extern int rt6_route_rcv(struct net_device *dev,
+ u8 *opt, int len,
+ const struct in6_addr *gwaddr);
+
+extern void ip6_update_pmtu(struct sk_buff *skb, struct net *net, __be32 mtu,
+ int oif, u32 mark);
+extern void ip6_sk_update_pmtu(struct sk_buff *skb, struct sock *sk,
+ __be32 mtu);
+extern void ip6_redirect(struct sk_buff *skb, struct net *net, int oif, u32 mark);
+extern void ip6_redirect_no_header(struct sk_buff *skb, struct net *net, int oif,
+ u32 mark);
+extern void ip6_sk_redirect(struct sk_buff *skb, struct sock *sk);
struct netlink_callback;
@@ -133,10 +145,10 @@ struct rt6_rtnl_dump_arg {
struct net *net;
};
-int rt6_dump_route(struct rt6_info *rt, void *p_arg);
-void rt6_ifdown(struct net *net, struct net_device *dev);
-void rt6_mtu_change(struct net_device *dev, unsigned int mtu);
-void rt6_remove_prefsrc(struct inet6_ifaddr *ifp);
+extern int rt6_dump_route(struct rt6_info *rt, void *p_arg);
+extern void rt6_ifdown(struct net *net, struct net_device *dev);
+extern void rt6_mtu_change(struct net_device *dev, unsigned int mtu);
+extern void rt6_remove_prefsrc(struct inet6_ifaddr *ifp);
/*