DPDK usage discussions
 help / color / mirror / Atom feed
From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
To: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Cc: Ye Xiaolong <xiaolong.ye@intel.com>, "users@dpdk.org" <users@dpdk.org>
Subject: Re: [dpdk-users] Why flow can not be created?
Date: Fri, 09 Aug 2019 15:05:58 +0900	[thread overview]
Message-ID: <20190809150558.D116.17218CA3@ntt-tx.co.jp_1> (raw)
In-Reply-To: <20190806091234.GJ4512@6wind.com>

Hello Adrien,

Thanks for your response.
> On Fri, Aug 02, 2019 at 03:06:19PM +0900, Hideyuki Yamashita wrote:
> > Helllo Experts,
> 
> I think most of them are on vacation :)
[Hideyuki]
I agree.
How about you?

> > Q1. Are there any NICs which supports entag/detag VLAN?
> > I searched source DPDK source code with keyword "OF_POP_VLAN" or "OF_POP_VLAN"
> > and found some codes within mlx5_flow_tcf.c and cxgbe_flow.c.
> 
> Indeed only those two seem to implement that. However depending on what
> you're trying to achieve, there could be a workaround as many drivers
> provide support for VLAN entag/detag outside rte_flow.
> 
> For Rx, you can dedicate queues to perform VLAN stripping through
> rte_eth_dev_set_vlan_strip_on_queue(), and use rte_flow to redirect traffic
> of interest to these queues after matching specific VLANs and other
> properties for instance.
> 
> If you don't care about specific VLANs or queues, you can request VLAN
> stripping globally using ETH_VLAN_STRIP_OFFLOAD with
> rte_eth_dev_set_vlan_offload(), then rely on mbuf->ol_flags & PKT_RX_VLAN to
> retrieve it from mbuf->vlan_tci.
> 
> On the Tx side you simply have to request mbuf->ol_flags | PKT_TX_VLAN while
> doing Tx. As for Rx, make sure DEV_TX_OFFLOAD_VLAN_INSERT is among the Tx
> offloads requested during setup (rte_eth_conf->txmode.offloads).

[Hideyuki]

There are at least 3 alternatives for Entag/Detag VLAN tag in hardware.
Alt1: rte_flow only (mlx5, cxgbe supports?)
Alt2: rte_eth_dev_set_vlan_strip_on_queue() call combine with rte_flow
(route specific traffic to specific quueue) this is applicable for RX only
Alt3: rte_eth_dev_set_vlan_offload()

Q1. Why there are multiple way to achieve same purpose?
(Is it long story?)


> > Q2. Are there any plans in DPDK community to update document about 
> > NIC to update support of rte_flow?
> > I have heard the situation about document form Adrien, and to be honest
> > I felt it is very hard to take try and error with testpmd for every NIC.
> 
> This was discussed in the past, however so far no action was taken.
> 
> I think we cannot summarize all supported combinations for each NIC while
> covering their specific quirks efficiently. For instance, two NICs may
> support a given pattern item, but not necessarily at the same position in
> the pattern. Likewise for pattern item fields, they may not support the same
> masks.
[Hideyuki]
Thanks for summerizing up the problem.
So many combinations to be sorted even for one NIC.
And it makes more difficult to sort out support status for all NICs,
right?
 
> The most sensible approach is perhaps to provide a list of popular flow
> rules tagged with the NICs supporting them.

Maybe it is a very good starting point.
I agree that if it is difficult to sort out "everything", to limit
number is the possible solution
- limit the number of NICs 
or 
- limit the flow rules (typical flows)

> Anyway since it's not a huge priority at the moment, you should start a
> discussion on that topic on the dev@dpdk.org mailing list. Without noise,
> nothing will happen :) As usual contributions are always welcome!

OK.
Thanks I will come back to dev-ml with "what we want from user
perspective".

Thanks for your guidance.

BR,
Hideyuki Yamashita
NTT TechnoCross

> -- 
> Adrien Mazarguil
> 6WIND

------------------------------------------------
NTTテクノクロス株式会社
フューチャーネットワーク事業部 第一事業ユニット
山下 英之(email: yamashita.hideyuki@po.ntt-tx.co.jp)
〒167-0043 東京都杉並区上荻1-2-1 荻窪インテグラルタワー13F
TEL 03-5347-8026    FAX  03-3392-6803
------------------------------------------------------



  parent reply	other threads:[~2019-08-09  6:06 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-19  6:08 Hideyuki Yamashita
2019-07-22 12:48 ` Ye Xiaolong
2019-07-23  6:26   ` Hideyuki Yamashita
2019-07-30 10:37     ` Hideyuki Yamashita
2019-07-30 12:25       ` Adrien Mazarguil
2019-07-31  2:30         ` Hideyuki Yamashita
2019-08-02  6:06           ` Hideyuki Yamashita
2019-08-06  9:12             ` Adrien Mazarguil
2019-08-06  9:59               ` Moti Haimovsky
2019-08-09  6:05               ` Hideyuki Yamashita [this message]
2019-08-14  5:56                 ` [dpdk-users] How L2 broadcast is handled under rte_flow? Hideyuki Yamashita
2019-08-29  3:11                   ` Hideyuki Yamashita

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=20190809150558.D116.17218CA3@ntt-tx.co.jp_1 \
    --to=yamashita.hideyuki@ntt-tx.co.jp \
    --cc=adrien.mazarguil@6wind.com \
    --cc=users@dpdk.org \
    --cc=xiaolong.ye@intel.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).