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/dst_ops.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/dst_ops.h')
-rw-r--r-- | include/net/dst_ops.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/dst_ops.h b/include/net/dst_ops.h index 4badc86e45d1..085931fa7ce0 100644 --- a/include/net/dst_ops.h +++ b/include/net/dst_ops.h @@ -25,6 +25,7 @@ struct dst_ops { struct dst_entry * (*negative_advice)(struct dst_entry *); void (*link_failure)(struct sk_buff *); void (*update_pmtu)(struct dst_entry *dst, u32 mtu); + void (*redirect)(struct dst_entry *dst, struct sk_buff *skb); int (*local_out)(struct sk_buff *skb); struct neighbour * (*neigh_lookup)(const struct dst_entry *dst, struct sk_buff *skb, |