Dan Gora 4005ad2556 kni: fix build on CentOS 7.4
Fix compilation errors on Centos 7.4 when CONFIG_RTE_KNI_KMOD_ETHTOOL
is set to 'y'.

Centos 7.4 needs HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK_VLAN_FILL:

igb_main.c: In function ‘igb_ndo_bridge_getlink’:
igb_main.c:2289:2: error: too few arguments to function
                   ‘ndo_dflt_bridge_getlink’
  return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0, nlflags);
  ^

Centos 7.4 needs HAVE_VF_VLAN_PROTO and needs to redefine
ndo_set_vf_vlan to .extended.ndo_set_vf_vlan:

igb_main.c:2318:2: error: unknown field ‘ndo_set_vf_vlan’ specified
                   in initializer
  .ndo_set_vf_vlan = igb_ndo_set_vf_vlan,
  ^

Signed-off-by: Dan Gora <dg@adax.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-05-22 22:28:48 +02:00
..
2018-05-22 22:28:48 +02:00
2018-03-21 23:04:21 +01:00
2018-03-21 23:04:21 +01:00

..  SPDX-License-Identifier: BSD-3-Clause
    Copyright(c) 2010-2014 Intel Corporation.

Description

In order to support ethtool in Kernel NIC Interface, the standard Linux kernel
drivers of ixgbe/igb are needed to be reused here. ixgbe-3.9.17 is the version
modified from in kernel NIC interface kernel module to support ixgbe NIC, and
igb-3.4.8 is the version modified from in kernel NIC interface kernel module to
support igb NIC.

The source code package of ixgbe can be downloaded from sourceforge.net as below.
http://sourceforge.net/projects/e1000/files/ixgbe%20stable/
Below source files are copied or modified from ixgbe.

ixgbe_82598.h
ixgbe_82599.c
ixgbe_82599.h
ixgbe_api.c
ixgbe_api.h
ixgbe_common.c
ixgbe_common.h
ixgbe_dcb.h
ixgbe_ethtool.c
ixgbe_fcoe.h
ixgbe.h
ixgbe_main.c
ixgbe_mbx.h
ixgbe_osdep.h
ixgbe_phy.c
ixgbe_phy.h
ixgbe_sriov.h
ixgbe_type.h
kcompat.c
kcompat.h

The source code package of igb can be downloaded from sourceforge.net as below.
http://sourceforge.net/projects/e1000/files/igb%20stable/
Below source files are copied or modified from igb.

e1000_82575.c
e1000_82575.h
e1000_api.c
e1000_api.h
e1000_defines.h
e1000_hw.h
e1000_mac.c
e1000_mac.h
e1000_manage.c
e1000_manage.h
e1000_mbx.c
e1000_mbx.h
e1000_nvm.c
e1000_nvm.h
e1000_osdep.h
e1000_phy.c
e1000_phy.h
e1000_regs.h
igb_ethtool.c
igb.h
igb_main.c
igb_param.c
igb_procfs.c
igb_regtest.h
igb_sysfs.c
igb_vmdq.c
igb_vmdq.h
kcompat.c
kcompat_ethtool.c
kcompat.h