numam-dpdk/drivers/net
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
..
af_packet build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
af_xdp net/af_xdp: use single producer/consumer ring 2020-01-17 19:46:02 +01:00
ark build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
atlantic build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
avp build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
axgbe net/axgbe: add xstats 2020-01-17 19:46:01 +01:00
bnx2x net/bnx2x: remove local bool type 2020-01-17 19:46:02 +01:00
bnxt net/bnxt: fix overwriting error message 2020-01-17 19:46:01 +01:00
bonding build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
cxgbe net/cxgbe: remove local bool type 2020-01-17 19:46:02 +01:00
dpaa drivers: update copyright for NXP files 2019-11-28 16:03:54 +01:00
dpaa2 drivers: update copyright for NXP files 2019-11-28 16:03:54 +01:00
e1000 net/e1000: remove local bool type 2020-01-17 19:46:02 +01:00
ena net/ena: support Rx offset 2020-01-17 19:46:01 +01:00
enetc build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
enic build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
failsafe build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
fm10k net/fm10k: remove local bool type 2020-01-17 19:46:02 +01:00
hinic build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
hns3 net/hns3: support setting VF MAC address by PF driver 2020-01-17 19:46:26 +01:00
i40e net/i40e: support flow director for L2TPv3 over IP 2020-01-17 19:46:26 +01:00
iavf net/iavf/base: move to drivers common directory 2020-01-17 19:46:02 +01:00
ice net/ice: use ethernet copy API to do MAC assignment 2020-01-17 19:46:02 +01:00
ipn3ke net/ipn3ke: fix line side statistics register read 2020-01-17 19:46:01 +01:00
ixgbe net/ixgbe: avoid multiple definitions of bool 2020-01-17 19:46:02 +01:00
kni net/kni: fix crash caused by double stop 2019-11-26 18:22:27 +01:00
liquidio build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
memif build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
mlx4 net/mlx: fix build with clang 9 2019-12-12 23:23:25 +01:00
mlx5 net/mlx5: fix Tx burst routines set 2020-01-17 19:46:02 +01:00
mvneta build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
mvpp2 build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
netvsc net/netvsc: disable before changing RSS parameters 2020-01-17 19:45:23 +01:00
nfb build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
nfp net/nfp: replace license text with SPDX tag 2019-11-28 02:12:41 +01:00
null build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
octeontx net/octeontx: set queue offload capabilities 2019-11-26 07:49:30 +01:00
octeontx2 net/octeontx2: fix getting supported packet types 2020-01-17 19:46:02 +01:00
pcap net/pcap: truncate packet if it is too large 2020-01-17 19:45:23 +01:00
pfe drivers: update copyright for NXP files 2019-11-28 16:03:54 +01:00
qede net/qede: remove local bool type 2020-01-17 19:46:02 +01:00
ring build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
sfc build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
softnic build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
szedata2 build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
tap build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
thunderx net/thunderx: use new API to save cycles on aarch64 2020-01-17 12:02:21 +01:00
vdev_netvsc build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
vhost net/vhost: check creation failure 2020-01-17 19:46:02 +01:00
virtio net/virtio-user: check file descriptor before closing 2020-01-17 19:46:02 +01:00
vmxnet3 net/vmxnet3: remove local bool type 2020-01-17 19:46:02 +01:00
Makefile drivers: move ifc to vDPA directory 2020-01-14 00:09:33 +01:00
meson.build drivers: move ifc to vDPA directory 2020-01-14 00:09:33 +01:00