From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 55667A053A;
	Tue,  4 Aug 2020 12:02:09 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id B040C1C00D;
	Tue,  4 Aug 2020 12:02:08 +0200 (CEST)
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com
 [64.147.123.19]) by dpdk.org (Postfix) with ESMTP id 36D5C255
 for <dev@dpdk.org>; Tue,  4 Aug 2020 12:02:07 +0200 (CEST)
Received: from compute7.internal (compute7.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 121BFFAA;
 Tue,  4 Aug 2020 06:02:06 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute7.internal (MEProxy); Tue, 04 Aug 2020 06:02:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 from:to:cc:subject:date:message-id:mime-version
 :content-transfer-encoding:content-type; s=fm1; bh=QfkHI2titcDrE
 WNQa/pK81sRdA0YeOKeu3SLSzjdKzc=; b=NNfpn7AP/jB5ZzfuzBA2u0ZkUJY3i
 xYfCybe7psqPwh1UPsGRzpoHLDaitJidpn5YeuqVn7kFPyYgg7UfD4opuZkiHQbp
 oRDq64vCcuAdWyASNG3L1nwEYMrA1KipZFREkAU+rJ0Pszyi5TrGutYOoKdPFXB9
 40SmazsC9Nj6wcJTe8YHZhen34RVOCy7QyBvB5JQc0Xmoje0t8cupoMEeZ1NTKmN
 zxTou0CQhDo4Y2TSiXvatJTG18Su3w+yotJ5JJF5nHjbQVNBD+Gp2SwSSC2yCmGw
 FojCKNjOJ8PBkH71d+X5MZMRzdm9Sj4X6UsJRreUZn9eWf7qALOTSuSkQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :date:from:message-id:mime-version:subject:to:x-me-proxy
 :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=QfkHI2
 titcDrEWNQa/pK81sRdA0YeOKeu3SLSzjdKzc=; b=ObjPkf+XXhxVevhrUyDfKU
 fPQWKiPcQVWHrDtdZiEreL0DQ3DrDfPg6U2ziNPjMGlRrJyayWZcTYNBd/pSxk2g
 MSuBboswL+P87ru5Qc/+aiOo6IJia1h1mVZVD7zccVIvBvh14AnjRQAbg1/IFiVj
 wKT2uwSNe2fjUaEWUSC26pEv/N0tHm5xOyc3N30YouRYEeINGjj6ixtlWA8NWF5s
 6wCSmlJaIu8+SqBKhpTBS+9oEXrCDT0W8F0sU6XRiTPzCtiayOXoEB1RuaDBD+Vm
 lQCsGXwGw5QmzJjIcZaemhLfqLvH62rkXRHMekBMqqXanqS6+7ZpOngPhM4fqruw
 ==
X-ME-Sender: <xms:HTIpX4-ZyzQsWCQP5qADenklCxc8vBsjRbfd3G-T9pbWu5Fz2KOfLQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrjeeigddvfecutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkfgggfgtsehtufertddttd
 dvnecuhfhrohhmpefvhhhomhgrshcuofhonhhjrghlohhnuceothhhohhmrghssehmohhn
 jhgrlhhonhdrnhgvtheqnecuggftrfgrthhtvghrnhepueejudehtdejgeeujefhteejge
 dtgfehueeuiedvuefhieejhfffudefgeejhfeknecukfhppeejjedrudefgedrvddtfedr
 udekgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe
 hthhhomhgrshesmhhonhhjrghlohhnrdhnvght
X-ME-Proxy: <xmx:HTIpXwv4cEAeRi9ayzBDQMjJ600IH3XSeNc6XoHyalcJJu_WJ_Cvpw>
 <xmx:HTIpX-DWdxpEAv8-vSDOa_i2X6KtdEljRMOTdPHaK6WyBelBrIykIg>
 <xmx:HTIpX4cpd4u6c9eBNfqh5b0lT0z2H14PX1XwX6Ioii49LkIGjCnp6A>
 <xmx:HTIpX0YB-pbX_3E4yIFTTqA_yTKdCYCbcQLCOZQX8dfRUcIAbexYjg>
Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])
 by mail.messagingengine.com (Postfix) with ESMTPA id B1A7730600B9;
 Tue,  4 Aug 2020 06:02:04 -0400 (EDT)
From: Thomas Monjalon <thomas@monjalon.net>
To: ferruh.yigit@intel.com, arybchenko@solarflare.com
Cc: dev@dpdk.org
Date: Tue, 04 Aug 2020 12:02:03 +0200
Message-ID: <2943505.b7sj8NLL2l@thomas>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
Subject: [dpdk-dev] discussion about VLAN API
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

Hi,

We have a quite complex API for VLAN filter/push/pop,
per port, per queue or per flow.

These are the old per-port functions:
	rte_eth_dev_vlan_filter
	rte_eth_dev_set_vlan_strip_on_queue
	rte_eth_dev_set_vlan_ether_type
	rte_eth_dev_set_vlan_offload
	rte_eth_dev_get_vlan_offload
	rte_eth_dev_set_vlan_pvid

In rte_eth_dev_data:
	struct rte_vlan_filter_conf vlan_filter_conf

In rte_eth_txmode struct:
	uint16_t pvid;
	hw_vlan_reject_tagged : 1,
	hw_vlan_reject_untagged : 1,
	hw_vlan_insert_pvid : 1;

Configurartion flags:
	ETH_VLAN_STRIP_OFFLOAD
	ETH_VLAN_FILTER_OFFLOAD
	ETH_VLAN_EXTEND_OFFLOAD
	ETH_QINQ_STRIP_OFFLOAD

RX offload capabilities:
	DEV_RX_OFFLOAD_VLAN_STRIP
	DEV_RX_OFFLOAD_VLAN_FILTER
	DEV_RX_OFFLOAD_VLAN_EXTEND
	DEV_RX_OFFLOAD_QINQ_STRIP

TX offload capabilities:
	DEV_TX_OFFLOAD_VLAN_INSERT

Types:
	ETH_VLAN_TYPE_UNKNOWN
	ETH_VLAN_TYPE_INNER
	ETH_VLAN_TYPE_OUTER

rte_flow configuration:
	RTE_FLOW_ITEM_TYPE_VLAN
	RTE_FLOW_ACTION_TYPE_OF_POP_VLAN
	RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN
	RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID
	RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP

What can be done to simplify this mess?
Wouldn't it be simpler to keep only rte_flow?