diff -drupN a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c
--- a/net/xfrm/xfrm_output.c	2018-08-06 17:23:04.000000000 +0300
+++ b/net/xfrm/xfrm_output.c	2022-06-12 05:28:14.000000000 +0300
@@ -66,6 +66,9 @@ static int xfrm_output_one(struct sk_buf
 			goto error_nolock;
 		}
 
+		if (x->props.output_mark)
+			skb->mark = x->props.output_mark;
+
 		err = x->outer_mode->output(x, skb);
 		if (err) {
 			XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTSTATEMODEERROR);