From mboxrd@z Thu Jan 1 00:00:00 1970 From: Saeed Mahameed Subject: Re: [pull request][net-next 0/3] Mellanox, mlx5 GRE tunnel offloads Date: Sat, 2 Sep 2017 21:07:10 -0700 Message-ID: References: <20170830230409.15176-1-saeedm@mellanox.com> <87fuc7ong0.fsf@stressinduktion.org> <1504402349.3299394.1093467800.72B91372@webmail.messagingengine.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Cc: Saeed Mahameed , "David S. Miller" , Linux Netdev List To: Hannes Frederic Sowa Return-path: Received: from mail-lf0-f44.google.com ([209.85.215.44]:38502 "EHLO mail-lf0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750795AbdICEHc (ORCPT ); Sun, 3 Sep 2017 00:07:32 -0400 Received: by mail-lf0-f44.google.com with SMTP id d202so10889624lfd.5 for ; Sat, 02 Sep 2017 21:07:32 -0700 (PDT) In-Reply-To: <1504402349.3299394.1093467800.72B91372@webmail.messagingengine.com> Sender: netdev-owner@vger.kernel.org List-ID: On Sat, Sep 2, 2017 at 6:32 PM, Hannes Frederic Sowa wrote: > Hi Saeed, > > On Sun, Sep 3, 2017, at 01:01, Saeed Mahameed wrote: >> On Thu, Aug 31, 2017 at 6:51 AM, Hannes Frederic Sowa >> wrote: >> > Saeed Mahameed writes: >> > >> >> The first patch from Gal and Ariel provides the mlx5 driver support for >> >> ConnectX capability to perform IP version identification and matching in >> >> order to distinguish between IPv4 and IPv6 without the need to specify the >> >> encapsulation type, thus perform RSS in MPLS automatically without >> >> specifying MPLS ethertyoe. This patch will also serve for inner GRE IPv4/6 >> >> classification for inner GRE RSS. >> > >> > I don't think this is legal at all or did I misunderstood something? >> > >> > >> >> It seems you misunderstood the cover letter. The HW will still >> identify MPLS (IPv4/IPv6) packets using a new bit we specify in the HW >> steering rules rather than adding new specific rules with {MPLS >> ethertype} X {IPv4,IPv6} to classify MPLS IPv{4,6} traffic, Same >> functionality a better and general way to approach it. >> Bottom line the hardware is capable of processing MPLS headers and >> perform RSS on the inner packet (IPv4/6) without the need of the >> driver to provide precise steering MPLS rules. > > Sorry, I think I am still confused. > > I just want to make sure that you don't use the first nibble after the > mpls bottom of stack label in any way as an indicator if that is an IPv4 > or IPv6 packet by default. It can be anything. The forward equivalence > class tells the stack which protocol you see. > > If you match on the first nibble behind the MPLS bottom of stack label > the '4' or '6' respectively could be part of a MAC address with its > first nibble being 4 or 6, because the particular pseudowire is EoMPLS > and uses no control world. > > I wanted to mention it, because with addition of e.g. VPLS this could > cause problems down the road and should at least be controllable? It is > probably better to use Entropy Labels in future. > Hi Hannes, I see your concern now, but still it has nothing to do with the driver, the whole change is only to simplify driver code to not push full blown matching steering rules into the HW, and simply replace it with a one bit command. Regarding your concern, I will need to check with the HW guys and review the processing algorithm that identifies IP packets over MPLs, and will get back to you. if there is really a problem, then yes, we might need to make it controllable .. > Thanks, > Hannes