Hi David,

Thanks for the patch.

I also see a similar error with iavf using dpdk-22.11.1. But in my case, I see  2 more additional error logs showing up during iavf_dev_configure(). It's with ESX-8.0U1 with an inbox driver. Firmware upgrade did not resolve the issue though.

2023-12-08T09:58:00.906 |9322| MSG      [NET] dpdk_log_write:107 iavf_execute_vf_cmd(): Return failure -4 for cmd 27
2023-12-08T09:58:00.906 |9322| MSG      [NET] dpdk_log_write:107 iavf_enable_vlan_strip(): Failed to execute command of OP_ENABLE_VLAN_STRIPPING

2023-12-08T09:58:00.906 |9322| MSG      [NET] dpdk_log_write:107 iavf_dev_init_vlan(): Failed to update vlan offload
2023-12-08T09:58:00.906 |9322| MSG      [NET] dpdk_log_write:107 iavf_dev_configure(): configure VLAN failed: -5
2023-12-08T09:58:01.156 |9322| MSG      [NET] dpdk_log_write:107 iavf_execute_vf_cmd(): Return failure -5 for cmd 14

I was currently following up with KaiwenX on this. Attached the mail thread for reference. 

Could you please let me know if this patch would fix the issue or any more additional fixes are needed?

Regards,
Amiya


On Tue, Feb 6, 2024 at 4:04 PM David Marchand <david.marchand@redhat.com> wrote:
This was reported by RH QE.

When a vlan is enforced on a VF via an administrative configuration on
the PF side, the net/iavf driver logs two error messages.
Those error messages have no consequence on the rest of the port
initialisation and packet processing works fine.

[root@toto ~] # ip l set enp94s0 vf 0 vlan 2
[root@toto ~] # dpdk-testpmd -a 0000:5e:02.0 -- -i
...
Configuring Port 0 (socket 0)
iavf_dev_init_vlan(): Failed to update vlan offload
iavf_dev_configure(): configure VLAN failed: -95
iavf_set_rx_function(): request RXDID[1] in Queue[0] is legacy, set
        rx_pkt_burst as legacy for all queues

The first change is to remove the error log in iavf_dev_init_vlan().
This log is unneeded since all error path are covered by a dedicated log
message already.

Then, in iavf_dev_init_vlan(), requesting all possible VLAN offloading
must not trigger an ERROR level log message. This is simply confusing,
as the application may not have requested such vlan offloading.
The reason why the driver requests all offloading is unclear so keep it
as is. Instead, rephrase the log message and lower its level to INFO.

Fixes: 1c301e8c3cff ("net/iavf: support new VLAN capabilities")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
Changes since v1:
- updated log message,

---
 drivers/net/iavf/iavf_ethdev.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 1fb876e827..3532e379a1 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -631,7 +631,8 @@ iavf_dev_init_vlan(struct rte_eth_dev *dev)
                                        RTE_ETH_VLAN_FILTER_MASK |
                                        RTE_ETH_VLAN_EXTEND_MASK);
        if (err) {
-               PMD_DRV_LOG(ERR, "Failed to update vlan offload");
+               PMD_DRV_LOG(INFO,
+                       "VLAN offloading is not supported, or offloading was refused by the PF");
                return err;
        }

@@ -707,9 +708,7 @@ iavf_dev_configure(struct rte_eth_dev *dev)
                vf->max_rss_qregion = IAVF_MAX_NUM_QUEUES_DFLT;
        }

-       ret = iavf_dev_init_vlan(dev);
-       if (ret)
-               PMD_DRV_LOG(ERR, "configure VLAN failed: %d", ret);
+       iavf_dev_init_vlan(dev);

        if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF) {
                if (iavf_init_rss(ad) != 0) {
--
2.43.0


This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it.