From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 179C4A3201 for ; Mon, 21 Oct 2019 09:13:27 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BBF772BCE; Mon, 21 Oct 2019 09:12:51 +0200 (CEST) Received: from dish-sg.nttdocomo.co.jp (dish-sg.nttdocomo.co.jp [202.19.227.74]) by dpdk.org (Postfix) with ESMTP id A1308F3E for ; Mon, 21 Oct 2019 09:12:49 +0200 (CEST) X-dD-Source: Outbound Received: from zssg-mailmd101.ddreams.local (zssg-mailmd900.ddreams.local [10.160.172.63]) by zssg-mailou102.ddreams.local (Postfix) with ESMTP id 56F75120100; Mon, 21 Oct 2019 16:12:46 +0900 (JST) Received: from t131sg-mailcc12.ddreams.local (t131sg-mailcc12.ddreams.local [100.66.31.87]) by zssg-mailmd101.ddreams.local (dDREAMS) with ESMTP id <0PZP00KIBQPAPP00@dDREAMS>; Mon, 21 Oct 2019 16:12:46 +0900 (JST) Received: from t131sg-mailcc11 (localhost [127.0.0.1]) by t131sg-mailcc12.ddreams.local (unknown) with SMTP id x9L7Ck30023858; Mon, 21 Oct 2019 16:12:46 +0900 Received: from zssg-mailmf106.ddreams.local (unknown [127.0.0.1]) by zssg-mailmf106.ddreams.local (Postfix) with ESMTP id B62B87E6032; Mon, 21 Oct 2019 16:11:52 +0900 (JST) Received: from zssg-mailmf106.ddreams.local (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B48F38E6057; Mon, 21 Oct 2019 16:11:52 +0900 (JST) Received: from localhost (unknown [127.0.0.1]) by IMSVA (Postfix) with SMTP id B22598E6055; Mon, 21 Oct 2019 16:11:52 +0900 (JST) X-IMSS-HAND-OFF-DIRECTIVE: localhost:10026 Received: from zssg-mailmf106.ddreams.local (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EC8B18E6055; Mon, 21 Oct 2019 16:11:51 +0900 (JST) Received: from zssg-mailua106.ddreams.local (unknown [10.160.172.62]) by zssg-mailmf106.ddreams.local (Postfix) with ESMTP; Mon, 21 Oct 2019 16:11:51 +0900 (JST) Received: from [10.87.198.18] (unknown [10.160.183.129]) by zssg-mailua106.ddreams.local (dDREAMS) with ESMTPA id <0PZP007J1QNO0K40@dDREAMS>; Mon, 21 Oct 2019 16:11:48 +0900 (JST) Date: Mon, 21 Oct 2019 16:11:48 +0900 From: Hideyuki Yamashita In-reply-to: <20191018195529.F654.17218CA3@ntt-tx.co.jp_1> References: <20191018195529.F654.17218CA3@ntt-tx.co.jp_1> Message-id: <20191021161147.EF4C.17218CA3@ntt-tx.co.jp_1> MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit X-Mailer: Becky! ver. 2.74.02 [ja] X-TM-AS-GCONF: 00 To: Hideyuki Yamashita Cc: Slava Ovsiienko , Moti Haimovsky , "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH 0/7] net/mlx5: support for flow action on VLAN header X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Dear Slava, Moti and all, Please let me know if you need more information. Partial answer is acceptable for me. Thanks in advaince! BR, HIdeyuki Yamashita NTT TechnoCross > Dear Slava and experts, > > Thanks for your answering me. > Baased on your answer, I tested using testpmd. > And about the outcome, I have several questions. > > > [1.Test environment] > OS:Ubuntu18.04 > NIC1:MCX4121A-ACAT 25G > NIC2:MCX516A-CCAT 100G > Repo:dpdk-next-net > > I checked that the following is shown in git log command. > 9f1e94469 net/mlx5: fix netlink rdma socket callback routine > 50735012c net/mlx5: support reading module EEPROM data > f53a5f917 net/mlx5: support modify VLAN ID on existing VLAN header > 9af8046a1 net/mlx5: support modify VLAN ID on new VLAN header > 43184603e net/mlx5: support modifying VLAN priority on VLAN header > 4f59ffbd8 net/mlx5: support push flow action on VLAN header > b4bd8f5da net/mlx5: support pop flow action on VLAN header > 048e3e84c net/mlx5: add VLAN push/pop DR commands to glue > > [2.Test result] > I tested the follwoing flows with testpmd included in dpdk-next-net. > > A.flow create 0 ingress pattern eth / vlan id is 100 / end actions OF_POP_VLAN / end > B.flow create 0 ingress pattern eth dst is BB:BB:BB:BB:BB:BB / end actions OF_PUSH_VLAN ethertype 1000 / end > C.flow create 0 ingress pattern eth dst is BB:BB:BB:BB:BB:BB / end actions OF_SET_VLAN_VID vlan_vid 200 / end > D.flow create X ingress pattern eth dst is BB:BB:BB:BB:BB:BB / end actions of_SET_VLAN_PCP vlan_pcp 3 / end > E.flow create 0 egress pattern eth src is BB:BB:BB:BB:BB:BB / end actions OF_PUSH_VLAN ethertype 1000 / end > > A-D, resulted in "Caught error type 16 (specific action): cause: 0x7ffcc711db48, action not supported: Operation not supported". > E resulted in "Egress is not supported". > > [3. Quetions] > Q1. What is the appropriate flow to entag/detag VLAN using testpmd? > I think related commits are included so it "should" work and my guess is that my flow is somehow wrong. > Q2. Is it correct understanding that "egress" is not supported for mlx5 PMD? > Q3. If yes, is it possible to entag VLAN tag to the outgoing packet from physical NIC by using rte_flow? > > BR, > Hideyuki Yamashita > NTT TechnoCross > > > > > -----Original Message----- > > > From: Hideyuki Yamashita > > > Sent: Friday, October 4, 2019 13:35 > > > To: Hideyuki Yamashita > > > Cc: Moti Haimovsky ; Slava Ovsiienko > > > ; dev@dpdk.org > > > Subject: Re: [dpdk-dev] [PATCH 0/7] net/mlx5: support for flow action on > > > VLAN header > > > > > > Can somebody (Mellanox guys?) help me out? > > > > Hi, Hideyuki > > > > I'm sorry, there are long holidays in IL, so let me try to answer. > > > > > > > > > Hello Moti, > > > > > > > > I have some questions on the patch. > > > > Just want to know how to use it. > > > > > > > > Q1. Is it correct understanding that the patch will be reflected in > > > > 19.11 if it is approved? > > > > Yes, it is merged and should be reflected. > > > > > > > > > > Q2.Which action should I specify when I want to insert VLAN tag to > > > > non-VLAN frame? > > > > > > > > OF_PUSH_VLAN and OF_SET_VLAN_VID and OF_SET_VLAN_PCP ? > > > > All of them, OF_PUSH_VLAN inserts the VLAN header, OF_SET_VLAN_VID and > > OF_SET_VLAN_PCP fill the fields with appropriate values. > > > > > > > > > > Q3. Is it possible to detag VLAN when it receives VLAN tagged frame > > > > from outside of the host? > > Do you mean some complex configuration with multiple VMs and engaged E-Switch > > feature? Anyway, there are multiple ways to strip (untag) VLAN header: > > - with E-Switch rules (including match on specified port) > > - with local port rules > > - stripping VLAN in Rx queue > > > > > > > > > > Q4. Is it possible to entag VLAN to non-VLAN frame when it sends > > > > packet to outside of host? > > Yes. > > > > > > > > > > Q5.Are there any restriction to conbime other ACTIONS like QUEUE? > > Should no be. Action QUEUE is on Rx NIC namespace, VLAN POP is supported there. > > > > > > > > > > Q6. Is it possible to apply rte_flow actions for specified tx queue of > > > > physical NIC? > > > > (e.g. VM connect with PHY:0 using tx queue index:1, I want to entag > > > > VLAN 101 to the traffic from VM to PHY:0 is it possible?) > > Directly - no, there is no item to match with specific Tx queue. > > > > If setting VLAN on specific Tx queue is desired we have two options: > > > > - engage Tx offload DEV_TX_OFFLOAD_VLAN_INSERT, and provide VLAN with > > each packet being transferred to tx_burst > > > > - engage DEV_TX_OFFLOAD_MATCH_METADATA feature, and set specific > > metadata for all packets on specific queue. Then the rules matching with this metadata > > may be inserted. > > > > [snip] > > > > With best regards, Slava >