From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 0DB4C1BA92 for ; Fri, 22 Jun 2018 12:19:18 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jun 2018 03:19:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,256,1526367600"; d="scan'208";a="65405917" Received: from awalabdu-mobl.ger.corp.intel.com (HELO [10.252.9.106]) ([10.252.9.106]) by fmsmga004.fm.intel.com with ESMTP; 22 Jun 2018 03:19:14 -0700 To: =?UTF-8?Q?N=c3=a9lio_Laranjeiro?= Cc: dev@dpdk.org, Adrien Mazarguil , Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , Ori Kam , Stephen Hemminger References: <1abcbded-425c-c137-af00-7d8f17805cb9@intel.com> <20180622083158.2teseqebd5qnmvoj@laranjeiro-vm.dev.6wind.com> <833f6445-bcc2-ae2e-1dc7-45f33e0d8e8e@intel.com> <20180622090859.ewqrwyyvtjj463or@laranjeiro-vm.dev.6wind.com> From: Mohammad Abdul Awal Message-ID: <92ca13ed-6025-9186-0cb0-b787af470dec@intel.com> Date: Fri, 22 Jun 2018 11:19:14 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180622090859.ewqrwyyvtjj463or@laranjeiro-vm.dev.6wind.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Subject: Re: [dpdk-dev] [PATCH v4 0/2] app/testpmd implement VXLAN/NVGRE Encap/Decap 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: , X-List-Received-Date: Fri, 22 Jun 2018 10:19:19 -0000 On 22/06/2018 10:08, Nélio Laranjeiro wrote: > On Fri, Jun 22, 2018 at 09:51:15AM +0100, Mohammad Abdul Awal wrote: >> >> On 22/06/2018 09:31, Nélio Laranjeiro wrote: >>> On Fri, Jun 22, 2018 at 08:42:10AM +0100, Mohammad Abdul Awal wrote: >>>> Hi Nelio, >>>> >>>> >>>> On 21/06/2018 08:13, Nelio Laranjeiro wrote: >>>>> This series adds an easy and maintainable configuration version support for >>>>> those two actions for 18.08 by using global variables in testpmd to store the >>>>> necessary information for the tunnel encapsulation. Those variables are used >>>>> in conjunction of RTE_FLOW_ACTION_{VXLAN,NVGRE}_ENCAP action to create easily >>>>> the action for flows. >>>>> >>>>> A common way to use it: >>>>> >>>>> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 >>>>> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end >>>> This way we can define only one tunnel for all the flows. This is not a >>>> convenient for testing a scenario (e.g. mutiport or switch) with multiple >>>> tunnels. Isn't it? >>> Hi Awal. >>> >>> The "set vxlan" command will just configure the outer VXLAN tunnel to be >>> used, when the "flow" command is invoked, it will use the VXLAN tunnel >>> information and create a valid VXLAN_ENCAP action. For instance: >>> >>> testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 >>> testpmd> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end >>> testpmd> set vxlan ipv6 4 34 42 ::1 ::2222 80:12:13:14:15:16 22:22:22:22:22:22 >>> testpmd> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end >>> >>> will create two VLXAN_ENCAP flow one with IPv4 tunnel the second one >>> with an IPv6. Whereas: >>> >>> testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 >>> testpmd> flow create 0 ingress pattern eth / ipv4 src is 10.2.3.4 / end >>> actions vxlan_encap / queue index 0 / end >>> testpmd> flow create 0 ingress pattern eth / ipv4 src is 20.2.3.4 / end >>> actions vxlan_encap / queue index 0 / end >>> >>> will encapsulate the packets having as IPv4 source IP 10.2.3.4 and >>> 20.2.3.4 with the same VXLAN tunnel headers. >> I understand that the same IPv4 tunnel will be used for both flows in your >> example above.  I have the following questions. >> >> 1) How can we create two or more IPv4 (or IPv6) tunnel? >> 1) How can we make the flows to use different IPv4 tunnels? >> As an example, >> >> testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 >> testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 33:33:33:33:33:33 44:44:44:44:44:44 >> testpmd> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end >> testpmd> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end >> > Doing this, the flows will use the same tunnel, you must do: > > testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 > testpmd> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end > testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 33:33:33:33:33:33 44:44:44:44:44:44 > testpmd> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end > > to have what you want. OK, thanks for the clarification. So, since there will be only one global instance of the tunnel,  for any subsequent "set vxlan" operations, the tunnel created from the last last operation will be used. May be it should be cleared in the description/documentation? >> Is it possible? > Regards, >