diff options
author | David S. Miller <davem@davemloft.net> | 2012-07-12 03:49:19 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-12 03:49:19 -0700 |
commit | 3ec5a261aef55a32664bffd335e5c32aeadf3215 (patch) | |
tree | a2ddd1e4c432d7300396814320608ee946030fc1 /include/net/ip6_route.h | |
parent | tcp: TCP Small Queues (diff) | |
parent | net: Remove checks for dst_ops->redirect being NULL. (diff) | |
download | linux-dev-3ec5a261aef55a32664bffd335e5c32aeadf3215.tar.xz linux-dev-3ec5a261aef55a32664bffd335e5c32aeadf3215.zip |
Merge branch 'redirect_via_sock'
As described in my patch series from the other day, we need to
rearrange redirect handling so that the local initiators of packets
(sockets, tunnels, xfrms, etc.) that implement the protocols compute
the route and pass this down into the ipv4/ipv6 routing code.
These changes here do so by implementing a new dst_ops->redirect
method.
No more do we have this funny code that tries several different sets
of routing keys to try and figure out which route the redirect should
actually be applied to.
No more do we have the problem wherein TOS rewriting causes problems
for us.
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 | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index 58cb3fc34879..b6b6f7d6f3c0 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h @@ -133,17 +133,12 @@ extern int rt6_route_rcv(struct net_device *dev, u8 *opt, int len, const struct in6_addr *gwaddr); -extern void rt6_redirect(const struct in6_addr *dest, - const struct in6_addr *src, - const struct in6_addr *saddr, - struct neighbour *neigh, - u8 *lladdr, - int on_link); - 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_sk_redirect(struct sk_buff *skb, struct sock *sk); struct netlink_callback; |