Lines Matching refs:mr_vif

47 	struct mlxsw_sp_mr_vif *mr_vif;  member
123 if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) in mlxsw_sp_mr_route_valid_evifs_num()
134 if (!mlxsw_sp_mr_vif_valid(mr_route->ivif.mr_vif)) in mlxsw_sp_mr_route_action()
153 if (mlxsw_sp_mr_vif_exists(rve->mr_vif) && !rve->mr_vif->rif) in mlxsw_sp_mr_route_action()
168 struct mlxsw_sp_mr_vif *mr_vif) in mlxsw_sp_mr_route_evif_link() argument
176 rve->mr_vif = mr_vif; in mlxsw_sp_mr_route_evif_link()
178 list_add_tail(&rve->vif_node, &mr_vif->route_evif_list); in mlxsw_sp_mr_route_evif_link()
191 struct mlxsw_sp_mr_vif *mr_vif) in mlxsw_sp_mr_route_ivif_link() argument
194 mr_route->ivif.mr_vif = mr_vif; in mlxsw_sp_mr_route_ivif_link()
195 list_add_tail(&mr_route->ivif.vif_node, &mr_vif->route_ivif_list); in mlxsw_sp_mr_route_ivif_link()
219 if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) { in mlxsw_sp_mr_route_info_create()
220 u16 rifi = mlxsw_sp_rif_index(rve->mr_vif->rif); in mlxsw_sp_mr_route_info_create()
226 if (mlxsw_sp_mr_vif_valid(mr_route->ivif.mr_vif)) in mlxsw_sp_mr_route_info_create()
227 irif_index = mlxsw_sp_rif_index(mr_route->ivif.mr_vif->rif); in mlxsw_sp_mr_route_info_create()
483 irif_index = mlxsw_sp_rif_index(rve->mr_vif->rif); in mlxsw_sp_mr_route_ivif_resolve()
540 if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) { in mlxsw_sp_mr_route_evif_resolve()
541 erif_index = mlxsw_sp_rif_index(rve->mr_vif->rif); in mlxsw_sp_mr_route_evif_resolve()
550 if (rve->mr_vif->dev->mtu < rve->mr_route->min_mtu) { in mlxsw_sp_mr_route_evif_resolve()
551 rve->mr_route->min_mtu = rve->mr_vif->dev->mtu; in mlxsw_sp_mr_route_evif_resolve()
564 if (mlxsw_sp_mr_vif_valid(rve->mr_vif)) in mlxsw_sp_mr_route_evif_resolve()
586 if (!mlxsw_sp_mr_vif_valid(rve->mr_vif)) in mlxsw_sp_mr_route_evif_unresolve()
604 rifi = mlxsw_sp_rif_index(rve->mr_vif->rif); in mlxsw_sp_mr_route_evif_unresolve()
612 struct mlxsw_sp_mr_vif *mr_vif, in mlxsw_sp_mr_vif_resolve() argument
620 mr_vif->dev = dev; in mlxsw_sp_mr_vif_resolve()
621 mr_vif->rif = rif; in mlxsw_sp_mr_vif_resolve()
622 mr_vif->vif_flags = vif_flags; in mlxsw_sp_mr_vif_resolve()
625 list_for_each_entry(irve, &mr_vif->route_ivif_list, vif_node) { in mlxsw_sp_mr_vif_resolve()
632 list_for_each_entry(erve, &mr_vif->route_evif_list, vif_node) { in mlxsw_sp_mr_vif_resolve()
640 list_for_each_entry_from_reverse(erve, &mr_vif->route_evif_list, in mlxsw_sp_mr_vif_resolve()
644 list_for_each_entry_from_reverse(irve, &mr_vif->route_ivif_list, in mlxsw_sp_mr_vif_resolve()
647 mr_vif->rif = NULL; in mlxsw_sp_mr_vif_resolve()
653 struct mlxsw_sp_mr_vif *mr_vif) in mlxsw_sp_mr_vif_unresolve() argument
658 list_for_each_entry(rve, &mr_vif->route_evif_list, vif_node) in mlxsw_sp_mr_vif_unresolve()
662 list_for_each_entry(rve, &mr_vif->route_ivif_list, vif_node) in mlxsw_sp_mr_vif_unresolve()
666 mr_vif->dev = dev; in mlxsw_sp_mr_vif_unresolve()
667 mr_vif->rif = NULL; in mlxsw_sp_mr_vif_unresolve()
674 struct mlxsw_sp_mr_vif *mr_vif = &mr_table->vifs[vif_index]; in mlxsw_sp_mr_vif_add() local
678 if (mr_vif->dev) in mlxsw_sp_mr_vif_add()
680 return mlxsw_sp_mr_vif_resolve(mr_table, dev, mr_vif, vif_flags, rif); in mlxsw_sp_mr_vif_add()
685 struct mlxsw_sp_mr_vif *mr_vif = &mr_table->vifs[vif_index]; in mlxsw_sp_mr_vif_del() local
689 if (WARN_ON(!mr_vif->dev)) in mlxsw_sp_mr_vif_del()
691 mlxsw_sp_mr_vif_unresolve(mr_table, NULL, mr_vif); in mlxsw_sp_mr_vif_del()
710 struct mlxsw_sp_mr_vif *mr_vif; in mlxsw_sp_mr_rif_add() local
715 mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif_dev); in mlxsw_sp_mr_rif_add()
716 if (!mr_vif) in mlxsw_sp_mr_rif_add()
718 return mlxsw_sp_mr_vif_resolve(mr_table, mr_vif->dev, mr_vif, in mlxsw_sp_mr_rif_add()
719 mr_vif->vif_flags, rif); in mlxsw_sp_mr_rif_add()
726 struct mlxsw_sp_mr_vif *mr_vif; in mlxsw_sp_mr_rif_del() local
731 mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif_dev); in mlxsw_sp_mr_rif_del()
732 if (!mr_vif) in mlxsw_sp_mr_rif_del()
734 mlxsw_sp_mr_vif_unresolve(mr_table, mr_vif->dev, mr_vif); in mlxsw_sp_mr_rif_del()
744 struct mlxsw_sp_mr_vif *mr_vif; in mlxsw_sp_mr_rif_mtu_update() local
750 mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif_dev); in mlxsw_sp_mr_rif_mtu_update()
751 if (!mr_vif) in mlxsw_sp_mr_rif_mtu_update()
755 list_for_each_entry(rve, &mr_vif->route_evif_list, vif_node) { in mlxsw_sp_mr_rif_mtu_update()