ipcomp: assign if_id to child tunnel from parent tunnel
authorXin Long <lucien.xin@gmail.com>
Mon, 6 Jul 2020 12:01:36 +0000 (20:01 +0800)
committerSteffen Klassert <steffen.klassert@secunet.com>
Thu, 9 Jul 2020 10:55:37 +0000 (12:55 +0200)
The child tunnel if_id will be used for xfrm interface's lookup
when processing the IP(6)IP(6) packets in the next patches.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/ipv4/ipcomp.c
net/ipv6/ipcomp6.c

index 59bfa38258105a8047c5bd563b2318242f4e881c..b42683212c6590d2e81e060fb5c8e9907d4db917 100644 (file)
@@ -72,6 +72,7 @@ static struct xfrm_state *ipcomp_tunnel_create(struct xfrm_state *x)
        t->props.flags = x->props.flags;
        t->props.extra_flags = x->props.extra_flags;
        memcpy(&t->mark, &x->mark, sizeof(t->mark));
+       t->if_id = x->if_id;
 
        if (xfrm_init_state(t))
                goto error;
index 99668bfebd85e3330cfa08225ad705927a5ed4f9..daef890460b7091152127b42a2525393523324e8 100644 (file)
@@ -91,6 +91,7 @@ static struct xfrm_state *ipcomp6_tunnel_create(struct xfrm_state *x)
        t->props.mode = x->props.mode;
        memcpy(t->props.saddr.a6, x->props.saddr.a6, sizeof(struct in6_addr));
        memcpy(&t->mark, &x->mark, sizeof(t->mark));
+       t->if_id = x->if_id;
 
        if (xfrm_init_state(t))
                goto error;