/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/ |
D | mirred.c | 39 rep_priv = mlx5e_rep_to_rep_priv(attr->esw_attr->in_rep); in verify_uplink_forwarding() 111 struct mlx5_esw_flow_attr *esw_attr; in tc_act_can_offload_mirred() local 114 esw_attr = attr->esw_attr; in tc_act_can_offload_mirred() 147 if (esw_attr->out_count >= MLX5_MAX_FLOW_FWD_VPORTS) { in tc_act_can_offload_mirred() 152 esw_attr->out_count); in tc_act_can_offload_mirred() 181 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in parse_mirred_encap() local 184 parse_attr->mirred_ifindex[esw_attr->out_count] = out_dev->ifindex; in parse_mirred_encap() 185 parse_attr->tun_info[esw_attr->out_count] = in parse_mirred_encap() 188 if (!parse_attr->tun_info[esw_attr->out_count]) in parse_mirred_encap() 194 memcpy(&parse_attr->mpls_info[esw_attr->out_count], in parse_mirred_encap() [all …]
|
D | redirect_ingress.c | 16 struct mlx5_esw_flow_attr *esw_attr; in tc_act_can_offload_redirect_ingress() local 19 esw_attr = attr->esw_attr; in tc_act_can_offload_redirect_ingress() 42 if (esw_attr->out_count) { in tc_act_can_offload_redirect_ingress() 57 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in tc_act_parse_redirect_ingress() local 65 &attr->action, esw_attr->out_count); in tc_act_parse_redirect_ingress() 69 esw_attr->out_count++; in tc_act_parse_redirect_ingress()
|
D | vlan.c | 123 err = parse_tc_vlan_action(priv, &vlan_act, attr->esw_attr, &attr->action, extack, NULL); in mlx5e_tc_act_vlan_add_push_action() 152 err = parse_tc_vlan_action(priv, &vlan_act, attr->esw_attr, &attr->action, in mlx5e_tc_act_vlan_add_pop_action() 176 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in tc_act_parse_vlan() local 187 err = parse_tc_vlan_action(priv, act, esw_attr, &attr->action, in tc_act_parse_vlan() 194 esw_attr->split_count = esw_attr->out_count; in tc_act_parse_vlan()
|
D | pedit.c | 96 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in tc_act_parse_pedit() local 111 esw_attr->split_count = esw_attr->out_count; in tc_act_parse_pedit()
|
D | ct.c | 46 attr->esw_attr->split_count = attr->esw_attr->out_count; in tc_act_parse_ct()
|
D | vlan_mangle.c | 78 attr->esw_attr->split_count = attr->esw_attr->out_count; in tc_act_parse_vlan_mangle()
|
D | mpls.c | 84 attr->esw_attr->eth.h_proto = act->mpls_pop.proto; in tc_act_parse_mpls_pop()
|
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
D | indir_table.c | 80 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5_esw_indir_table_needed() local 89 return esw_attr->in_rep->vport == MLX5_VPORT_UPLINK && in mlx5_esw_indir_table_needed() 99 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5_esw_indir_table_decap_vport() local 101 return esw_attr->rx_tun_attr ? esw_attr->rx_tun_attr->decap_vport : 0; in mlx5_esw_indir_table_decap_vport() 127 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5_esw_indir_table_rule_get() local 138 rule = mlx5_esw_indir_table_rule_lookup(e, esw_attr); in mlx5_esw_indir_table_rule_get() 178 ntohl(esw_attr->rx_tun_attr->dst_ip.v4)); in mlx5_esw_indir_table_rule_get() 187 &esw_attr->rx_tun_attr->dst_ip.v6, len); in mlx5_esw_indir_table_rule_get() 198 mlx5_eswitch_get_vport_metadata_for_match(esw_attr->in_mdev->priv.eswitch, in mlx5_esw_indir_table_rule_get() 202 data = mlx5_eswitch_get_vport_metadata_for_set(esw, esw_attr->rx_tun_attr->decap_vport); in mlx5_esw_indir_table_rule_get() [all …]
|
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/ |
D | eswitch_offloads.c | 133 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5_eswitch_set_rule_source_port() local 145 if (!attr->chain && esw_attr && esw_attr->int_port) in mlx5_eswitch_set_rule_source_port() 147 mlx5e_tc_int_port_get_metadata_for_match(esw_attr->int_port); in mlx5_eswitch_set_rule_source_port() 276 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in esw_put_dest_tables_loop() local 281 if (esw_attr->dests[i].flags & MLX5_ESW_DEST_CHAIN_WITH_SRC_PORT_CHANGE) in esw_put_dest_tables_loop() 283 else if (mlx5_esw_indir_table_needed(esw, attr, esw_attr->dests[i].rep->vport, in esw_put_dest_tables_loop() 284 esw_attr->dests[i].mdev)) in esw_put_dest_tables_loop() 285 mlx5_esw_indir_table_put(esw, attr, esw_attr->dests[i].rep->vport, in esw_put_dest_tables_loop() 290 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 294 for (i = esw_attr->split_count; i < esw_attr->out_count; i++) in esw_is_chain_src_port_rewrite() [all …]
|
D | eswitch_offloads_termtbl.c | 219 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5_eswitch_termtbl_required() local 225 (!mlx5_eswitch_offload_is_uplink_port(esw, spec) && !esw_attr->int_port)) in mlx5_eswitch_termtbl_required() 235 for (i = esw_attr->split_count; i < esw_attr->out_count; i++) in mlx5_eswitch_termtbl_required() 236 if (!esw_attr->dest_int_port && esw_attr->dests[i].rep && in mlx5_eswitch_termtbl_required() 237 esw_attr->dests[i].rep->vport == MLX5_VPORT_UPLINK) in mlx5_eswitch_termtbl_required()
|
D | en_tc.c | 1377 if (attr->esw_attr->split_count) { in mlx5e_tc_offload_fdb_rules() 1399 if (attr->esw_attr->split_count) in mlx5e_tc_unoffload_fdb_rules() 1424 slow_attr->esw_attr->split_count = 0; in mlx5e_tc_offload_to_slow_path() 1492 slow_attr->esw_attr->split_count = 0; in mlx5e_tc_unoffload_from_slow_path() 1642 struct mlx5_esw_flow_attr *esw_attr; in set_encap_dests() local 1653 esw_attr = attr->esw_attr; in set_encap_dests() 1660 if (!(esw_attr->dests[out_index].flags & MLX5_ESW_DEST_ENCAP)) in set_encap_dests() 1676 if (esw_attr->dests[out_index].flags & in set_encap_dests() 1678 !esw_attr->dest_int_port) in set_encap_dests() 1683 esw_attr->dests[out_index].rep = rpriv->rep; in set_encap_dests() [all …]
|
D | en_tc.h | 100 struct mlx5_esw_flow_attr esw_attr[0]; member
|
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/en/ |
D | tc_tun_encap.c | 75 struct mlx5_esw_flow_attr *esw_attr = flow->attr->esw_attr; in mlx5e_tc_set_attr_rx_tun() local 84 esw_attr->rx_tun_attr = tun_attr; in mlx5e_tc_set_attr_rx_tun() 121 static bool mlx5e_tc_flow_all_encaps_valid(struct mlx5_esw_flow_attr *esw_attr) in mlx5e_tc_flow_all_encaps_valid() argument 131 if (!(esw_attr->dests[i].flags & MLX5_ESW_DEST_ENCAP)) in mlx5e_tc_flow_all_encaps_valid() 133 if (!(esw_attr->dests[i].flags & MLX5_ESW_DEST_ENCAP_VALID)) { in mlx5e_tc_flow_all_encaps_valid() 148 struct mlx5_esw_flow_attr *esw_attr; in mlx5e_tc_encap_flows_add() local 180 esw_attr = attr->esw_attr; in mlx5e_tc_encap_flows_add() 181 esw_attr->dests[flow->tmp_entry_index].pkt_reformat = e->pkt_reformat; in mlx5e_tc_encap_flows_add() 182 esw_attr->dests[flow->tmp_entry_index].flags |= MLX5_ESW_DEST_ENCAP_VALID; in mlx5e_tc_encap_flows_add() 185 if (!mlx5e_tc_flow_all_encaps_valid(esw_attr)) in mlx5e_tc_encap_flows_add() [all …]
|
D | tc_tun.c | 715 struct mlx5_esw_flow_attr *esw_attr = flow_attr->esw_attr; in mlx5e_tc_tun_route_lookup() local 724 attr.fl.fl4.saddr = esw_attr->rx_tun_attr->dst_ip.v4; in mlx5e_tc_tun_route_lookup() 725 attr.fl.fl4.daddr = esw_attr->rx_tun_attr->src_ip.v4; in mlx5e_tc_tun_route_lookup() 731 attr.fl.fl6.saddr = esw_attr->rx_tun_attr->dst_ip.v6; in mlx5e_tc_tun_route_lookup() 732 attr.fl.fl6.daddr = esw_attr->rx_tun_attr->src_ip.v6; in mlx5e_tc_tun_route_lookup() 748 esw_attr->rx_tun_attr->vni = MLX5_GET(fte_match_param, spec->match_value, in mlx5e_tc_tun_route_lookup() 750 esw_attr->rx_tun_attr->decap_vport = vport_num; in mlx5e_tc_tun_route_lookup() 759 esw_attr->int_port = int_port; in mlx5e_tc_tun_route_lookup()
|
D | tc_ct.c | 845 attr->esw_attr->in_mdev = priv->mdev; in mlx5_tc_ct_entry_add_rule()
|
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
D | sample.c | 346 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in add_post_rule() local 360 per_vport_tbl_attr.vport = esw_attr->in_rep->vport; in add_post_rule() 410 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in del_post_rule() local 417 tbl_attr.vport = esw_attr->in_rep->vport; in del_post_rule() 473 struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr; in mlx5e_tc_sample_offload() local 560 pre_esw_attr = pre_attr->esw_attr; in mlx5e_tc_sample_offload() 561 pre_esw_attr->in_mdev = esw_attr->in_mdev; in mlx5e_tc_sample_offload() 562 pre_esw_attr->in_rep = esw_attr->in_rep; in mlx5e_tc_sample_offload()
|
D | post_act.c | 136 post_attr->esw_attr->split_count = 0; in mlx5e_tc_post_act_add()
|