Lines Matching refs:vlan

443 	struct net_bridge_vlan *vlan, *tmp;  in __vlan_flush()  local
448 list_for_each_entry_safe(vlan, tmp, &vg->vlan_list, vlist) { in __vlan_flush()
451 v_start = vlan->vid; in __vlan_flush()
452 } else if (vlan->vid - v_end != 1) { in __vlan_flush()
455 v_start = vlan->vid; in __vlan_flush()
457 v_end = vlan->vid; in __vlan_flush()
459 err = __vlan_del(vlan); in __vlan_flush()
464 vlan->vid, ERR_PTR(err)); in __vlan_flush()
538 struct net_bridge_vlan **vlan) in __allowed_ingress() argument
632 *vlan = v; in __allowed_ingress()
644 struct net_bridge_vlan **vlan) in br_allowed_ingress() argument
649 *vlan = NULL; in br_allowed_ingress()
655 return __allowed_ingress(br, vg, skb, vid, state, vlan); in br_allowed_ingress()
714 struct net_bridge_vlan *vlan, in br_vlan_add_existing() argument
722 if (!br_vlan_is_brentry(vlan)) { in br_vlan_add_existing()
729 would_change = __vlan_flags_would_change(vlan, flags); in br_vlan_add_existing()
736 err = br_switchdev_port_vlan_add(br->dev, vlan->vid, flags, in br_vlan_add_existing()
744 err = br_fdb_add_local(br, NULL, br->dev->dev_addr, vlan->vid); in br_vlan_add_existing()
750 refcount_inc(&vlan->refcnt); in br_vlan_add_existing()
751 vlan->flags |= BRIDGE_VLAN_INFO_BRENTRY; in br_vlan_add_existing()
754 br_multicast_toggle_one_vlan(vlan, true); in br_vlan_add_existing()
757 __vlan_flags_commit(vlan, flags); in br_vlan_add_existing()
764 br_switchdev_port_vlan_del(br->dev, vlan->vid); in br_vlan_add_existing()
776 struct net_bridge_vlan *vlan; in br_vlan_add() local
783 vlan = br_vlan_find(vg, vid); in br_vlan_add()
784 if (vlan) in br_vlan_add()
785 return br_vlan_add_existing(br, vg, vlan, flags, changed, in br_vlan_add()
788 vlan = kzalloc(sizeof(*vlan), GFP_KERNEL); in br_vlan_add()
789 if (!vlan) in br_vlan_add()
792 vlan->stats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats); in br_vlan_add()
793 if (!vlan->stats) { in br_vlan_add()
794 kfree(vlan); in br_vlan_add()
797 vlan->vid = vid; in br_vlan_add()
798 vlan->flags = flags | BRIDGE_VLAN_INFO_MASTER; in br_vlan_add()
799 vlan->flags &= ~BRIDGE_VLAN_INFO_PVID; in br_vlan_add()
800 vlan->br = br; in br_vlan_add()
802 refcount_set(&vlan->refcnt, 1); in br_vlan_add()
803 ret = __vlan_add(vlan, flags, extack); in br_vlan_add()
805 free_percpu(vlan->stats); in br_vlan_add()
806 kfree(vlan); in br_vlan_add()
949 struct net_bridge_vlan *vlan; in __br_vlan_set_proto() local
963 list_for_each_entry(vlan, &vg->vlan_list, vlist) { in __br_vlan_set_proto()
964 if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) in __br_vlan_set_proto()
966 err = vlan_vid_add(p->dev, proto, vlan->vid); in __br_vlan_set_proto()
980 list_for_each_entry(vlan, &vg->vlan_list, vlist) { in __br_vlan_set_proto()
981 if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) in __br_vlan_set_proto()
983 vlan_vid_del(p->dev, oldproto, vlan->vid); in __br_vlan_set_proto()
993 list_for_each_entry_continue_reverse(vlan, &vg->vlan_list, vlist) { in __br_vlan_set_proto()
994 if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) in __br_vlan_set_proto()
996 vlan_vid_del(p->dev, proto, vlan->vid); in __br_vlan_set_proto()
1001 list_for_each_entry(vlan, &vg->vlan_list, vlist) { in __br_vlan_set_proto()
1002 if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) in __br_vlan_set_proto()
1004 vlan_vid_del(p->dev, proto, vlan->vid); in __br_vlan_set_proto()
1311 struct net_bridge_vlan *vlan; in nbp_vlan_add() local
1317 vlan = br_vlan_find(nbp_vlan_group(port), vid); in nbp_vlan_add()
1318 if (vlan) { in nbp_vlan_add()
1319 bool would_change = __vlan_flags_would_change(vlan, flags); in nbp_vlan_add()
1329 __vlan_flags_commit(vlan, flags); in nbp_vlan_add()
1335 vlan = kzalloc(sizeof(*vlan), GFP_KERNEL); in nbp_vlan_add()
1336 if (!vlan) in nbp_vlan_add()
1339 vlan->vid = vid; in nbp_vlan_add()
1340 vlan->port = port; in nbp_vlan_add()
1341 ret = __vlan_add(vlan, flags, extack); in nbp_vlan_add()
1343 kfree(vlan); in nbp_vlan_add()
1461 ctx->vlan[idx].proto == br->vlan_proto) { in br_vlan_fill_forward_path_pvid()
1462 vid = ctx->vlan[idx].id; in br_vlan_fill_forward_path_pvid()
1652 struct net_bridge_vlan *vlan; in br_vlan_set_all_vlan_dev_state() local
1655 list_for_each_entry(vlan, &vg->vlan_list, vlist) { in br_vlan_set_all_vlan_dev_state()
1657 vlan->vid); in br_vlan_set_all_vlan_dev_state()
1781 struct vlan_dev_priv *vlan = vlan_dev_priv(vlan_dev); in br_vlan_vlan_upper_event() local
1793 bridge_binding = vlan->flags & VLAN_FLAG_BRIDGE_BINDING; in br_vlan_vlan_upper_event()