Re: [PATCH RFC ipsec-next 5/5] esp: Add a software GRO codepath

2017-02-09 Thread Steffen Klassert
On Wed, Feb 08, 2017 at 01:19:56PM -0500, David Miller wrote: > From: Steffen Klassert > Date: Tue, 7 Feb 2017 10:14:11 +0100 > > > +static struct sk_buff **esp4_gro_receive(struct sk_buff **head, > > +struct sk_buff *skb) > > +{ > > + int err; > > + __be32

Re: [PATCH RFC ipsec-next 5/5] esp: Add a software GRO codepath

2017-02-08 Thread David Miller
From: Steffen Klassert Date: Tue, 7 Feb 2017 10:14:11 +0100 > +static struct sk_buff **esp4_gro_receive(struct sk_buff **head, > + struct sk_buff *skb) > +{ > + int err; > + __be32 seq; > + __be32 spi; > + struct xfrm_state *x; > + int offs

Re: [PATCH RFC ipsec-next 5/5] esp: Add a software GRO codepath

2017-02-08 Thread Steffen Klassert
On Tue, Feb 07, 2017 at 11:45:06AM -0800, Eric Dumazet wrote: > On Tue, 2017-02-07 at 10:14 +0100, Steffen Klassert wrote: > > This patch adds GRO ifrastructure and callbacks for ESP on > > ipv4 and ipv6. > > > > > I am a bit confused. > > > > > -struct xfrm_tunnel_skb_cb { > > +/* > > + * Th

Re: [PATCH RFC ipsec-next 5/5] esp: Add a software GRO codepath

2017-02-07 Thread Eric Dumazet
On Tue, 2017-02-07 at 10:14 +0100, Steffen Klassert wrote: > This patch adds GRO ifrastructure and callbacks for ESP on > ipv4 and ipv6. > I am a bit confused. > > -struct xfrm_tunnel_skb_cb { > +/* > + * This structure is used if we get the packet from the gro layer. > + */ > +struct xfrm_gr

[PATCH RFC ipsec-next 5/5] esp: Add a software GRO codepath

2017-02-07 Thread Steffen Klassert
This patch adds GRO ifrastructure and callbacks for ESP on ipv4 and ipv6. In case the GRO layer detects an ESP packet, the esp{4,6}_gro_receive() function does a xfrm state lookup and calls the xfrm input layer if it finds a matching state. The packet will be decapsulated and reinjected it into la

[PATCH RFC ipsec-next 5/5] esp: Add a software GRO codepath

2017-01-04 Thread Steffen Klassert
This patch adds GRO callbacks for ESP on ipv4 and ipv6. In case the GRO layer detects an ESP packet, the esp{4,6}_gro_receive() function calls the xfrm input layer which decapsulates the packet and reinject it into layer 2 by calling netif_rx(). Signed-off-by: Steffen Klassert --- net/ipv4/Kcon