History

net/mlx5: Introduce egress acl forward-to-vport capability

Add HCA_CAP.egress_acl_forward_to_vport field to check whether HW supports e-switch vport's egress acl to forward packets to other e-switch vport or not. By default E-Switch egress ACL forwards eswitch vports egress packets to their corresponding NIC/VF vports. With this cap enabled, the driver is allowed to alter this behavior and forward packets to arbitrary NIC/VF vports with the following limitations: a. Multiple processing paths are supported if all of the following conditions are met: - HCA_CAP.egress_acl_forward_to_vport is set ==1. - A destination of type Flow Table only appears once, as the last destination in the list. - Vport destination is supported if HCA_CAP.egress_acl_forward_to_vport==1. Vport must not be the Uplink. b. Flow_tag not supported. c. This table is only applicable after an FDB table is created. d. Push VLAN action is not supported. e. Pop VLAN action cannot be added concurrently to this table and FDB table. This feature will be used during port failover in bonding scenario where two VFs representors are bonded to handle failover egress traffic (VM's ingress/receive traffic).

Vu Pham committed 6 years ago

Commit 86f5d0f1 parent 13260341 file · +1 −1Browse files

Showing the changes to include/linux (1 of 1 file). Show all

Unified · Split

include/linux/mlx5/mlx5_ifc.h+1−1
@@ -738,7 +738,7 @@ struct mlx5_ifc_flow_table_eswitch_cap_bits { · 737 unmodified lines
738 u8 flow_source[0x1];738 u8 flow_source[0x1];
739 u8 reserved_at_18[0x2];739 u8 reserved_at_18[0x2];
740 u8 multi_fdb_encap[0x1];740 u8 multi_fdb_encap[0x1];
741 u8 reserved_at_1b[0x1];741 u8 egress_acl_forward_to_vport[0x1];
742 u8 fdb_multi_path_to_table[0x1];742 u8 fdb_multi_path_to_table[0x1];
743 u8 reserved_at_1d[0x3];743 u8 reserved_at_1d[0x3];
744 744