Home
last modified time | relevance | path

Searched refs:esw_attr (Results 1 – 10 of 10) sorted by relevance

/drivers/net/ethernet/mellanox/mlx5/core/esw/
Dindir_table.c80 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5_esw_indir_table_needed() local
85 return esw_attr->in_rep->vport == MLX5_VPORT_UPLINK && in mlx5_esw_indir_table_needed()
95 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5_esw_indir_table_decap_vport() local
97 return esw_attr->rx_tun_attr ? esw_attr->rx_tun_attr->decap_vport : 0; in mlx5_esw_indir_table_decap_vport()
123 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5_esw_indir_table_rule_get() local
134 rule = mlx5_esw_indir_table_rule_lookup(e, esw_attr); in mlx5_esw_indir_table_rule_get()
174 ntohl(esw_attr->rx_tun_attr->dst_ip.v4)); in mlx5_esw_indir_table_rule_get()
183 &esw_attr->rx_tun_attr->dst_ip.v6, len); in mlx5_esw_indir_table_rule_get()
194 mlx5_eswitch_get_vport_metadata_for_match(esw_attr->in_mdev->priv.eswitch, in mlx5_esw_indir_table_rule_get()
198 data = mlx5_eswitch_get_vport_metadata_for_set(esw, esw_attr->rx_tun_attr->decap_vport); in mlx5_esw_indir_table_rule_get()
[all …]
/drivers/net/ethernet/mellanox/mlx5/core/en/
Dtc_tun_encap.c51 struct mlx5_esw_flow_attr *esw_attr = flow->attr->esw_attr; in mlx5e_tc_set_attr_rx_tun() local
60 esw_attr->rx_tun_attr = tun_attr; in mlx5e_tc_set_attr_rx_tun()
97 static bool mlx5e_tc_flow_all_encaps_valid(struct mlx5_esw_flow_attr *esw_attr) in mlx5e_tc_flow_all_encaps_valid() argument
107 if (!(esw_attr->dests[i].flags & MLX5_ESW_DEST_ENCAP)) in mlx5e_tc_flow_all_encaps_valid()
109 if (!(esw_attr->dests[i].flags & MLX5_ESW_DEST_ENCAP_VALID)) { in mlx5e_tc_flow_all_encaps_valid()
124 struct mlx5_esw_flow_attr *esw_attr; in mlx5e_tc_encap_flows_add() local
153 esw_attr = attr->esw_attr; in mlx5e_tc_encap_flows_add()
156 esw_attr->dests[flow->tmp_entry_index].pkt_reformat = e->pkt_reformat; in mlx5e_tc_encap_flows_add()
157 esw_attr->dests[flow->tmp_entry_index].flags |= MLX5_ESW_DEST_ENCAP_VALID; in mlx5e_tc_encap_flows_add()
160 if (!mlx5e_tc_flow_all_encaps_valid(esw_attr)) in mlx5e_tc_encap_flows_add()
[all …]
Dtc_tun.c705 struct mlx5_esw_flow_attr *esw_attr = flow_attr->esw_attr; in mlx5e_tc_tun_route_lookup() local
712 attr.fl.fl4.saddr = esw_attr->rx_tun_attr->dst_ip.v4; in mlx5e_tc_tun_route_lookup()
713 attr.fl.fl4.daddr = esw_attr->rx_tun_attr->src_ip.v4; in mlx5e_tc_tun_route_lookup()
719 attr.fl.fl6.saddr = esw_attr->rx_tun_attr->dst_ip.v6; in mlx5e_tc_tun_route_lookup()
720 attr.fl.fl6.daddr = esw_attr->rx_tun_attr->src_ip.v6; in mlx5e_tc_tun_route_lookup()
738 esw_attr->rx_tun_attr->vni = MLX5_GET(fte_match_param, spec->match_value, in mlx5e_tc_tun_route_lookup()
740 esw_attr->rx_tun_attr->decap_vport = vport_num; in mlx5e_tc_tun_route_lookup()
Dtc_ct.c767 attr->esw_attr->in_mdev = priv->mdev; in mlx5_tc_ct_entry_add_rule()
/drivers/net/ethernet/mellanox/mlx5/core/
Deswitch_offloads.c251 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in esw_put_dest_tables_loop() local
256 if (esw_attr->dests[i].flags & MLX5_ESW_DEST_CHAIN_WITH_SRC_PORT_CHANGE) in esw_put_dest_tables_loop()
258 else if (mlx5_esw_indir_table_needed(esw, attr, esw_attr->dests[i].rep->vport, in esw_put_dest_tables_loop()
259 esw_attr->dests[i].mdev)) in esw_put_dest_tables_loop()
260 mlx5_esw_indir_table_put(esw, attr, esw_attr->dests[i].rep->vport, in esw_put_dest_tables_loop()
265 esw_is_chain_src_port_rewrite(struct mlx5_eswitch *esw, struct mlx5_esw_flow_attr *esw_attr) in esw_is_chain_src_port_rewrite() argument
269 for (i = esw_attr->split_count; i < esw_attr->out_count; i++) in esw_is_chain_src_port_rewrite()
270 if (esw_attr->dests[i].flags & MLX5_ESW_DEST_CHAIN_WITH_SRC_PORT_CHANGE) in esw_is_chain_src_port_rewrite()
283 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in esw_setup_chain_src_port_rewrite() local
289 for (j = esw_attr->split_count; j < esw_attr->out_count; j++, (*i)++) { in esw_setup_chain_src_port_rewrite()
[all …]
Den_tc.c1155 if (attr->esw_attr->split_count) { in mlx5e_tc_offload_fdb_rules()
1178 if (attr->esw_attr->split_count) in mlx5e_tc_unoffload_fdb_rules()
1204 slow_attr->esw_attr->split_count = 0; in mlx5e_tc_offload_to_slow_path()
1229 slow_attr->esw_attr->split_count = 0; in mlx5e_tc_unoffload_from_slow_path()
1372 struct mlx5_esw_flow_attr *esw_attr; in mlx5e_tc_add_fdb_flow() local
1414 esw_attr = attr->esw_attr; in mlx5e_tc_add_fdb_flow()
1420 if (!(esw_attr->dests[out_index].flags & MLX5_ESW_DEST_ENCAP)) in mlx5e_tc_add_fdb_flow()
1436 if (esw_attr->dests[out_index].flags & in mlx5e_tc_add_fdb_flow()
1441 esw_attr->dests[out_index].rep = rpriv->rep; in mlx5e_tc_add_fdb_flow()
1442 esw_attr->dests[out_index].mdev = out_priv->mdev; in mlx5e_tc_add_fdb_flow()
[all …]
Deswitch_offloads_termtbl.c219 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5_eswitch_termtbl_required() local
233 for (i = esw_attr->split_count; i < esw_attr->out_count; i++) in mlx5_eswitch_termtbl_required()
234 if (esw_attr->dests[i].rep->vport == MLX5_VPORT_UPLINK) in mlx5_eswitch_termtbl_required()
Den_tc.h86 struct mlx5_esw_flow_attr esw_attr[0]; member
/drivers/net/ethernet/mellanox/mlx5/core/en/tc/
Dsample.c370 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in add_post_rule() local
384 per_vport_tbl_attr.vport = esw_attr->in_rep->vport; in add_post_rule()
434 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in del_post_rule() local
441 tbl_attr.vport = esw_attr->in_rep->vport; in del_post_rule()
499 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5e_tc_sample_offload() local
596 pre_esw_attr = pre_attr->esw_attr; in mlx5e_tc_sample_offload()
597 pre_esw_attr->in_mdev = esw_attr->in_mdev; in mlx5e_tc_sample_offload()
598 pre_esw_attr->in_rep = esw_attr->in_rep; in mlx5e_tc_sample_offload()
632 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5e_tc_sample_unoffload() local
666 tbl_attr.vport = esw_attr->in_rep->vport; in mlx5e_tc_sample_unoffload()
Dpost_act.c109 post_attr->esw_attr->split_count = 0; in mlx5e_tc_post_act_add()