Lines Matching refs:mr_vif
49 struct mlxsw_sp_mr_vif *mr_vif; member
126 if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) in mlxsw_sp_mr_route_valid_evifs_num()
137 if (!mlxsw_sp_mr_vif_valid(mr_route->ivif.mr_vif)) in mlxsw_sp_mr_route_action()
156 if (mlxsw_sp_mr_vif_exists(rve->mr_vif) && !rve->mr_vif->rif) in mlxsw_sp_mr_route_action()
171 struct mlxsw_sp_mr_vif *mr_vif) in mlxsw_sp_mr_route_evif_link() argument
179 rve->mr_vif = mr_vif; in mlxsw_sp_mr_route_evif_link()
181 list_add_tail(&rve->vif_node, &mr_vif->route_evif_list); in mlxsw_sp_mr_route_evif_link()
194 struct mlxsw_sp_mr_vif *mr_vif) in mlxsw_sp_mr_route_ivif_link() argument
197 mr_route->ivif.mr_vif = mr_vif; in mlxsw_sp_mr_route_ivif_link()
198 list_add_tail(&mr_route->ivif.vif_node, &mr_vif->route_ivif_list); in mlxsw_sp_mr_route_ivif_link()
222 if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) { in mlxsw_sp_mr_route_info_create()
223 u16 rifi = mlxsw_sp_rif_index(rve->mr_vif->rif); in mlxsw_sp_mr_route_info_create()
229 if (mlxsw_sp_mr_vif_valid(mr_route->ivif.mr_vif)) in mlxsw_sp_mr_route_info_create()
230 irif_index = mlxsw_sp_rif_index(mr_route->ivif.mr_vif->rif); in mlxsw_sp_mr_route_info_create()
494 irif_index = mlxsw_sp_rif_index(rve->mr_vif->rif); in mlxsw_sp_mr_route_ivif_resolve()
539 if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) { in mlxsw_sp_mr_route_evif_resolve()
540 erif_index = mlxsw_sp_rif_index(rve->mr_vif->rif); in mlxsw_sp_mr_route_evif_resolve()
561 if (rve->mr_vif->dev->mtu < rve->mr_route->min_mtu) { in mlxsw_sp_mr_route_evif_resolve()
562 rve->mr_route->min_mtu = rve->mr_vif->dev->mtu; in mlxsw_sp_mr_route_evif_resolve()
580 if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) in mlxsw_sp_mr_route_evif_resolve()
597 if (!mlxsw_sp_mr_vif_valid(rve->mr_vif)) in mlxsw_sp_mr_route_evif_unresolve()
615 rifi = mlxsw_sp_rif_index(rve->mr_vif->rif); in mlxsw_sp_mr_route_evif_unresolve()
623 struct mlxsw_sp_mr_vif *mr_vif, in mlxsw_sp_mr_vif_resolve() argument
631 mr_vif->dev = dev; in mlxsw_sp_mr_vif_resolve()
632 mr_vif->rif = rif; in mlxsw_sp_mr_vif_resolve()
633 mr_vif->vif_flags = vif_flags; in mlxsw_sp_mr_vif_resolve()
636 list_for_each_entry(irve, &mr_vif->route_ivif_list, vif_node) { in mlxsw_sp_mr_vif_resolve()
643 list_for_each_entry(erve, &mr_vif->route_evif_list, vif_node) { in mlxsw_sp_mr_vif_resolve()
651 list_for_each_entry_continue_reverse(erve, &mr_vif->route_evif_list, in mlxsw_sp_mr_vif_resolve()
655 list_for_each_entry_continue_reverse(irve, &mr_vif->route_ivif_list, in mlxsw_sp_mr_vif_resolve()
658 mr_vif->rif = NULL; in mlxsw_sp_mr_vif_resolve()
664 struct mlxsw_sp_mr_vif *mr_vif) in mlxsw_sp_mr_vif_unresolve() argument
669 list_for_each_entry(rve, &mr_vif->route_evif_list, vif_node) in mlxsw_sp_mr_vif_unresolve()
673 list_for_each_entry(rve, &mr_vif->route_ivif_list, vif_node) in mlxsw_sp_mr_vif_unresolve()
677 mr_vif->dev = dev; in mlxsw_sp_mr_vif_unresolve()
678 mr_vif->rif = NULL; in mlxsw_sp_mr_vif_unresolve()
685 struct mlxsw_sp_mr_vif *mr_vif = &mr_table->vifs[vif_index]; in mlxsw_sp_mr_vif_add() local
689 if (mr_vif->dev) in mlxsw_sp_mr_vif_add()
691 return mlxsw_sp_mr_vif_resolve(mr_table, dev, mr_vif, vif_flags, rif); in mlxsw_sp_mr_vif_add()
696 struct mlxsw_sp_mr_vif *mr_vif = &mr_table->vifs[vif_index]; in mlxsw_sp_mr_vif_del() local
700 if (WARN_ON(!mr_vif->dev)) in mlxsw_sp_mr_vif_del()
702 mlxsw_sp_mr_vif_unresolve(mr_table, NULL, mr_vif); in mlxsw_sp_mr_vif_del()
721 struct mlxsw_sp_mr_vif *mr_vif; in mlxsw_sp_mr_rif_add() local
726 mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif_dev); in mlxsw_sp_mr_rif_add()
727 if (!mr_vif) in mlxsw_sp_mr_rif_add()
729 return mlxsw_sp_mr_vif_resolve(mr_table, mr_vif->dev, mr_vif, in mlxsw_sp_mr_rif_add()
730 mr_vif->vif_flags, rif); in mlxsw_sp_mr_rif_add()
737 struct mlxsw_sp_mr_vif *mr_vif; in mlxsw_sp_mr_rif_del() local
742 mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif_dev); in mlxsw_sp_mr_rif_del()
743 if (!mr_vif) in mlxsw_sp_mr_rif_del()
745 mlxsw_sp_mr_vif_unresolve(mr_table, mr_vif->dev, mr_vif); in mlxsw_sp_mr_rif_del()
755 struct mlxsw_sp_mr_vif *mr_vif; in mlxsw_sp_mr_rif_mtu_update() local
761 mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif_dev); in mlxsw_sp_mr_rif_mtu_update()
762 if (!mr_vif) in mlxsw_sp_mr_rif_mtu_update()
766 list_for_each_entry(rve, &mr_vif->route_evif_list, vif_node) { in mlxsw_sp_mr_rif_mtu_update()