linux_dsm_epyc7002/include/linux/mlx5
Saeed Mahameed eeb66cdb68 net/mlx5: Separate between E-Switch and MPFS
Multi-Physical Function Switch (MPFs) is required for when multi-PF
configuration is enabled to allow passing user configured unicast MAC
addresses to the requesting PF.

Before this patch eswitch.c used to manage the HW MPFS l2 table,
E-Switch always (regardless of sriov) enabled vport(0) (NIC PF) vport's
contexts update on unicast mac address list changes, to populate the PF's
MPFS L2 table accordingly.

In downstream patch we would like to allow compiling the driver without
E-Switch functionalities, for that we move MPFS l2 table logic out
of eswitch.c into its own file, and provide Kconfig flag (MLX5_MPFS) to
allow compiling out MPFS for those who don't want Multi-PF support.

NIC PF netdevice will now directly update MPFS l2 table via the new MPFS
API. VF netdevice has no access to MPFS L2 table, so E-Switch will remain
responsible of updating its MPFS l2 table on behalf of its VFs.

Due to this change we also don't require enabling vport(0) (PF vport)
unicast mac changes events anymore, for when SRIOV is not enabled.
Which means E-Switch is now activated only on SRIOV activation, and not
required otherwise.

Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Cc: Jes Sorensen <jsorensen@fb.com>
Cc: kernel-team@fb.com
2017-08-07 10:47:06 +03:00
..
cmd.h
cq.h IB/mlx5: Support 4k UAR for libmlx5 2017-01-09 20:25:09 +02:00
device.h net/mlx5: FPGA, Add SBU infrastructure 2017-06-27 16:36:47 +03:00
doorbell.h IB/mlx5: Use blue flame register allocator in mlx5_ib 2017-01-09 20:25:08 +02:00
driver.h net/mlx5: Separate between E-Switch and MPFS 2017-08-07 10:47:06 +03:00
fs.h net/mlx5: Use underlay QPN from the root name space 2017-05-14 13:33:45 +03:00
mlx5_ifc_fpga.h net/mlx5: Accel, Add IPSec acceleration interface 2017-06-27 16:36:47 +03:00
mlx5_ifc.h net/mlx5e: Add field select to MTPPS register 2017-07-27 16:40:17 +03:00
port.h net/mlx5e: Add support for reading connector type from PTYS 2017-06-08 14:12:00 +03:00
qp.h net/mlx5e: IPSec, Innova IPSec offload infrastructure 2017-06-27 16:36:47 +03:00
srq.h net/mlx5: Ensure SRQ physical address structure endianness 2016-10-30 15:43:10 +02:00
transobj.h IB/mlx5: Support setting Ethernet priority for Raw Packet QPs 2016-01-21 12:01:09 -05:00
vport.h net/mlx5: Push min-inline mode resolution helper into the core 2017-01-24 21:14:05 +02:00