numam-dpdk/drivers/net/hns3
Wei Hu (Xavier) eab2177671 net/hns3: support setting VF MAC address by PF driver
Currently, we only support VF device is bound to vfio_pci or igb_uio and
then driven by DPDK driver when PF is driven by kernel mode hns3 ethdev
driver, VF is not supported when PF is driven by hns3 DPDK driver.

This patch adds support setting VF MAC address by hns3 PF kernel ethdev
driver on the host by "ip link set ..." command.
1) If the hns3 PF kernel ethdev driver sets the MAC address for VF
   device before the initialization of the related VF device, hns3 VF
   PMD driver should get the MAC address from PF driver through mailbox
   and configure hardware using this MAC address in the initialization.
   The hns3 VF PMD driver get the MAC address form PF driver, if
   obtaining a non-zero MAC address from mailbox, VF driver will
   configure hardware using it, otherwise using a random MAC address in
   the initialization of VF device.
2) If the hns3 PF kernel ethdev driver sets the MAC address for VF
   device after the initialization of the related VF device, the PF
   driver will notify VF driver to reset VF device to make the new MAC
   address effective immediately. The hns3 VF PMD driver should check
   whether the MAC address has been changed by the PF kernel netdevice
   driver, if changed VF driver should configure hardware using the new
   MAC address in the recovering hardware configuration stage of the
   reset process.
3) When user has configured a mac address for VF device by "ip link set
   ..." command based on the PF device, the hns3 PF kernel ethdev driver
   does not allow VF driver to request reconfiguring a different default
   mac address and return -EPREM to VF driver through mailbox.

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Signed-off-by: Hongbo Zheng <zhenghongbo3@huawei.com>
2020-01-17 19:46:26 +01:00
..
hns3_cmd.c net/hns3: fix FLR reset 2019-10-25 19:23:23 +02:00
hns3_cmd.h net/hns3: support Rx interrupt 2020-01-17 19:46:01 +01:00
hns3_dcb.c net/hns3: support different numbers of Rx and Tx queues 2020-01-17 19:46:26 +01:00
hns3_dcb.h net/hns3: support different numbers of Rx and Tx queues 2020-01-17 19:46:26 +01:00
hns3_ethdev_vf.c net/hns3: support setting VF MAC address by PF driver 2020-01-17 19:46:26 +01:00
hns3_ethdev.c net/hns3: support different numbers of Rx and Tx queues 2020-01-17 19:46:26 +01:00
hns3_ethdev.h net/hns3: support different numbers of Rx and Tx queues 2020-01-17 19:46:26 +01:00
hns3_fdir.c net/hns3: support flow director 2019-10-07 15:00:56 +02:00
hns3_fdir.h net/hns3: support RSS 2019-10-07 15:00:56 +02:00
hns3_flow.c net/hns3: support different numbers of Rx and Tx queues 2020-01-17 19:46:26 +01:00
hns3_intr.c net/hns3: fix FLR reset 2019-10-25 19:23:23 +02:00
hns3_intr.h net/hns3: support device reset 2019-10-07 15:00:57 +02:00
hns3_logs.h net/hns3: register and add log interface 2019-10-07 15:00:56 +02:00
hns3_mbx.c net/hns3: get link state change through mailbox 2020-01-17 19:46:01 +01:00
hns3_mbx.h net/hns3: get link state change through mailbox 2020-01-17 19:46:01 +01:00
hns3_mp.c net/hns3: support multiple process 2019-10-07 15:00:57 +02:00
hns3_mp.h net/hns3: support multiple process 2019-10-07 15:00:57 +02:00
hns3_regs.c net/hns3: support dump register 2019-10-07 15:00:57 +02:00
hns3_regs.h net/hns3: support Rx interrupt 2020-01-17 19:46:01 +01:00
hns3_rss.c net/hns3: optimize default RSS algorithm 2020-01-17 19:46:01 +01:00
hns3_rss.h net/hns3: remove unused constants 2020-01-17 19:46:01 +01:00
hns3_rxtx.c net/hns3: support different numbers of Rx and Tx queues 2020-01-17 19:46:26 +01:00
hns3_rxtx.h net/hns3: support different numbers of Rx and Tx queues 2020-01-17 19:46:26 +01:00
hns3_stats.c net/hns3: fix statistics 2019-10-25 19:23:23 +02:00
hns3_stats.h net/hns3: support device stats 2019-10-07 15:00:57 +02:00
Makefile build: remove individual library versions 2019-11-20 23:05:39 +01:00
meson.build net/hns3: support multiple process 2019-10-07 15:00:57 +02:00
rte_pmd_hns3_version.map build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00