kni: add build option for ethtool support
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
parent
7a514a0070
commit
b2b0f85182
@ -577,6 +577,7 @@ CONFIG_RTE_PIPELINE_STATS_COLLECT=n
|
||||
#
|
||||
CONFIG_RTE_LIBRTE_KNI=n
|
||||
CONFIG_RTE_KNI_KMOD=n
|
||||
CONFIG_RTE_KNI_KMOD_ETHTOOL=n
|
||||
CONFIG_RTE_KNI_PREEMPT_DEFAULT=y
|
||||
CONFIG_RTE_KNI_VHOST=n
|
||||
CONFIG_RTE_KNI_VHOST_MAX_CACHE_SIZE=1024
|
||||
|
@ -38,6 +38,7 @@ CONFIG_RTE_EXEC_ENV_LINUXAPP=y
|
||||
CONFIG_RTE_EAL_IGB_UIO=y
|
||||
CONFIG_RTE_EAL_VFIO=y
|
||||
CONFIG_RTE_KNI_KMOD=y
|
||||
CONFIG_RTE_KNI_KMOD_ETHTOOL=y
|
||||
CONFIG_RTE_LIBRTE_KNI=y
|
||||
CONFIG_RTE_LIBRTE_VHOST=y
|
||||
CONFIG_RTE_LIBRTE_PMD_VHOST=y
|
||||
|
@ -59,32 +59,32 @@ DEPDIRS-y += lib/librte_eal/linuxapp/eal
|
||||
#
|
||||
# all source are stored in SRCS-y
|
||||
#
|
||||
SRCS-y := ethtool/ixgbe/ixgbe_main.c
|
||||
SRCS-y += ethtool/ixgbe/ixgbe_api.c
|
||||
SRCS-y += ethtool/ixgbe/ixgbe_common.c
|
||||
SRCS-y += ethtool/ixgbe/ixgbe_ethtool.c
|
||||
SRCS-y += ethtool/ixgbe/ixgbe_82599.c
|
||||
SRCS-y += ethtool/ixgbe/ixgbe_82598.c
|
||||
SRCS-y += ethtool/ixgbe/ixgbe_x540.c
|
||||
SRCS-y += ethtool/ixgbe/ixgbe_phy.c
|
||||
SRCS-y += ethtool/ixgbe/kcompat.c
|
||||
|
||||
SRCS-y += ethtool/igb/e1000_82575.c
|
||||
SRCS-y += ethtool/igb/e1000_i210.c
|
||||
SRCS-y += ethtool/igb/e1000_api.c
|
||||
SRCS-y += ethtool/igb/e1000_mac.c
|
||||
SRCS-y += ethtool/igb/e1000_manage.c
|
||||
SRCS-y += ethtool/igb/e1000_mbx.c
|
||||
SRCS-y += ethtool/igb/e1000_nvm.c
|
||||
SRCS-y += ethtool/igb/e1000_phy.c
|
||||
SRCS-y += ethtool/igb/igb_ethtool.c
|
||||
SRCS-y += ethtool/igb/igb_main.c
|
||||
SRCS-y += ethtool/igb/igb_param.c
|
||||
SRCS-y += ethtool/igb/igb_vmdq.c
|
||||
|
||||
SRCS-y += kni_misc.c
|
||||
SRCS-y := kni_misc.c
|
||||
SRCS-y += kni_net.c
|
||||
SRCS-y += kni_ethtool.c
|
||||
SRCS-$(CONFIG_RTE_KNI_VHOST) += kni_vhost.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += kni_ethtool.c
|
||||
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/ixgbe/ixgbe_main.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/ixgbe/ixgbe_api.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/ixgbe/ixgbe_common.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/ixgbe/ixgbe_ethtool.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/ixgbe/ixgbe_82599.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/ixgbe/ixgbe_82598.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/ixgbe/ixgbe_x540.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/ixgbe/ixgbe_phy.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/ixgbe/kcompat.c
|
||||
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/e1000_82575.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/e1000_i210.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/e1000_api.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/e1000_mac.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/e1000_manage.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/e1000_mbx.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/e1000_nvm.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/e1000_phy.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/igb_ethtool.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/igb_main.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/igb_param.c
|
||||
SRCS-$(CONFIG_RTE_KNI_KMOD_ETHTOOL) += ethtool/igb/igb_vmdq.c
|
||||
|
||||
include $(RTE_SDK)/mk/rte.module.mk
|
||||
|
@ -205,12 +205,14 @@ kni_dev_remove(struct kni_dev *dev)
|
||||
if (!dev)
|
||||
return -ENODEV;
|
||||
|
||||
#ifdef CONFIG_RTE_KNI_KMOD_ETHTOOL
|
||||
if (dev->pci_dev) {
|
||||
if (pci_match_id(ixgbe_pci_tbl, dev->pci_dev))
|
||||
ixgbe_kni_remove(dev->pci_dev);
|
||||
else if (pci_match_id(igb_pci_tbl, dev->pci_dev))
|
||||
igb_kni_remove(dev->pci_dev);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (dev->net_dev) {
|
||||
unregister_netdev(dev->net_dev);
|
||||
@ -326,10 +328,7 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num,
|
||||
struct kni_net *knet = net_generic(net, kni_net_id);
|
||||
int ret;
|
||||
struct rte_kni_device_info dev_info;
|
||||
struct pci_dev *pci = NULL;
|
||||
struct pci_dev *found_pci = NULL;
|
||||
struct net_device *net_dev = NULL;
|
||||
struct net_device *lad_dev = NULL;
|
||||
struct kni_dev *kni, *dev, *n;
|
||||
|
||||
pr_info("Creating kni...\n");
|
||||
@ -419,6 +418,11 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num,
|
||||
dev_info.vendor_id,
|
||||
dev_info.device_id);
|
||||
|
||||
#ifdef CONFIG_RTE_KNI_KMOD_ETHTOOL
|
||||
struct pci_dev *found_pci = NULL;
|
||||
struct net_device *lad_dev = NULL;
|
||||
struct pci_dev *pci = NULL;
|
||||
|
||||
pci = pci_get_device(dev_info.vendor_id, dev_info.device_id, NULL);
|
||||
|
||||
/* Support Ethtool */
|
||||
@ -459,6 +463,7 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num,
|
||||
}
|
||||
if (pci)
|
||||
pci_dev_put(pci);
|
||||
#endif
|
||||
|
||||
if (kni->lad_dev)
|
||||
ether_addr_copy(net_dev->dev_addr, kni->lad_dev->dev_addr);
|
||||
|
Loading…
Reference in New Issue
Block a user