aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/dst_ops.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-07-12 03:49:19 -0700
committerDavid S. Miller <davem@davemloft.net>2012-07-12 03:49:19 -0700
commit3ec5a261aef55a32664bffd335e5c32aeadf3215 (patch)
treea2ddd1e4c432d7300396814320608ee946030fc1 /include/net/dst_ops.h
parenttcp: TCP Small Queues (diff)
parentnet: Remove checks for dst_ops->redirect being NULL. (diff)
downloadlinux-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.h1
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,