linux_dsm_epyc7002/include/linux/mlx5
Jianbo Liu 7445cfb116 net/mlx5: E-Switch, Tag packet with vport number in VF vports and uplink ingress ACLs
When a dual-port VHCA sends a RoCE packet on its non-native port, and the
packet arrives to its affiliated vport FDB, a mismatch might occur on the
rules that match the packet source vport as it is not represented by single
VHCA only in this case. So we change to match on metadata instead of source
vport.
To do that, a rule is created in all vports and uplink ingress ACLs, to
save the source vport number and vhca id in the packet's metadata in order
to match on it later.
The metadata register used is the first of the 32-bit type C registers. It
can be used for matching and header modify operations. The higher 16 bits
of this register are for vhca id, and the lower 16 ones is for vport
number.
This change is not for dual-port RoCE only. If HW and FW allow, the vport
metadata matching is enabled by default.

Signed-off-by: Jianbo Liu <jianbol@mellanox.com>
Reviewed-by: Eli Britstein <elibr@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Reviewed-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2019-06-26 12:01:28 -07:00
..
accel.h net/mlx5: IPSec, Add support for ESN 2018-03-07 15:54:36 -08:00
cmd.h
cq.h net/mlx5: Remove spinlock support from mlx5_write64 2019-04-02 12:49:37 -07:00
device.h net/mlx5: E-Switch, Replace host_params event with functions_changed event 2019-05-31 12:28:14 -07:00
doorbell.h net/mlx5: Remove spinlock support from mlx5_write64 2019-04-02 12:49:37 -07:00
driver.h net/mlx5: Convert mkey_table to XArray 2019-06-24 16:44:40 -07:00
eq.h net/mlx5: Add EQ enable/disable API 2019-06-13 10:59:49 -07:00
eswitch.h net/mlx5: E-Switch, Tag packet with vport number in VF vports and uplink ingress ACLs 2019-06-26 12:01:28 -07:00
fs_helpers.h {net,IB}/mlx5: Add ipsec helper 2018-04-04 12:06:27 -06:00
fs.h net/mlx5: Add flow context for flow tag 2019-06-26 12:01:28 -07:00
mlx5_ifc_fpga.h net/mlx5: Accel, add TLS rx offload routines 2018-07-16 00:13:11 -07:00
mlx5_ifc.h net/mlx5: Introduce vport metadata matching bits and enum constants 2019-06-26 12:01:28 -07:00
port.h net/mlx5e: ethtool, Add support for EEPROM high pages query 2019-05-01 14:39:16 -07:00
qp.h net/mlx5: Convert mkey_table to XArray 2019-06-24 16:44:40 -07:00
transobj.h net/mlx5: Introduce new TIR creation core API 2019-04-24 12:33:37 -07:00
vport.h net/mlx5: Remove unused mlx5_query_nic_vport_vlans 2019-05-01 14:39:16 -07:00