Index: sys/compat/linuxkpi/common/include/linux/inetdevice.h =================================================================== --- sys/compat/linuxkpi/common/include/linux/inetdevice.h +++ sys/compat/linuxkpi/common/include/linux/inetdevice.h @@ -33,6 +33,7 @@ #include +#if defined(_NET_DEVICE_IS_IFNET) static inline struct net_device * ip_dev_find(struct vnet *vnet, uint32_t addr) { @@ -89,5 +90,6 @@ NET_EPOCH_EXIT(et); return (ifp); } +#endif /* _NET_DEVICE_IS_IFNET */ #endif /* _LINUX_INETDEVICE_H_ */ Index: sys/compat/linuxkpi/common/include/linux/netdevice.h =================================================================== --- sys/compat/linuxkpi/common/include/linux/netdevice.h +++ sys/compat/linuxkpi/common/include/linux/netdevice.h @@ -55,6 +55,7 @@ #define MAX_ADDR_LEN 20 +#if defined(_NET_DEVICE_IS_IFNET) #define net_device ifnet static inline struct ifnet * @@ -88,9 +89,6 @@ return (dev->if_softc); } -#define rtnl_lock() -#define rtnl_unlock() - static inline int dev_mc_delete(struct net_device *dev, void *addr, int alen, int all) { @@ -128,6 +126,21 @@ return -if_addmulti(dev, (struct sockaddr *)&sdl, NULL); } +#else /* !_NET_DEVICE_IS_IFNET */ + +struct net_device { + /* + * Keep ifp first until _NET_DEVICE_IS_IFNET is gone + * for various compat bits, e.g., netdev_notifier_info. + */ + struct ifnet *ifp; + + char *name; +}; +#endif /* _NET_DEVICE_IS_IFNET */ + +#define rtnl_lock() +#define rtnl_unlock() /* According to linux::ipoib_main.c. */ struct netdev_notifier_info { Index: sys/dev/cxgbe/iw_cxgbe/cm.c =================================================================== --- sys/dev/cxgbe/iw_cxgbe/cm.c +++ sys/dev/cxgbe/iw_cxgbe/cm.c @@ -74,6 +74,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h =================================================================== --- sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h +++ sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h @@ -39,6 +39,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/dev/mlx4/mlx4_core/mlx4_main.c =================================================================== --- sys/dev/mlx4/mlx4_core/mlx4_main.c +++ sys/dev/mlx4/mlx4_core/mlx4_main.c @@ -43,6 +43,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/dev/mlx4/mlx4_en/en.h =================================================================== --- sys/dev/mlx4/mlx4_en/en.h +++ sys/dev/mlx4/mlx4_en/en.h @@ -39,6 +39,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/dev/mlx4/mlx4_en/mlx4_en_main.c =================================================================== --- sys/dev/mlx4/mlx4_en/mlx4_en_main.c +++ sys/dev/mlx4/mlx4_en/mlx4_en_main.c @@ -35,6 +35,7 @@ #include #include +#define _NET_DEVICE_IS_IFNET #include #include Index: sys/dev/mlx4/mlx4_ib/mlx4_ib_main.c =================================================================== --- sys/dev/mlx4/mlx4_ib/mlx4_ib_main.c +++ sys/dev/mlx4/mlx4_ib/mlx4_ib_main.c @@ -37,6 +37,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c =================================================================== --- sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c +++ sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c @@ -33,6 +33,7 @@ #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/dev/mlx5/mlx5_en/en.h =================================================================== --- sys/dev/mlx5/mlx5_en/en.h +++ sys/dev/mlx5/mlx5_en/en.h @@ -36,6 +36,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/dev/qlnx/qlnxr/qlnxr_def.h =================================================================== --- sys/dev/qlnx/qlnxr/qlnxr_def.h +++ sys/dev/qlnx/qlnxr/qlnxr_def.h @@ -41,6 +41,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/ofed/drivers/infiniband/core/ib_addr.c =================================================================== --- sys/ofed/drivers/infiniband/core/ib_addr.c +++ sys/ofed/drivers/infiniband/core/ib_addr.c @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/ofed/drivers/infiniband/core/ib_cache.c =================================================================== --- sys/ofed/drivers/infiniband/core/ib_cache.c +++ sys/ofed/drivers/infiniband/core/ib_cache.c @@ -42,6 +42,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include Index: sys/ofed/drivers/infiniband/core/ib_cma.c =================================================================== --- sys/ofed/drivers/infiniband/core/ib_cma.c +++ sys/ofed/drivers/infiniband/core/ib_cma.c @@ -46,6 +46,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/ofed/drivers/infiniband/core/ib_device.c =================================================================== --- sys/ofed/drivers/infiniband/core/ib_device.c +++ sys/ofed/drivers/infiniband/core/ib_device.c @@ -42,6 +42,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/ofed/drivers/infiniband/core/ib_sysfs.c =================================================================== --- sys/ofed/drivers/infiniband/core/ib_sysfs.c +++ sys/ofed/drivers/infiniband/core/ib_sysfs.c @@ -41,6 +41,7 @@ #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/ofed/drivers/infiniband/core/iwpm_util.h =================================================================== --- sys/ofed/drivers/infiniband/core/iwpm_util.h +++ sys/ofed/drivers/infiniband/core/iwpm_util.h @@ -44,6 +44,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c =================================================================== --- sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c +++ sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include +#define _NET_DEVICE_IS_IFNET #include #include "ipoib.h" Index: sys/ofed/include/rdma/ib_addr.h =================================================================== --- sys/ofed/include/rdma/ib_addr.h +++ sys/ofed/include/rdma/ib_addr.h @@ -41,6 +41,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include #include Index: sys/ofed/include/rdma/ib_sa.h =================================================================== --- sys/ofed/include/rdma/ib_sa.h +++ sys/ofed/include/rdma/ib_sa.h @@ -41,6 +41,7 @@ #include #include +#define _NET_DEVICE_IS_IFNET #include #include Index: sys/ofed/include/rdma/ib_verbs.h =================================================================== --- sys/ofed/include/rdma/ib_verbs.h +++ sys/ofed/include/rdma/ib_verbs.h @@ -59,6 +59,7 @@ #include #include #include +#define _NET_DEVICE_IS_IFNET #include #include