Lines Matching refs:vid

238 				       u16 vid, enum mlxsw_reg_spms_state state)  in mlxsw_sp_port_stp_state_set()  argument
248 mlxsw_reg_spms_vid_pack(spms_pl, vid, state); in mlxsw_sp_port_stp_state_set()
296 u16 vid) in mlxsw_sp_port_vid_to_fid_set() argument
302 fid, vid); in mlxsw_sp_port_vid_to_fid_set()
307 u16 vid, bool learn_enable) in mlxsw_sp_port_vid_learning_set() argument
316 mlxsw_reg_spvmlr_pack(spvmlr_pl, mlxsw_sp_port->local_port, vid, vid, in mlxsw_sp_port_vid_learning_set()
501 u16 vid, last_visited_vid; in mlxsw_sp_port_vp_mode_trans() local
504 for_each_set_bit(vid, mlxsw_sp_port->active_vlans, VLAN_N_VID) { in mlxsw_sp_port_vp_mode_trans()
505 err = mlxsw_sp_port_vid_to_fid_set(mlxsw_sp_port, mt, true, vid, in mlxsw_sp_port_vp_mode_trans()
506 vid); in mlxsw_sp_port_vp_mode_trans()
508 last_visited_vid = vid; in mlxsw_sp_port_vp_mode_trans()
522 for_each_set_bit(vid, mlxsw_sp_port->active_vlans, last_visited_vid) in mlxsw_sp_port_vp_mode_trans()
523 mlxsw_sp_port_vid_to_fid_set(mlxsw_sp_port, mt, false, vid, in mlxsw_sp_port_vp_mode_trans()
524 vid); in mlxsw_sp_port_vp_mode_trans()
531 u16 vid; in mlxsw_sp_port_vlan_mode_trans() local
538 for_each_set_bit(vid, mlxsw_sp_port->active_vlans, VLAN_N_VID) { in mlxsw_sp_port_vlan_mode_trans()
540 vid, vid); in mlxsw_sp_port_vlan_mode_trans()
549 u16 vid) in mlxsw_sp_port_add_vid() argument
559 if (!vid) in mlxsw_sp_port_add_vid()
562 if (test_bit(vid, mlxsw_sp_port->active_vfids)) { in mlxsw_sp_port_add_vid()
563 netdev_warn(dev, "VID=%d already configured\n", vid); in mlxsw_sp_port_add_vid()
567 if (!test_bit(vid, mlxsw_sp->active_vfids)) { in mlxsw_sp_port_add_vid()
568 err = mlxsw_sp_vfid_create(mlxsw_sp, vid); in mlxsw_sp_port_add_vid()
571 MLXSW_SP_VFID_BASE + vid); in mlxsw_sp_port_add_vid()
580 mlxsw_reg_sftr_pack(sftr_pl, 0, vid, in mlxsw_sp_port_add_vid()
609 true, MLXSW_SP_VFID_BASE + vid, vid); in mlxsw_sp_port_add_vid()
612 vid, MLXSW_SP_VFID_BASE + vid); in mlxsw_sp_port_add_vid()
616 err = mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, false); in mlxsw_sp_port_add_vid()
618 netdev_err(dev, "Failed to disable learning for VID=%d\n", vid); in mlxsw_sp_port_add_vid()
622 err = mlxsw_sp_port_vlan_set(mlxsw_sp_port, vid, vid, true, false); in mlxsw_sp_port_add_vid()
625 vid); in mlxsw_sp_port_add_vid()
629 err = mlxsw_sp_port_stp_state_set(mlxsw_sp_port, vid, in mlxsw_sp_port_add_vid()
632 netdev_err(dev, "Failed to set STP state for VID=%d\n", vid); in mlxsw_sp_port_add_vid()
637 set_bit(vid, mlxsw_sp_port->active_vfids); in mlxsw_sp_port_add_vid()
643 mlxsw_sp_vfid_destroy(mlxsw_sp, vid); in mlxsw_sp_port_add_vid()
647 mlxsw_sp_port_vlan_set(mlxsw_sp_port, vid, vid, false, false); in mlxsw_sp_port_add_vid()
649 mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, true); in mlxsw_sp_port_add_vid()
653 MLXSW_SP_VFID_BASE + vid, vid); in mlxsw_sp_port_add_vid()
660 __be16 __always_unused proto, u16 vid) in mlxsw_sp_port_kill_vid() argument
668 if (!vid) in mlxsw_sp_port_kill_vid()
671 if (!test_bit(vid, mlxsw_sp_port->active_vfids)) { in mlxsw_sp_port_kill_vid()
672 netdev_warn(dev, "VID=%d does not exist\n", vid); in mlxsw_sp_port_kill_vid()
676 err = mlxsw_sp_port_stp_state_set(mlxsw_sp_port, vid, in mlxsw_sp_port_kill_vid()
679 netdev_err(dev, "Failed to set STP state for VID=%d\n", vid); in mlxsw_sp_port_kill_vid()
683 err = mlxsw_sp_port_vlan_set(mlxsw_sp_port, vid, vid, false, false); in mlxsw_sp_port_kill_vid()
686 vid); in mlxsw_sp_port_kill_vid()
690 err = mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, true); in mlxsw_sp_port_kill_vid()
692 netdev_err(dev, "Failed to enable learning for VID=%d\n", vid); in mlxsw_sp_port_kill_vid()
698 false, MLXSW_SP_VFID_BASE + vid, in mlxsw_sp_port_kill_vid()
699 vid); in mlxsw_sp_port_kill_vid()
702 vid, MLXSW_SP_VFID_BASE + vid); in mlxsw_sp_port_kill_vid()
719 clear_bit(vid, mlxsw_sp_port->active_vfids); in mlxsw_sp_port_kill_vid()