All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.