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
>

Reply via email to