From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 678A7C10F0E for ; Mon, 15 Apr 2019 08:07:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 38DF4206BA for ; Mon, 15 Apr 2019 08:07:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="meD0mNBB" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726334AbfDOIHA (ORCPT ); Mon, 15 Apr 2019 04:07:00 -0400 Received: from mail-oi1-f194.google.com ([209.85.167.194]:36571 "EHLO mail-oi1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725779AbfDOIHA (ORCPT ); Mon, 15 Apr 2019 04:07:00 -0400 Received: by mail-oi1-f194.google.com with SMTP id l203so13012519oia.3 for ; Mon, 15 Apr 2019 01:07:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=0OCMKZeSSaCoxf73MZy4aec01R2HphHbMomOIyfYBfo=; b=meD0mNBB55tQbYduilza2smroQurNlPO+LYRDfEOt36cQSercfrxmAPe+FLI6+WEdZ +BRZ1ZxKCX++I9Crpx5DE9XnTIg0GxINwxzUBTSu4LCeIKUPageNp0LRz2YlJzt0fQPt JLQCS5fsEqJlWBsiWv1jXXdzNfBNV9Xlv0JwuXZ27EGX6DxmZSzgxP9D1zhxWorfv/KQ oBy6IwLnoIf6nckS/xKT3E1xpuAeyK9YW2sEwA3rTmOEax6Qtmq/O2n1qYcaK2NEfVWs FkNFBgWH7z+5A6QyRtA4NLED8bkwcKddcMVR7FJE5eGF94wutoUgmy0x4ujTF3Q1VvJa w7ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0OCMKZeSSaCoxf73MZy4aec01R2HphHbMomOIyfYBfo=; b=iswECb9i5XozC5jX7wYXUJXuSx0uAkssnZb0HkS9Al5Av8954z9GYeoQeI8eC21Pjj YyD6mw/bfW3HBhHiXm691Kwl8PApSdBoD1AlQaAMI/80/+SdHsVKDGHN5NOpMcCA175z m3zA6XJCxqtCzcIqTBA+jr4LhkpLih7r2ftDY7GyXqwPifa4Gjqv6JsANqnnwE9pjjJv 7yZG2kGb8WNegqqJbEpCJQjcb7z6jdyvTHeJkUVTXx/eKrFclWNIwst62oHvw8QTOhXp lFQPeeASM48OtoLOmTa6nC+9IYSdbPYYiSvGkpTP9fhbJAJSbInV/2B5Zzh6+9hsRoxU agQQ== X-Gm-Message-State: APjAAAW4PvFPQU/Y1QoBJEWbqM3EB/MBIkZKZtl6F3RkG7UUIImaNvUL n0Q1VgAe48JUl70yFXXBtXzVQh0HVush4GDM0uA= X-Google-Smtp-Source: APXvYqzJQJWmTaYZNCMxSa7jLs1f0ke72r9QzLr3EGmcCTJYBAeftzkbFL0pbZvd/4KnOg4SgP1T0rbb7y63hPrpuxc= X-Received: by 2002:aca:af12:: with SMTP id y18mr19606743oie.69.1555315619452; Mon, 15 Apr 2019 01:06:59 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Yuya Kusakabe Date: Mon, 15 Apr 2019 17:06:48 +0900 Message-ID: Subject: Re: [PATCH] net: Fix missing meta data in skb with vlan packet To: Toshiaki Makita Cc: davem@davemloft.net, taketarou2@gmail.com, netdev@vger.kernel.org, Alexei Starovoitov , Daniel Borkmann , Jakub Kicinski , Jesper Dangaard Brouer , John Fastabend Content-Type: text/plain; charset="UTF-8" Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hi, Thank you for the review. On Mon, Apr 15, 2019 at 3:06 PM Toshiaki Makita wrote: > > Hi, > (CC: XDP maintainers) > > On 2019/04/13 21:16, Yuya Kusakabe wrote: > > skb_reorder_vlan_header() should move XDP meta data with ethernet > > header if XDP meta data exists. > > > > Signed-off-by: Yuya Kusakabe > > Signed-off-by: Takeru Hayasaka > > Co-developed-by: Takeru Hayasaka > > Missing fixes tag > > Fixes: de8f3a83b0a0 ("bpf: add meta pointer for direct access") I will add this line in v2 patch. > > > > --- > > net/core/skbuff.c | 10 +++++++++- > > 1 file changed, 9 insertions(+), 1 deletion(-) > > > > diff --git a/net/core/skbuff.c b/net/core/skbuff.c > > index ef2cd5712098..6bc663249c4c 100644 > > --- a/net/core/skbuff.c > > +++ b/net/core/skbuff.c > > @@ -5083,7 +5083,8 @@ EXPORT_SYMBOL_GPL(skb_gso_validate_mac_len); > > > > static struct sk_buff *skb_reorder_vlan_header(struct sk_buff *skb) > > { > > - int mac_len; > > + int mac_len, meta_len; > > + void *meta; > > > > if (skb_cow(skb, skb_headroom(skb)) < 0) { > > kfree_skb(skb); > > @@ -5095,6 +5096,13 @@ static struct sk_buff > > *skb_reorder_vlan_header(struct sk_buff *skb) > > memmove(skb_mac_header(skb) + VLAN_HLEN, skb_mac_header(skb), > > mac_len - VLAN_HLEN - ETH_TLEN); > > } > > + > > + meta_len = skb_metadata_len(skb); > > + if (meta_len) { > > Since this is not used by non-XDP skb and skb path is slow-path for XDP > anyway, should add unlikely here in favor of non-XDP case? I referred to meta data support of the ixgbe driver. It doesn't use "unlikely". https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/tree/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c#n2176 > > > > + meta = skb_metadata_end(skb) - meta_len; > > + memmove(meta + VLAN_HLEN, meta, meta_len); > > + }; > > + > > skb->mac_header += VLAN_HLEN; > > return skb; > > } > > -- > > 2.20.1 > > > > > > -- > Toshiaki Makita > Thank you. -- Yuya Kusakabe