summaryrefslogtreecommitdiffstats
path: root/include/net/xfrm.h
diff options
context:
space:
mode:
authorDavid Ahern <dsa@cumulusnetworks.com>2015-08-10 18:58:11 -0400
committerSteffen Klassert <steffen.klassert@secunet.com>2015-08-11 06:41:35 -0400
commit42a7b32b73d6bf22e4bdd7bf68746e2d71f4cd8d (patch)
tree750adee8068e2e45dfa3aa39b10a6e3ea2162cf1 /include/net/xfrm.h
parentdf367561ffe5a66cd0b2970fdb8897d5487d38e6 (diff)
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.h7
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 {
285 unsigned short family; 285 unsigned short family;
286 struct dst_ops *dst_ops; 286 struct dst_ops *dst_ops;
287 void (*garbage_collect)(struct net *net); 287 void (*garbage_collect)(struct net *net);
288 struct dst_entry *(*dst_lookup)(struct net *net, int tos, 288 struct dst_entry *(*dst_lookup)(struct net *net,
289 int tos, int oif,
289 const xfrm_address_t *saddr, 290 const xfrm_address_t *saddr,
290 const xfrm_address_t *daddr); 291 const xfrm_address_t *daddr);
291 int (*get_saddr)(struct net *net, xfrm_address_t *saddr, xfrm_address_t *daddr); 292 int (*get_saddr)(struct net *net, int oif,
293 xfrm_address_t *saddr,
294 xfrm_address_t *daddr);
292 void (*decode_session)(struct sk_buff *skb, 295 void (*decode_session)(struct sk_buff *skb,
293 struct flowi *fl, 296 struct flowi *fl,
294 int reverse); 297 int reverse);