Skip to content

Commit ee534d7

Browse files
Lior Nahmansondavem330
authored andcommitted
net/mlx5: Add MACsec Tx tables support to fs_core
Changed EGRESS_KERNEL namespace to EGRESS_IPSEC and add new namespace for MACsec TX. This namespace should be the last namespace for transmitted packets. Signed-off-by: Lior Nahmanson <[email protected]> Reviewed-by: Raed Salem <[email protected]> Signed-off-by: Saeed Mahameed <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 8ff0ac5 commit ee534d7

File tree

4 files changed

+19
-7
lines changed

4 files changed

+19
-7
lines changed

drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -577,7 +577,7 @@ int mlx5e_accel_ipsec_fs_init(struct mlx5e_ipsec *ipsec)
577577
int err = -ENOMEM;
578578

579579
ns = mlx5_get_flow_namespace(ipsec->mdev,
580-
MLX5_FLOW_NAMESPACE_EGRESS_KERNEL);
580+
MLX5_FLOW_NAMESPACE_EGRESS_IPSEC);
581581
if (!ns)
582582
return -EOPNOTSUPP;
583583

drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -928,7 +928,8 @@ static int mlx5_cmd_modify_header_alloc(struct mlx5_flow_root_namespace *ns,
928928
table_type = FS_FT_NIC_RX;
929929
break;
930930
case MLX5_FLOW_NAMESPACE_EGRESS:
931-
case MLX5_FLOW_NAMESPACE_EGRESS_KERNEL:
931+
case MLX5_FLOW_NAMESPACE_EGRESS_IPSEC:
932+
case MLX5_FLOW_NAMESPACE_EGRESS_MACSEC:
932933
max_actions = MLX5_CAP_FLOWTABLE_NIC_TX(dev, max_modify_header_actions);
933934
table_type = FS_FT_NIC_TX;
934935
break;

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,11 @@
130130

131131
#define KERNEL_TX_IPSEC_NUM_PRIOS 1
132132
#define KERNEL_TX_IPSEC_NUM_LEVELS 1
133-
#define KERNEL_TX_MIN_LEVEL (KERNEL_TX_IPSEC_NUM_LEVELS)
133+
#define KERNEL_TX_IPSEC_MIN_LEVEL (KERNEL_TX_IPSEC_NUM_LEVELS)
134+
135+
#define KERNEL_TX_MACSEC_NUM_PRIOS 1
136+
#define KERNEL_TX_MACSEC_NUM_LEVELS 2
137+
#define KERNEL_TX_MACSEC_MIN_LEVEL (KERNEL_TX_IPSEC_MIN_LEVEL + KERNEL_TX_MACSEC_NUM_PRIOS)
134138

135139
struct node_caps {
136140
size_t arr_sz;
@@ -186,18 +190,23 @@ static struct init_tree_node {
186190

187191
static struct init_tree_node egress_root_fs = {
188192
.type = FS_TYPE_NAMESPACE,
189-
.ar_size = 2,
193+
.ar_size = 3,
190194
.children = (struct init_tree_node[]) {
191195
ADD_PRIO(0, MLX5_BY_PASS_NUM_PRIOS, 0,
192196
FS_CHAINING_CAPS_EGRESS,
193197
ADD_NS(MLX5_FLOW_TABLE_MISS_ACTION_DEF,
194198
ADD_MULTIPLE_PRIO(MLX5_BY_PASS_NUM_PRIOS,
195199
BY_PASS_PRIO_NUM_LEVELS))),
196-
ADD_PRIO(0, KERNEL_TX_MIN_LEVEL, 0,
200+
ADD_PRIO(0, KERNEL_TX_IPSEC_MIN_LEVEL, 0,
197201
FS_CHAINING_CAPS_EGRESS,
198202
ADD_NS(MLX5_FLOW_TABLE_MISS_ACTION_DEF,
199203
ADD_MULTIPLE_PRIO(KERNEL_TX_IPSEC_NUM_PRIOS,
200204
KERNEL_TX_IPSEC_NUM_LEVELS))),
205+
ADD_PRIO(0, KERNEL_TX_MACSEC_MIN_LEVEL, 0,
206+
FS_CHAINING_CAPS_EGRESS,
207+
ADD_NS(MLX5_FLOW_TABLE_MISS_ACTION_DEF,
208+
ADD_MULTIPLE_PRIO(KERNEL_TX_MACSEC_NUM_PRIOS,
209+
KERNEL_TX_MACSEC_NUM_LEVELS))),
201210
}
202211
};
203212

@@ -2315,7 +2324,8 @@ struct mlx5_flow_namespace *mlx5_get_flow_namespace(struct mlx5_core_dev *dev,
23152324
prio = FDB_BYPASS_PATH;
23162325
break;
23172326
case MLX5_FLOW_NAMESPACE_EGRESS:
2318-
case MLX5_FLOW_NAMESPACE_EGRESS_KERNEL:
2327+
case MLX5_FLOW_NAMESPACE_EGRESS_IPSEC:
2328+
case MLX5_FLOW_NAMESPACE_EGRESS_MACSEC:
23192329
root_ns = steering->egress_root_ns;
23202330
prio = type - MLX5_FLOW_NAMESPACE_EGRESS;
23212331
break;

include/linux/mlx5/fs.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ enum mlx5_flow_namespace_type {
9292
MLX5_FLOW_NAMESPACE_SNIFFER_RX,
9393
MLX5_FLOW_NAMESPACE_SNIFFER_TX,
9494
MLX5_FLOW_NAMESPACE_EGRESS,
95-
MLX5_FLOW_NAMESPACE_EGRESS_KERNEL,
95+
MLX5_FLOW_NAMESPACE_EGRESS_IPSEC,
96+
MLX5_FLOW_NAMESPACE_EGRESS_MACSEC,
9697
MLX5_FLOW_NAMESPACE_RDMA_RX,
9798
MLX5_FLOW_NAMESPACE_RDMA_RX_KERNEL,
9899
MLX5_FLOW_NAMESPACE_RDMA_TX,

0 commit comments

Comments
 (0)