Skip to contentSkip to conversation

iavf_execute_vf_cmd(): Return failure -22 for cmd 11

DPDK/other Bug 1897 [email protected] 1 participant 2 messages Feb 26 – Mar 4

lore
Share & tools
lore
#0 lore raw

http://bugs.dpdk.org/show_bug.cgi?id=1897

            Bug ID: 1897
           Summary: iavf_execute_vf_cmd(): Return failure -22 for cmd 11
           Product: DPDK
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: other
          Assignee: [email protected]
          Reporter: [email protected]

Target Milestone: ---

Good day. Every time I am trying to set rte_eth_dev_default_mac_addr_set on my VF I get next error message in logs:

iavf_execute_vf_cmd(): Return failure -22 for cmd 11 iavf_add_del_eth_addr(): fail to execute command OP_DEL_ETH_ADDR iavf_dev_set_default_mac_addr(): Fail to delete old MAC:{}

On dpdk initialization step if there are no MAC on interface - new MAC generated and assigned

https://github.com/DPDK/dpdk/blob/main/drivers/net/intel/iavf/iavf_ethdev.c#L2851

But real asignment is made in iavf_dev_start by sending VIRTCHNL_ETHER_ADDR_PRIMARY request to linux kernel.

https://github.com/DPDK/dpdk/blob/main/drivers/net/intel/iavf/iavf_ethdev.c#L1069
https://github.com/DPDK/dpdk/blob/main/drivers/net/intel/iavf/iavf_vchnl.c#L1426

But if we change MAC with iavf_dev_set_default_mac_addr it removes old MAC, and assing new MAC. As iavf_dev_start was not called yet we try to remove non asigned VIRTCHNL_ETHER_ADDR_PRIMARY MAC. linux kernel checks this and return -EINVAL.

If we call rte_eth_dev_default_mac_addr_set second time with other MAC - there will be no stderr, as there are MAC in linux kernel and delete primary MAC operation will now be executed without -EINVAL.

This is not a critical issue, but this stderr confusing. As rte_eth_dev_default_mac_addr_set return success, but logs say about error.

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.