diff options
Diffstat (limited to 'include/net/xfrm.h')
| -rw-r--r-- | include/net/xfrm.h | 23 | 
1 files changed, 16 insertions, 7 deletions
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index 39f151c7f25..693523c870b 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -1319,7 +1319,7 @@ extern struct xfrm_state *xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t  					  struct flowi *fl, struct xfrm_tmpl *tmpl,  					  struct xfrm_policy *pol, int *err,  					  unsigned short family); -extern struct xfrm_state * xfrm_stateonly_find(struct net *net, +extern struct xfrm_state *xfrm_stateonly_find(struct net *net, u32 mark,  					       xfrm_address_t *daddr,  					       xfrm_address_t *saddr,  					       unsigned short family, @@ -1328,8 +1328,14 @@ extern int xfrm_state_check_expire(struct xfrm_state *x);  extern void xfrm_state_insert(struct xfrm_state *x);  extern int xfrm_state_add(struct xfrm_state *x);  extern int xfrm_state_update(struct xfrm_state *x); -extern struct xfrm_state *xfrm_state_lookup(struct net *net, xfrm_address_t *daddr, __be32 spi, u8 proto, unsigned short family); -extern struct xfrm_state *xfrm_state_lookup_byaddr(struct net *net, xfrm_address_t *daddr, xfrm_address_t *saddr, u8 proto, unsigned short family); +extern struct xfrm_state *xfrm_state_lookup(struct net *net, u32 mark, +					    xfrm_address_t *daddr, __be32 spi, +					    u8 proto, unsigned short family); +extern struct xfrm_state *xfrm_state_lookup_byaddr(struct net *net, u32 mark, +						   xfrm_address_t *daddr, +						   xfrm_address_t *saddr, +						   u8 proto, +						   unsigned short family);  #ifdef CONFIG_XFRM_SUB_POLICY  extern int xfrm_tmpl_sort(struct xfrm_tmpl **dst, struct xfrm_tmpl **src,  			  int n, unsigned short family); @@ -1366,7 +1372,8 @@ struct xfrmk_spdinfo {  	u32 spdhmcnt;  }; -extern struct xfrm_state *xfrm_find_acq_byseq(struct net *net, u32 seq); +extern struct xfrm_state *xfrm_find_acq_byseq(struct net *net, u32 mark, +					      u32 seq);  extern int xfrm_state_delete(struct xfrm_state *x);  extern int xfrm_state_flush(struct net *net, u8 proto, struct xfrm_audit *audit_info);  extern void xfrm_sad_getinfo(struct net *net, struct xfrmk_sadinfo *si); @@ -1451,9 +1458,11 @@ struct xfrm_policy *xfrm_policy_byid(struct net *net, u8, int dir, u32 id, int d  int xfrm_policy_flush(struct net *net, u8 type, struct xfrm_audit *audit_info);  u32 xfrm_get_acqseq(void);  extern int xfrm_alloc_spi(struct xfrm_state *x, u32 minspi, u32 maxspi); -struct xfrm_state * xfrm_find_acq(struct net *net, u8 mode, u32 reqid, u8 proto, -				  xfrm_address_t *daddr, xfrm_address_t *saddr, -				  int create, unsigned short family); +struct xfrm_state *xfrm_find_acq(struct net *net, struct xfrm_mark *mark, +				 u8 mode, u32 reqid, u8 proto, +				 xfrm_address_t *daddr, +				 xfrm_address_t *saddr, int create, +				 unsigned short family);  extern int xfrm_sk_policy_insert(struct sock *sk, int dir, struct xfrm_policy *pol);  extern int xfrm_bundle_ok(struct xfrm_policy *pol, struct xfrm_dst *xdst,  			  struct flowi *fl, int family, int strict);  |