diff options
Diffstat (limited to 'include/net/ip6_route.h')
-rw-r--r-- | include/net/ip6_route.h | 26 |
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); | |||
84 | extern int ip6_ins_rt(struct rt6_info *); | 82 | extern int ip6_ins_rt(struct rt6_info *); |
85 | extern int ip6_del_rt(struct rt6_info *); | 83 | extern int ip6_del_rt(struct rt6_info *); |
86 | 84 | ||
85 | extern 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 | |||
87 | extern struct rt6_info *rt6_lookup(struct net *net, | 91 | extern 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 | */ |
109 | extern struct rt6_info * rt6_get_dflt_router(struct in6_addr *addr, | 113 | extern struct rt6_info * rt6_get_dflt_router(const struct in6_addr *addr, |
110 | struct net_device *dev); | 114 | struct net_device *dev); |
111 | extern struct rt6_info * rt6_add_dflt_router(struct in6_addr *gwaddr, | 115 | extern 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 | ||
117 | extern int rt6_route_rcv(struct net_device *dev, | 121 | extern 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 | ||
121 | extern void rt6_redirect(struct in6_addr *dest, | 125 | extern 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 | ||
128 | extern void rt6_pmtu_discovery(struct in6_addr *daddr, | 132 | extern 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 { | |||
141 | extern int rt6_dump_route(struct rt6_info *rt, void *p_arg); | 145 | extern int rt6_dump_route(struct rt6_info *rt, void *p_arg); |
142 | extern void rt6_ifdown(struct net *net, struct net_device *dev); | 146 | extern void rt6_ifdown(struct net *net, struct net_device *dev); |
143 | extern void rt6_mtu_change(struct net_device *dev, unsigned mtu); | 147 | extern void rt6_mtu_change(struct net_device *dev, unsigned mtu); |
148 | extern 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 | ||