linux_dsm_epyc7002/drivers/net/ethernet
Hadar Hen Zion cb67b83292 net/mlx5e: Introduce SRIOV VF representors
Implement the relevant profile functions to create mlx5e driver instance
serving as VF representor. When SRIOV offloads mode is enabled, each VF
will have a representor netdevice instance on the host.

To do that, we also export set of shared service functions from en_main.c,
such that they can be used by both NIC and repsresentors netdevs.

The newly created representor netdevice has a basic set of net_device_ops
which are the same ndo functions as the NIC netdevice and an ndo of it's
own for phys port name.

The profiling infrastructure allow sharing code between the NIC and the
vport representor even though the representor has only a subset of the
NIC functionality.

The VF reps and the PF which is used in that mode to represent the uplink,
expose switchdev ops. Currently the only op supposed is attr get for the
port parent ID which here serves to identify net-devices belonging to the
same HW E-Switch. Other than that, no offloading is implemented and hence
switching functionality is achieved if one sets SW switching rules, e.g
using tc, bridge or ovs.

Port phys name (ndo_get_phys_port_name) is implemented to allow exporting
to user-space the VF vport number and along with the switchdev port parent
id (phys_switch_id) enable a udev base consistent naming scheme:

SUBSYSTEM=="net", ACTION=="add", ATTR{phys_switch_id}=="<phys_switch_id>", \
        ATTR{phys_port_name}!="", NAME="$PF_NIC$attr{phys_port_name}"

