[dpdk-dev] [PATCH] net/i40e: force promiscuous state after VF reset
Eelco Chaudron
echaudro at redhat.com
Tue Nov 12 12:09:16 CET 2019
On 12 Nov 2019, at 1:52, Zhang, Xiao wrote:
> Hi Eelco,
>
> Seems you missed this mail.
Not sure why I missed this email, as it does not show up in my email
client :(
See below…
<SNIP>
>>>>>> Hi Eelco,
>>>>>>
>>>>>> I think you may need add more detailed message in the commit log
>>>>>> or comments.
>>>>>
>>>>> My interpretation of the request was that Beilei wanted to know
>>>>> why
>>>>> disabling promiscuous mode in HW was failing. Beilei can you
>>>>> comment, is the additional description from Xiao enough?
>>>>
>>>> Yes, promisc_unicast_enabled flag is not cleared during vf reset
>>>> because fail to disable promiscuous mode, So I think we need to
>>>> root
>>>> cause why fail to disable promiscuous mode first.
>>>> This patch looks like a workaround but not a fix.
>>>>
>>>
>>> This was debugged together with Xiao and from what I understand is
>>> that DPDK fails to reset promiscuous mode in hardware as PF and VF
>>> operations are not synced between kernel and DPDK.
>>>
>>> Xiao told me this could not be fixed in another way, Xiao can you
>>> comment?
>>>
>>
>> Checked again, the root cause is not synced issue between kernel and
>> DPDK
>> during reset.
What is the root cause, so I can update the patch description for the
next revision.
>> Suggest to remove the checking and setting of promisc_unicast_enabled
>> flag,
>> since this flag is only used when enable/disable promiscuous mode.
>> Considering the un-synced issue, it will be more clean if remove the
>> flag.
>> Also same with flag promisc_multicast_enabled.
So if I understand it correctly remove the following code:
2203 /* If enabled, just return */
2204 if (vf->promisc_multicast_enabled)
2205 return 0;
and
2222 /* If enabled, just return */
2223 if (!vf->promisc_multicast_enabled)
2224 return 0;
Or to remove the flags from the i40e_vf structure (and relative code):
1051 bool promisc_unicast_enabled;
1052 bool promisc_multicast_enabled;
Let me know and I craft up a patch…
Cheers,
Eelco
More information about the dev
mailing list