diff options
author | Or Gerlitz <ogerlitz@mellanox.com> | 2016-07-01 14:51:00 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-07-02 14:40:40 -0400 |
commit | fed9ce22bf8ae8f417b8f047d2d630542d152ccf (patch) | |
tree | 9313ec7f20648ff6c789e4d3aca03d1f57e25116 /drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | |
parent | c116c6eec6f72aac82ff4228ab1d277f3f9a2460 (diff) |
net/mlx5: E-Switch, Add API to create vport rx rules
Add the API to create vport rx rules of the form
packet meta-data :: vport == $VPORT --> $TIR
where the TIR is opened by this VF representor.
This logic will by used for packets that didn't match any rule in the
e-switch datapath and should be received into the host OS through the
netdevice that represents the VF they were sent from.
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>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/eswitch.h')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h index 32db37ab867f..cf959f7b0bea 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h @@ -157,6 +157,7 @@ enum { struct mlx5_esw_offload { struct mlx5_flow_table *ft_offloads; + struct mlx5_flow_group *vport_rx_group; }; struct mlx5_eswitch { @@ -201,6 +202,9 @@ int mlx5_eswitch_get_vport_stats(struct mlx5_eswitch *esw, struct mlx5_flow_rule * mlx5_eswitch_add_send_to_vport_rule(struct mlx5_eswitch *esw, int vport, u32 sqn); +struct mlx5_flow_rule * +mlx5_eswitch_create_vport_rx_rule(struct mlx5_eswitch *esw, int vport, u32 tirn); + #define MLX5_DEBUG_ESWITCH_MASK BIT(3) #define esw_info(dev, format, ...) \ |