diff options
author | David Ahern <dsa@cumulusnetworks.com> | 2015-08-10 16:58:11 -0600 |
---|---|---|
committer | Steffen Klassert <steffen.klassert@secunet.com> | 2015-08-11 12:41:35 +0200 |
commit | 42a7b32b73d6bf22e4bdd7bf68746e2d71f4cd8d (patch) | |
tree | 750adee8068e2e45dfa3aa39b10a6e3ea2162cf1 /include/net/xfrm.h | |
parent | df367561ffe5a66cd0b2970fdb8897d5487d38e6 (diff) | |
download | blackbird-op-linux-42a7b32b73d6bf22e4bdd7bf68746e2d71f4cd8d.tar.gz blackbird-op-linux-42a7b32b73d6bf22e4bdd7bf68746e2d71f4cd8d.zip |
xfrm: Add oif to dst lookups
Rules can be installed that direct route lookups to specific tables based
on oif. Plumb the oif through the xfrm lookups so it gets set in the flow
struct and passed to the resolver routines.
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to 'include/net/xfrm.h')
-rw-r--r-- | include/net/xfrm.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index f0ee97eec24d..312e3fee9ccf 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -285,10 +285,13 @@ struct xfrm_policy_afinfo { unsigned short family; struct dst_ops *dst_ops; void (*garbage_collect)(struct net *net); - struct dst_entry *(*dst_lookup)(struct net *net, int tos, + struct dst_entry *(*dst_lookup)(struct net *net, + int tos, int oif, const xfrm_address_t *saddr, const xfrm_address_t *daddr); - int (*get_saddr)(struct net *net, xfrm_address_t *saddr, xfrm_address_t *daddr); + int (*get_saddr)(struct net *net, int oif, + xfrm_address_t *saddr, + xfrm_address_t *daddr); void (*decode_session)(struct sk_buff *skb, struct flowi *fl, int reverse); |