[dpdk-dev] [Bug 613] [21.02] rule lost after port stopped

Asaf Penso asafp at nvidia.com
Thu Jan 14 14:27:09 CET 2021


>-----Original Message-----
>From: dev <dev-bounces at dpdk.org> On Behalf Of Ferruh Yigit
>Sent: Thursday, January 14, 2021 10:38 AM
>To: Gregory Etelson <getelson at nvidia.com>; Ori Kam <orika at nvidia.com>
>Cc: bugzilla at dpdk.org; dev at dpdk.org; Ajit Khaparde
><ajit.khaparde at broadcom.com>
>Subject: Re: [dpdk-dev] [Bug 613] [21.02] rule lost after port stopped
>
>On 1/14/2021 7:15 AM, bugzilla at dpdk.org wrote:
>>
>https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs
>>
>.dpdk.org%2Fshow_bug.cgi%3Fid%3D613&data=04%7C01%7Casafp%40n
>vidia.
>>
>com%7Cfa63af2a7ee048e0ff8c08d8b867c219%7C43083d15727340c1b7db39efd
>9ccc
>>
>17a%7C0%7C0%7C637462103068292531%7CUnknown%7CTWFpbGZsb3d8eyJ
>WIjoiMC4wL
>>
>jAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&
>sdata
>>
>=PMbgS6CGe6etyFwI%2F7wjnNC9Fptp4%2BuMCprcJx9I3Gg%3D&reserv
>ed=0
>>
>>              Bug ID: 613
>>             Summary: [21.02] rule lost after port stopped
>>             Product: DPDK
>>             Version: unspecified
>>            Hardware: x86
>>                  OS: Linux
>>              Status: UNCONFIRMED
>>            Severity: normal
>>            Priority: Normal
>>           Component: testpmd
>>            Assignee: dev at dpdk.org
>>            Reporter: qinx.sun at intel.com
>>    Target Milestone: ---
>>
>> create a rule in testpmd, stop port and then flow list port find that
>> rule lost.
>>
>> Environment
>>
>> DPDK version: Use make showversion or for a non-released version: git
>> remote -v && git show-ref --heads
>> 21.02.0-rc0:0144eeafd1467937a379a7dc005bcb0579b0ae5e
>> Other software versions: name/version for QEMU, OVS, etc. Repeat as
>required.
>> OS: CentOS8.3
>> Compiler: gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) Hardware
>> platform: Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz NIC hardware:
>> Ethernet Controller E810-C for SFP 1593 NIC firmware: 2.30 0x80004dcf
>> 1.2839.0 NIC driver: 1.3.0_dirty
>> Pkg: ice-comms_1.3.24.0
>>
>> [reproduce steps]
>> 1. bind to vfio-pci and create 2 vfs
>> usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:03:00.0 echo 2
>> > /sys/bus/pci/devices/0000:03:00.0/sriov_numvfs
>>
>> 2. start testpmd
>> x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1,2,3,4 -n 4 -a
>> 0000:03:01.0,cap=dcf -a 0000:03:01.1
>> --file-prefix=dpdk_1965_20210114114229
>> -- -i
>>
>> 3. create a rule
>> testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 /
>> testpmd> ipv4 src
>> is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25
>> dst is 23 / end actions vf id 1 / end Flow rule #1 created
>>
>> 4. list rule
>> testpmd> flow list 0
>> ID      Group   Prio    Attr    Rule
>> 0       0       0       i--     ETH IPV4 UDP => VF
>>
>> 5.stop port 0
>> testpmd> port stop 0
>> Stopping ports...
>> Checking link statuses...
>> Done
>>
>> 6.list rule
>> testpmd> flow list 0
>> testpmd>
>>
>> Actual Result: rule lost after port stopped
>>
>> Expected Result: The result of rule list is the same as step 4.
>>
>> Regression
>> Is this issue a regression: (Y)
>>
>> Version the regression was introduced: Specify git id if known.
>>
>> commit 0f93edbf7c874480e21e365f527fecdb305984b9
>> Author: Gregory Etelson <getelson at nvidia.com>
>> Date: Thu Nov 26 18:43:02 2020 +0200
>>
>> app/testpmd: release flows left before port stop
>>
>> According to RTE flow user guide, PMD will not keep flow rules after
>> port stop. Application resources that refer to flow rules become
>> obsolete after port stop and must not be used.
>> Testpmd maintains linked list of active flows for each port. Entries
>> in that list are allocated dynamically and must be explicitly released
>> to prevent memory leak.
>> The patch releases testpmd port flow_list that holds remaining flows
>> before port is stopped.
>>
>> Cc: stable at dpdk.org
>>
>> Signed-off-by: Gregory Etelson <getelson at nvidia.com>
>> Acked-by: Ori Kam <orika at nvidia.com>
>> Acked-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
>>
>
>cc'ed Gregory & Ori.

This is now the expected behavior and the motivation is written in the commit message by Gregory.



More information about the dev mailing list