@@ -706,8 +706,6 @@ int xfrm_output(struct sock *sk, struct sk_buff *skb)
struct xfrm_state *x = skb_dst(skb)->xfrm;
int family;
int err;
- struct xfrm_offload *xo;
- struct sec_path *sp;
family = (x->xso.type != XFRM_DEV_OFFLOAD_PACKET) ? x->outer_mode.family
: skb_dst(skb)->ops->family;
@@ -730,25 +728,6 @@ int xfrm_output(struct sock *sk, struct sk_buff *skb)
kfree_skb(skb);
return -EHOSTUNREACH;
}
- sp = secpath_set(skb);
- if (!sp) {
- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTERROR);
- kfree_skb(skb);
- return -ENOMEM;
- }
-
- sp->olen++;
- sp->xvec[sp->len++] = x;
- xfrm_state_hold(x);
-
- xo = xfrm_offload(skb);
- if (!xo) {
- secpath_reset(skb);
- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTERROR);
- kfree_skb(skb);
- return -EINVAL;
- }
- xo->flags |= XFRM_XMIT;
return xfrm_output_resume(sk, skb, 0);
}
This reverts commit e7cd191f83fd899c233dfbe7dc6d96ef703dcbbd. While supporting xfrm interfaces in the packet offload API is needed, this patch does not do the right thing. There are more things to do to really support xfrm interfaces, so revert it for now. Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> --- net/xfrm/xfrm_output.c | 21 --------------------- 1 file changed, 21 deletions(-)