On Fri, Dec 11, 2020 at 4:28 AM Jonas Bonn <jo...@norrbonn.se> wrote: > > Signed-off-by: Jonas Bonn <jo...@norrbonn.se> > --- > drivers/net/gtp.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c > index 236ebbcb37bf..7bbeec173113 100644 > --- a/drivers/net/gtp.c > +++ b/drivers/net/gtp.c > @@ -536,7 +536,11 @@ static int gtp_xmit_ip4(struct sk_buff *skb, struct > net_device *dev) > if (unlikely(r)) > goto err_rt; > > - skb_reset_inner_headers(skb); > + r = udp_tunnel_handle_offloads(skb, true); > + if (unlikely(r)) > + goto err_rt; > + > + skb_set_inner_protocol(skb, skb->protocol); > This should be skb_set_inner_ipproto(), since GTP is L3 protocol.
> gtp_push_header(skb, pctx, &port); > > @@ -618,6 +622,8 @@ static void gtp_link_setup(struct net_device *dev) > > dev->priv_flags |= IFF_NO_QUEUE; > dev->features |= NETIF_F_LLTX; > + dev->hw_features |= NETIF_F_SG | NETIF_F_GSO_SOFTWARE | > NETIF_F_HW_CSUM; > + dev->features |= NETIF_F_SG | NETIF_F_GSO_SOFTWARE | > NETIF_F_HW_CSUM; > netif_keep_dst(dev); > > dev->needed_headroom = LL_MAX_HEADER + max_gtp_header_len; > -- > 2.27.0 >