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=-8.3 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT 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 ABAFDC43387 for ; Thu, 17 Jan 2019 07:44:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7331720855 for ; Thu, 17 Jan 2019 07:44:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=googlemail.com header.i=@googlemail.com header.b="gGGZ8wnX" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727436AbfAQHoa (ORCPT ); Thu, 17 Jan 2019 02:44:30 -0500 Received: from mail-ed1-f68.google.com ([209.85.208.68]:33552 "EHLO mail-ed1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726195AbfAQHo3 (ORCPT ); Thu, 17 Jan 2019 02:44:29 -0500 Received: by mail-ed1-f68.google.com with SMTP id p6so7598458eds.0 for ; Wed, 16 Jan 2019 23:44:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=4tIuACPx302oeEdVCPP7Oqf3OIXQSnkSCiEI29VC6ms=; b=gGGZ8wnXPn4dRWXYJa1EYFbNeD+Uomg4sypLY0ie6T6HW4qpSG8dT08mP439faStnO LAU5PaTeNln+T7oBpSgza92B8Pv1UHKxPBrKLnwCdWMd6hQadKgqC9/ZPH62jkJtTkJY tD9VPdEoHs/xWHeiusi+sMdCyP+M86TNrrAHsx5b0zZV7kKXDG+33isdgxH3p5laP6Yb QIoNQJfkHNvCUyQWb4kxo2LJtz/jEwEqwmOf4EgnuOg3n7k5kWVB+l+xIg5LKUOwTeJZ bH1QHu8klZO0vjJaQCjYtaXNta0UHW2TEHW9EJKCtGmTeoJy0lLdqGfPpjDVftZ4oRV9 JcYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=4tIuACPx302oeEdVCPP7Oqf3OIXQSnkSCiEI29VC6ms=; b=qtSn29UIFRXCMv9oswKzcQ9ErJFjrBET+9e+pvUE9Dpkf9b8tG3n+zAlajTRyppgYW xx0QD2FHPglSH3wRNpqVawe8THVVewZVrfbwZz/fMc3yd+4H3yglLvcrzYXXjKCAc8Vj hZhKXZl0H7cbfTlDUHlTxrtDMSkAJ5KyI8f0HlLXiaaDEts9IgSzGY99R5baAISUSAPN 9UdyH9Mcx4FYsF9i6lL3agqurAUu3xshaZLauBxpidIUTbJEqdBu3fmxNRUtWAvZgVEI lvn6vZbPwbKcPA+Fewi3cOhUHVZwL3XVvY7KleDmLIT3gNOyxPZk7JGZm2wIklOC8mtt Jo1A== X-Gm-Message-State: AJcUukddrTNiXgxCWiRZ+Vtx9pH11SCy+AQ5I3xn0d0v2bL1qWOuzOPb cN6WdbuzhUOYqwNjw1WON/+Ok64Oni0= X-Google-Smtp-Source: ALg8bN7iYf2h9igX75Od1lS8qyutFlz9Ce+dmdtvX2HI/k2i8Mip2cCdXGzR5LCfdOkscQxkWb1pSg== X-Received: by 2002:a05:6402:121a:: with SMTP id c26mr10372122edw.104.1547711067824; Wed, 16 Jan 2019 23:44:27 -0800 (PST) Received: from riot ([2a02:810d:1500:e01:f02f:97ff:feb5:2c7d]) by smtp.gmail.com with ESMTPSA id c53sm6820036ede.26.2019.01.16.23.44.26 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 16 Jan 2019 23:44:27 -0800 (PST) Date: Thu, 17 Jan 2019 09:17:07 +0100 From: Zahari Doychev To: Toshiaki Makita Cc: netdev@vger.kernel.org, bridge@lists.linux-foundation.org, nikolay@cumulusnetworks.com, roopa@cumulusnetworks.com, johannes@sipsolutions.net, jhs@mojatatu.com, jiri@resnulli.us, xiyou.wangcong@gmail.com Subject: Re: [Bridge] [PATCH 1/2] net: bridge: fix tc added QinQ forwarding Message-ID: <20190117081707.GA13853@riot> References: <20190113135939.8970-1-zahari.doychev@linux.com> <20190113135939.8970-2-zahari.doychev@linux.com> <7dee9e67-bad5-84eb-9ff1-fa0d0aef8be0@lab.ntt.co.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7dee9e67-bad5-84eb-9ff1-fa0d0aef8be0@lab.ntt.co.jp> User-Agent: Mutt/1.11.1 (2018-12-01) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Tue, Jan 15, 2019 at 03:11:28PM +0900, Toshiaki Makita wrote: > On 2019/01/13 22:59, Zahari Doychev wrote: > > Use the skb->mac_len instead of using the ETH_HLEN when pushing the skb > > data pointer. This fixes sending incorrect packets when more than one > > vlan tags are pushed by tc-vlan and the mac header length is bigger than > > ETH_HLEN. In this way the vlan tagged contained in the skb is inserted at > > right offset in the packet payload before sending the packet. > > > > Signed-off-by: Zahari Doychev > > --- > > net/bridge/br_forward.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/net/bridge/br_forward.c b/net/bridge/br_forward.c > > index 5372e2042adf..55f928043f77 100644 > > --- a/net/bridge/br_forward.c > > +++ b/net/bridge/br_forward.c > > @@ -39,7 +39,7 @@ int br_dev_queue_push_xmit(struct net *net, struct sock *sk, struct sk_buff *skb > > if (!is_skb_forwardable(skb->dev, skb)) > > goto drop; > > > > - skb_push(skb, ETH_HLEN); > > + skb_push(skb, skb->mac_len); > > br_drop_fake_rtable(skb); > > > > if (skb->ip_summed == CHECKSUM_PARTIAL && > > > > I guess you mean skb->data points to mac_header + ETH_HLEN + VLAN_HLEN > when bridge receives skbs in br_handle_frame()? yes, this is what I see. > If so, the behavior of act_vlan is odd. Normal double tagged skbs from > hardware devices should have skb->data pointing to mac_header + ETH_HLEN > because they just call eth_type_trans() before entering > netif_receive_skb()... > I think act_vlan needs some fix. The act_valn is using the skb_vlan_push(...) to add the vlan tags and in this way increasing the skb->data and mac_len. So I think I can add a fix there to set the skb->data to point to mac_header + ETH_HLEN when more tags are added. Thanks Zahari > > -- > Toshiaki Makita >