diff options
author | Daniel Walter <sahne@0x90.at> | 2011-04-13 23:10:57 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-16 00:44:37 +0200 |
commit | c3968a857a6b6c3d2ef4ead35776b055fb664d74 (patch) | |
tree | f82be0953ff4454218f38ffb803fdcfb93a6f2a3 /include/net/ip6_route.h | |
parent | ipv6: ignore looped-back NA while dad is running (diff) | |
download | linux-c3968a857a6b6c3d2ef4ead35776b055fb664d74.tar.xz linux-c3968a857a6b6c3d2ef4ead35776b055fb664d74.zip |
ipv6: RTA_PREFSRC support for ipv6 route source address selection
[ipv6] Add support for RTA_PREFSRC
This patch allows a user to select the preferred source address
for a specific IPv6-Route. It can be set via a netlink message
setting RTA_PREFSRC to a valid IPv6 address which must be
up on the device the route will be bound to.
Signed-off-by: Daniel Walter <dwalter@barracuda.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ip6_route.h')
-rw-r--r-- | include/net/ip6_route.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index c850e5fb967c..86b1cb486903 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h @@ -84,6 +84,12 @@ 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 *); +extern int ip6_route_get_saddr(struct net *net, + struct rt6_info *rt, + struct in6_addr *daddr, + unsigned int prefs, + struct in6_addr *saddr); + extern struct rt6_info *rt6_lookup(struct net *net, const struct in6_addr *daddr, const struct in6_addr *saddr, @@ -141,6 +147,7 @@ struct rt6_rtnl_dump_arg { 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 mtu); +extern void rt6_remove_prefsrc(struct inet6_ifaddr *ifp); /* |