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