diff -drupN a/include/net/xfrm.h b/include/net/xfrm.h --- a/include/net/xfrm.h 2018-08-06 17:23:04.000000000 +0300 +++ b/include/net/xfrm.h 2022-06-12 05:28:14.000000000 +0300 @@ -155,6 +155,7 @@ struct xfrm_state { int header_len; int trailer_len; u32 extra_flags; + u32 output_mark; } props; struct xfrm_lifetime_cfg lft; @@ -284,10 +285,12 @@ struct xfrm_policy_afinfo { struct dst_entry *(*dst_lookup)(struct net *net, int tos, int oif, const xfrm_address_t *saddr, - const xfrm_address_t *daddr); + const xfrm_address_t *daddr, + u32 mark); int (*get_saddr)(struct net *net, int oif, xfrm_address_t *saddr, - xfrm_address_t *daddr); + xfrm_address_t *daddr, + u32 mark); void (*decode_session)(struct sk_buff *skb, struct flowi *fl, int reverse);