rve 118 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve; rve 122 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_for_each_entry(rve, &mr_route->evif_list, route_node) rve 123 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) rve 131 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve; rve 152 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_for_each_entry(rve, &mr_route->evif_list, route_node) rve 153 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (mlxsw_sp_mr_vif_exists(rve->mr_vif) && !rve->mr_vif->rif) rve 170 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve; rve 172 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve = kzalloc(sizeof(*rve), GFP_KERNEL); rve 173 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (!rve) rve 175 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route = mr_route; rve 176 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_vif = mr_vif; rve 177 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_add_tail(&rve->route_node, &mr_route->evif_list); rve 178 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_add_tail(&rve->vif_node, &mr_vif->route_evif_list); rve 183 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_evif_unlink(struct mlxsw_sp_mr_route_vif_entry *rve) rve 185 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_del(&rve->route_node); rve 186 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_del(&rve->vif_node); rve 187 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c kfree(rve); rve 208 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve; rve 218 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_for_each_entry(rve, &mr_route->evif_list, route_node) { rve 219 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) { rve 220 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c u16 rifi = mlxsw_sp_rif_index(rve->mr_vif->rif); rve 299 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve, *tmp; rve 335 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_for_each_entry_safe(rve, tmp, &mr_route->evif_list, route_node) rve 336 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_evif_unlink(rve); rve 344 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve, *tmp; rve 348 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_for_each_entry_safe(rve, tmp, &mr_route->evif_list, route_node) rve 349 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_evif_unlink(rve); rve 470 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve) rve 478 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c route_action = mlxsw_sp_mr_route_action(rve->mr_route); rve 483 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c irif_index = mlxsw_sp_rif_index(rve->mr_vif->rif); rve 484 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c err = mr->mr_ops->route_irif_update(mlxsw_sp, rve->mr_route->route_priv, rve 490 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_priv, rve 498 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_action = route_action; rve 499 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_mfc_offload_update(rve->mr_route); rve 505 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve) rve 510 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr->mr_ops->route_action_update(mlxsw_sp, rve->mr_route->route_priv, rve 512 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_action = MLXSW_SP_MR_ROUTE_ACTION_TRAP; rve 513 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_mfc_offload_update(rve->mr_route); rve 519 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve) rve 530 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c route_action = mlxsw_sp_mr_route_action(rve->mr_route); rve 531 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (route_action != rve->mr_route->route_action) { rve 533 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_priv, rve 540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) { rve 541 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c erif_index = mlxsw_sp_rif_index(rve->mr_vif->rif); rve 543 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_priv, rve 550 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (rve->mr_vif->dev->mtu < rve->mr_route->min_mtu) { rve 551 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->min_mtu = rve->mr_vif->dev->mtu; rve 553 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_priv, rve 554 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->min_mtu); rve 559 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_action = route_action; rve 560 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_mfc_offload_update(rve->mr_route); rve 564 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) rve 565 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr->mr_ops->route_erif_del(mlxsw_sp, rve->mr_route->route_priv, rve 568 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (route_action != rve->mr_route->route_action) rve 570 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_priv, rve 571 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_action); rve 578 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve) rve 586 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (!mlxsw_sp_mr_vif_valid(rve->mr_vif)) rve 594 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (mlxsw_sp_mr_route_valid_evifs_num(rve->mr_route) == 1) rve 597 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c route_action = mlxsw_sp_mr_route_action(rve->mr_route); rve 598 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (route_action != rve->mr_route->route_action) rve 600 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_priv, rve 604 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rifi = mlxsw_sp_rif_index(rve->mr_vif->rif); rve 605 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr->mr_ops->route_erif_del(mlxsw_sp, rve->mr_route->route_priv, rifi); rve 606 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_action = route_action; rve 607 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_mfc_offload_update(rve->mr_route); rve 655 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve; rve 658 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_for_each_entry(rve, &mr_vif->route_evif_list, vif_node) rve 659 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_evif_unresolve(mr_table, rve); rve 662 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_for_each_entry(rve, &mr_vif->route_ivif_list, vif_node) rve 663 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_ivif_unresolve(mr_table, rve); rve 742 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_route_vif_entry *rve; rve 755 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_for_each_entry(rve, &mr_vif->route_evif_list, vif_node) { rve 756 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (mtu < rve->mr_route->min_mtu) { rve 757 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->min_mtu = mtu; rve 759 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rve->mr_route->route_priv,