aboutsummaryrefslogtreecommitdiffstats
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.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h
index c850e5fb967c..5e91b72fc718 100644
--- a/include/net/ip6_route.h
+++ b/include/net/ip6_route.h
@@ -21,8 +21,6 @@ struct route_info {
21 __u8 prefix[0]; /* 0,8 or 16 */ 21 __u8 prefix[0]; /* 0,8 or 16 */
22}; 22};
23 23
24#ifdef __KERNEL__
25
26#include <net/flow.h> 24#include <net/flow.h>
27#include <net/ip6_fib.h> 25#include <net/ip6_fib.h>
28#include <net/sock.h> 26#include <net/sock.h>
@@ -84,6 +82,12 @@ extern int ip6_route_add(struct fib6_config *cfg);
84extern int ip6_ins_rt(struct rt6_info *); 82extern int ip6_ins_rt(struct rt6_info *);
85extern int ip6_del_rt(struct rt6_info *); 83extern int ip6_del_rt(struct rt6_info *);
86 84
85extern int ip6_route_get_saddr(struct net *net,
86 struct rt6_info *rt,
87 const struct in6_addr *daddr,
88 unsigned int prefs,
89 struct in6_addr *saddr);
90
87extern struct rt6_info *rt6_lookup(struct net *net, 91extern struct rt6_info *rt6_lookup(struct net *net,
88 const struct in6_addr *daddr, 92 const struct in6_addr *daddr,
89 const struct in6_addr *saddr, 93 const struct in6_addr *saddr,
@@ -106,9 +110,9 @@ extern int ip6_dst_hoplimit(struct dst_entry *dst);
106 * support functions for ND 110 * support functions for ND
107 * 111 *
108 */ 112 */
109extern struct rt6_info * rt6_get_dflt_router(struct in6_addr *addr, 113extern struct rt6_info * rt6_get_dflt_router(const struct in6_addr *addr,
110 struct net_device *dev); 114 struct net_device *dev);
111extern struct rt6_info * rt6_add_dflt_router(struct in6_addr *gwaddr, 115extern struct rt6_info * rt6_add_dflt_router(const struct in6_addr *gwaddr,
112 struct net_device *dev, 116 struct net_device *dev,
113 unsigned int pref); 117 unsigned int pref);
114 118
@@ -116,17 +120,17 @@ extern void rt6_purge_dflt_routers(struct net *net);
116 120
117extern int rt6_route_rcv(struct net_device *dev, 121extern int rt6_route_rcv(struct net_device *dev,
118 u8 *opt, int len, 122 u8 *opt, int len,
119 struct in6_addr *gwaddr); 123 const struct in6_addr *gwaddr);
120 124
121extern void rt6_redirect(struct in6_addr *dest, 125extern void rt6_redirect(const struct in6_addr *dest,
122 struct in6_addr *src, 126 const struct in6_addr *src,
123 struct in6_addr *saddr, 127 const struct in6_addr *saddr,
124 struct neighbour *neigh, 128 struct neighbour *neigh,
125 u8 *lladdr, 129 u8 *lladdr,
126 int on_link); 130 int on_link);
127 131
128extern void rt6_pmtu_discovery(struct in6_addr *daddr, 132extern void rt6_pmtu_discovery(const struct in6_addr *daddr,
129 struct in6_addr *saddr, 133 const struct in6_addr *saddr,
130 struct net_device *dev, 134 struct net_device *dev,
131 u32 pmtu); 135 u32 pmtu);
132 136
@@ -141,6 +145,7 @@ struct rt6_rtnl_dump_arg {
141extern int rt6_dump_route(struct rt6_info *rt, void *p_arg); 145extern int rt6_dump_route(struct rt6_info *rt, void *p_arg);
142extern void rt6_ifdown(struct net *net, struct net_device *dev); 146extern void rt6_ifdown(struct net *net, struct net_device *dev);
143extern void rt6_mtu_change(struct net_device *dev, unsigned mtu); 147extern void rt6_mtu_change(struct net_device *dev, unsigned mtu);
148extern void rt6_remove_prefsrc(struct inet6_ifaddr *ifp);
144 149
145 150
146/* 151/*
@@ -186,4 +191,3 @@ static inline int ip6_skb_dst_mtu(struct sk_buff *skb)
186} 191}
187 192
188#endif 193#endif
189#endif