where phys_switch_id is exposed by the PF (and VF reps) and $PF_NIC is
the name of the PF netdevice.

Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-02 14:40:41 -04:00
..
3com treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
8390 net: ethernet: ax88796: use phy_ethtool_{get|set}_link_ksettings 2016-06-16 17:07:05 -07:00
adaptec treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
adi treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
aeroflex aeroflex/greth: fix warning about unused variable 2016-05-20 18:33:37 -07:00
agere net: ethernet: et131x: use phy_ethtool_{get|set}_link_ksettings 2016-06-17 22:30:59 -07:00
allwinner net: ethernet: sun4i-emac: use phy_ethtool_{get|set}_link_ksettings 2016-06-22 16:22:41 -04:00
alteon
altera net: ethernet: altera_tse: use phy_ethtool_{get|set}_link_ksettings 2016-06-22 16:22:41 -04:00
amd net: au1000_eth: fix PHY detection 2016-06-10 23:34:42 -07:00
apm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-05-15 13:32:48 -04:00
apple
arc net: arc: trivial: Replace comma with a semicolon 2016-05-25 22:13:15 -07:00
atheros net: alx: Work around the DMA RX overflow issue 2016-06-14 15:30:50 -04:00
aurora net: ethernet: nb8800: use phy_ethtool_{get|set}_link_ksettings 2016-06-19 10:55:16 -07:00
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-06-30 05:03:36 -04:00
brocade bna: fix list corruption 2016-03-01 15:19:43 -05:00
cadence net: ethernet: macb: use phy_ethtool_{get|set}_link_ksettings 2016-06-25 11:57:33 -04:00
calxeda
cavium Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-06-30 05:03:36 -04:00
chelsio cxgb4vf: Synchronize access to mailbox 2016-06-25 12:04:33 -04:00
cirrus net: cx89x0: Add DT support 2016-06-15 12:17:57 -07:00
cisco net: ethernet: enic: move to new ethtool api {get|set}_link_ksettings 2016-06-14 17:16:14 -04:00
davicom drivers: net: Don't print unpopulated net_device name 2016-05-17 12:30:19 -04:00
dec treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
dlink treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
emulex be2net: signedness bug in be_msix_enable() 2016-06-30 08:54:18 -04:00
ezchip net: nps_enet: Disable interrupts before napi reschedule 2016-05-29 22:35:21 -07:00
faraday net: ethernet: ftgmac100: use phy_ethtool_{get|set}_link_ksettings 2016-05-16 21:51:41 -04:00
freescale net: fec: use a more proper compatible string for i.MX6UL type device 2016-06-27 04:01:48 -04:00
fujitsu treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
hisilicon net: hns: get reset registers from DT 2016-07-01 16:56:52 -04:00
hp treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
i825xx treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
ibm ibmvnic: fix to use list_for_each_safe() when delete items 2016-06-29 05:23:42 -04:00
intel Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 2016-06-30 09:29:07 -04:00
marvell net: ethernet: mvpp2: use phy_ethtool_{get|set}_link_ksettings 2016-06-29 06:03:39 -04:00
mediatek net-next: mediatek: add support for IRQ grouping 2016-06-30 08:52:04 -04:00
mellanox net/mlx5e: Introduce SRIOV VF representors 2016-07-02 14:40:41 -04:00
micrel drivers: net: Don't print unpopulated net_device name 2016-05-17 12:30:19 -04:00
microchip treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
moxa treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
myricom myri10ge: fix sleeping with bh disabled 2016-04-28 14:21:14 -04:00
natsemi treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
neterion drivers: net: remove NETDEV_TX_LOCKED 2016-04-26 15:53:05 -04:00
netronome nfp: implement ethtool .get_link() callback 2016-06-30 09:12:14 -04:00
nuvoton treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
nvidia forcedeth: Use setup_timer() 2016-02-25 16:51:05 -05:00
nxp net: ethernet: lpc_eth: use phy_ethtool_{get|set}_link_ksettings 2016-06-29 08:15:33 -04:00
oki-semi pch_gbe: replace private tx ring lock with common netif_tx_lock 2016-04-28 17:19:58 -04:00
packetengines treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
pasemi pasemi_mac: Replace LRO with GRO 2016-02-17 16:15:45 -05:00
qlogic qede: Bump up driver version to 8.10.1.20 2016-07-01 05:40:53 -04:00
qualcomm treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
rdc net: ethernet: r6040: use phy_ethtool_{get|set}_link_ksettings 2016-06-28 09:12:35 -04:00
realtek r8169: default to 64-bit DMA on recent PCIe chips 2016-05-17 14:31:09 -04:00
renesas ravb: Remove manual pause frame transmit 2016-06-01 23:33:21 -07:00
rocker switchdev: pass pointer to fib_info instead of copy 2016-05-17 13:58:49 -04:00
samsung net: ethernet: sxgbe: use phy_ethtool_{get|set}_link_ksettings 2016-06-28 09:12:35 -04:00
seeq treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-06-30 05:03:36 -04:00
sgi treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
silan
sis treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
smsc net: smsc911x: Fix bug where PHY interrupts are overwritten by 0 2016-06-27 04:21:15 -04:00
stmicro drivers: net: stmmac: add port selection programming 2016-06-28 08:54:23 -04:00
sun treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
synopsys net: ethernet: dwc_eth_qos: use phy_ethtool_{get|set}_link_ksettings 2016-06-28 09:12:36 -04:00
tehuti treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-06-30 05:03:36 -04:00
tile net: tilegx: use correct timespec64 type 2016-06-17 22:27:38 -07:00
toshiba net: tc35815: fix spelling mistake on "descriptors" 2016-06-27 04:17:38 -04:00
tundra net: tsi108: use NULL for pointer-typed argument 2016-04-26 01:10:26 -04:00
via treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
wiznet net: ethernet: wiznet: Remove create_workqueue 2016-06-02 12:15:17 -07:00
xilinx treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
xircom ethernet: xircom: fix spelling mistakes on "excessive collisions" 2016-06-27 04:19:14 -04:00
xscale
dnet.c net: ethernet: dnet: use phy_ethtool_{get|set}_link_ksettings 2016-06-28 05:10:26 -04:00
dnet.h net: ethernet: dnet: use phydev from struct net_device 2016-06-28 05:10:26 -04:00
ec_bhf.c
ethoc.c net/ethoc: fix null dereference on error exit path 2016-06-01 22:02:01 -07:00
fealnx.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
jme.c drivers/net/ethernet/jme.c: Deinline jme_reset_mac_processor, save 2816 bytes 2016-04-13 22:57:00 -04:00
jme.h
Kconfig netdev: Move octeon/octeon_mgmt driver to cavium directory. 2016-03-18 18:25:30 -04:00
korina.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
lantiq_etop.c net: lantiq_etop: remove unused variable 2016-06-17 20:54:35 -07:00
Makefile netdev: Move octeon/octeon_mgmt driver to cavium directory. 2016-03-18 18:25:30 -04:00
netx-eth.c drivers: net: Don't print unpopulated net_device name 2016-05-17 12:30:19 -04:00