netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vlad Buslov <vladbu@nvidia.com>
To: Or Gerlitz <gerlitz.or@gmail.com>
Cc: Saeed Mahameed <saeed@kernel.org>,
	Vlad Buslov <vladbu@mellanox.com>,
	Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Linux Netdev List <netdev@vger.kernel.org>
Subject: Re: [pull request][net-next V2 00/17] mlx5 updates 2021-02-04
Date: Wed, 10 Feb 2021 18:51:53 +0200	[thread overview]
Message-ID: <ygnhy2fvg91y.fsf@nvidia.com> (raw)
In-Reply-To: <CAJ3xEMhPU=hr-wNN+g8Yq4rMqFQQGybQnn86mmbXrTTN6Xb8xw@mail.gmail.com>


On Tue 09 Feb 2021 at 10:42, Or Gerlitz <gerlitz.or@gmail.com> wrote:
> On Sat, Feb 6, 2021 at 7:10 AM Saeed Mahameed <saeed@kernel.org> wrote:
>
>> Vlad Buslov says:
>
>> Implement support for VF tunneling
>
>> Currently, mlx5 only supports configuration with tunnel endpoint IP address on
>> uplink representor. Remove implicit and explicit assumptions of tunnel always
>> being terminated on uplink and implement necessary infrastructure for
>> configuring tunnels on VF representors and updating rules on such tunnels
>> according to routing changes.
>
>> SW TC model
>
> maybe before SW TC model, you can explain the vswitch SW model (TC is
> a vehicle to implement the SW model).
>
> SW model for VST and "classic" v-switch tunnel setup:
>
> For example, in VST model, each virtio/vf/sf vport has a vlan
> such that the v-switch tags packets going out "south" of the
> vport towards the uplink, untags packets going "north" from
> the uplink, matches on the vport tag and forwards them to
> the vport (and does nothing for east-west traffic).
>
> In a similar manner, in "classic" v-switch tunnel setup, each
> virtio/vf/sf vport is somehow associated with VNI/s marking the
> tenant/s it belongs to. Same tenant east-west traffic on the
> host doesn't go through any encap/decap. The v-switch adds the
> relevant tunnel MD to packets/skbs sent "southward" by the end-point
> and forwards it to the VTEP which applies encap based on the MD (LWT
> scheme) and sends the packets to the wire. On RX, the VTEP decaps
> the tunnel info from the packet, adds it as MD to the skb and
> forwards the packet up into the stack where the vsw hooks it, matches
> on the MD + inner tuple and then forwards it to the relevant endpoint.

Moving tunnel endpoint to VF doesn't change anything in this
high-level description.

>
> HW offloads for VST and "classic" v-switch tunnel setup:
>
> more or less straight forward based on the above
>
>> From TC perspective VF tunnel configuration requires two rules in both
>> directions:
>
>> TX rules
>> 1. Rule that redirects packets from UL to VF rep that has the tunnel
>> endpoint IP address:
>> 2. Rule that decapsulates the tunneled flow and redirects to destination VF
>> representor:
>
>> RX rules
>> 1. Rule that encapsulates the tunneled flow and redirects packets from
>> source VF rep to tunnel device:
>> 2. Rule that redirects from tunnel device to UL rep:
>
> mmm it's kinda hard managing to follow and catch up a SW model from TC rules..
>
> I think we need these two to begin with (in whatever order that works
> better for you)
>
> [1] Motivation for enhanced v-switch tunnel setup:
>
> [2] SW model for enhanced v-switch tunnel setup:
>
>> HW offloads model
>
> a clear SW model before HW offloads model..

Hope my replies to Jakub and Marcelo also address these.

>
>>  25 files changed, 3812 insertions(+), 1057 deletions(-)
>
> for adding almost 4K LOCs


      parent reply	other threads:[~2021-02-10 16:55 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-06  5:02 [pull request][net-next V2 00/17] mlx5 updates 2021-02-04 Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 01/17] net/mlx5: E-Switch, Refactor setting source port Saeed Mahameed
2021-02-06 18:13   ` Marcelo Ricardo Leitner
2021-02-08  8:21     ` Vlad Buslov
2021-02-08 13:25       ` Marcelo Ricardo Leitner
2021-02-08 13:31         ` Vlad Buslov
2021-02-08 13:42           ` Marcelo Ricardo Leitner
2021-02-08 20:22       ` Jakub Kicinski
2021-02-09 14:22         ` Vlad Buslov
2021-02-09 16:10           ` Or Gerlitz
2021-02-10 13:56             ` Marcelo Ricardo Leitner
2021-02-10 16:44               ` Vlad Buslov
2021-02-09 18:05           ` Jakub Kicinski
2021-02-09 19:17             ` Vlad Buslov
2021-02-09 19:50               ` Jakub Kicinski
2021-02-10 11:25                 ` Vlad Buslov
2021-02-10 19:43                   ` Jakub Kicinski
2021-02-09  0:20   ` patchwork-bot+netdevbpf
2021-02-06  5:02 ` [net-next V2 02/17] net/mlx5e: E-Switch, Maintain vhca_id to vport_num mapping Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 03/17] net/mlx5e: Always set attr mdev pointer Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 04/17] net/mlx5: E-Switch, Refactor rule offload forward action processing Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 05/17] net/mlx5e: VF tunnel TX traffic offloading Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 06/17] net/mlx5e: Refactor tun routing helpers Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 07/17] net/mlx5: E-Switch, Indirect table infrastructure Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 08/17] net/mlx5e: Remove redundant match on tunnel destination mac Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 09/17] net/mlx5e: VF tunnel RX traffic offloading Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 10/17] net/mlx5e: Refactor reg_c1 usage Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 11/17] net/mlx5e: Match recirculated packet miss in slow table using reg_c1 Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 12/17] net/mlx5e: Extract tc tunnel encap/decap code to dedicated file Saeed Mahameed
2021-02-09 20:35   ` Guenter Roeck
2021-02-06  5:02 ` [net-next V2 13/17] net/mlx5e: Create route entry infrastructure Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 14/17] net/mlx5e: Refactor neigh update infrastructure Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 15/17] net/mlx5e: TC preparation refactoring for routing update event Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 16/17] net/mlx5e: Rename some encap-specific API to generic names Saeed Mahameed
2021-02-06  5:02 ` [net-next V2 17/17] net/mlx5e: Handle FIB events to update tunnel endpoint device Saeed Mahameed
2021-02-08 21:55 ` [pull request][net-next V2 00/17] mlx5 updates 2021-02-04 Or Gerlitz
2021-02-09  8:42 ` Or Gerlitz
2021-02-09  8:43   ` Or Gerlitz
2021-02-10 16:51   ` Vlad Buslov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ygnhy2fvg91y.fsf@nvidia.com \
    --to=vladbu@nvidia.com \
    --cc=gerlitz.or@gmail.com \
    --cc=kuba@kernel.org \
    --cc=marcelo.leitner@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=saeed@kernel.org \
    --cc=vladbu@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).