Lines Matching refs:vg

37 static void __vlan_add_pvid(struct net_bridge_vlan_group *vg,  in __vlan_add_pvid()  argument
40 if (vg->pvid == v->vid) in __vlan_add_pvid()
44 br_vlan_set_pvid_state(vg, v->state); in __vlan_add_pvid()
45 vg->pvid = v->vid; in __vlan_add_pvid()
48 static void __vlan_delete_pvid(struct net_bridge_vlan_group *vg, u16 vid) in __vlan_delete_pvid() argument
50 if (vg->pvid != vid) in __vlan_delete_pvid()
54 vg->pvid = 0; in __vlan_delete_pvid()
64 struct net_bridge_vlan_group *vg; in __vlan_flags_update() local
68 vg = br_vlan_group(v->br); in __vlan_flags_update()
70 vg = nbp_vlan_group(v->port); in __vlan_flags_update()
73 change = !!(flags & BRIDGE_VLAN_INFO_PVID) == !!(vg->pvid != v->vid) || in __vlan_flags_update()
80 __vlan_add_pvid(vg, v); in __vlan_flags_update()
82 __vlan_delete_pvid(vg, v->vid); in __vlan_flags_update()
121 struct net_bridge_vlan_group *vg; in __vlan_add_list() local
126 vg = br_vlan_group(v->br); in __vlan_add_list()
128 vg = nbp_vlan_group(v->port); in __vlan_add_list()
130 headp = &vg->vlan_list; in __vlan_add_list()
165 struct net_bridge_vlan_group *vg; in br_vlan_get_master() local
168 vg = br_vlan_group(br); in br_vlan_get_master()
169 masterv = br_vlan_find(vg, vid); in br_vlan_get_master()
176 masterv = br_vlan_find(vg, vid); in br_vlan_get_master()
200 struct net_bridge_vlan_group *vg; in br_vlan_put_master() local
205 vg = br_vlan_group(masterv->br); in br_vlan_put_master()
207 rhashtable_remove_fast(&vg->vlan_hash, in br_vlan_put_master()
263 struct net_bridge_vlan_group *vg; in __vlan_add() local
271 vg = br_vlan_group(br); in __vlan_add()
276 vg = nbp_vlan_group(p); in __vlan_add()
339 vg->num_vlans++; in __vlan_add()
345 err = rhashtable_lookup_insert_fast(&vg->vlan_hash, &v->vnode, in __vlan_add()
362 vg->num_vlans--; in __vlan_add()
386 struct net_bridge_vlan_group *vg; in __vlan_del() local
391 vg = br_vlan_group(v->br); in __vlan_del()
394 vg = nbp_vlan_group(v->port); in __vlan_del()
398 __vlan_delete_pvid(vg, v->vid); in __vlan_del()
412 vg->num_vlans--; in __vlan_del()
416 vlan_tunnel_info_del(vg, v); in __vlan_del()
417 rhashtable_remove_fast(&vg->vlan_hash, &v->vnode, in __vlan_del()
431 static void __vlan_group_free(struct net_bridge_vlan_group *vg) in __vlan_group_free() argument
433 WARN_ON(!list_empty(&vg->vlan_list)); in __vlan_group_free()
434 rhashtable_destroy(&vg->vlan_hash); in __vlan_group_free()
435 vlan_tunnel_deinit(vg); in __vlan_group_free()
436 kfree(vg); in __vlan_group_free()
441 struct net_bridge_vlan_group *vg) in __vlan_flush() argument
447 __vlan_delete_pvid(vg, vg->pvid); in __vlan_flush()
448 list_for_each_entry_safe(vlan, tmp, &vg->vlan_list, vlist) { in __vlan_flush()
475 struct net_bridge_vlan_group *vg, in br_handle_vlan() argument
491 v = br_vlan_find(vg, vid); in br_handle_vlan()
535 struct net_bridge_vlan_group *vg, in __allowed_ingress() argument
579 u16 pvid = br_get_pvid(vg); in __allowed_ingress()
607 *state = br_vlan_get_pvid_state(vg); in __allowed_ingress()
614 v = br_vlan_find(vg, *vid); in __allowed_ingress()
642 struct net_bridge_vlan_group *vg, struct sk_buff *skb, in br_allowed_ingress() argument
655 return __allowed_ingress(br, vg, skb, vid, state, vlan); in br_allowed_ingress()
659 bool br_allowed_egress(struct net_bridge_vlan_group *vg, in br_allowed_egress() argument
670 v = br_vlan_find(vg, vid); in br_allowed_egress()
681 struct net_bridge_vlan_group *vg; in br_should_learn() local
689 vg = nbp_vlan_group_rcu(p); in br_should_learn()
690 if (!vg || !vg->num_vlans) in br_should_learn()
697 *vid = br_get_pvid(vg); in br_should_learn()
699 !br_vlan_state_allowed(br_vlan_get_pvid_state(vg), true)) in br_should_learn()
705 v = br_vlan_find(vg, *vid); in br_should_learn()
713 struct net_bridge_vlan_group *vg, in br_vlan_add_existing() argument
750 vg->num_vlans++; in br_vlan_add_existing()
773 struct net_bridge_vlan_group *vg; in br_vlan_add() local
780 vg = br_vlan_group(br); in br_vlan_add()
781 vlan = br_vlan_find(vg, vid); in br_vlan_add()
783 return br_vlan_add_existing(br, vg, vlan, flags, changed, in br_vlan_add()
817 struct net_bridge_vlan_group *vg; in br_vlan_delete() local
822 vg = br_vlan_group(br); in br_vlan_delete()
823 v = br_vlan_find(vg, vid); in br_vlan_delete()
830 vlan_tunnel_info_del(vg, v); in br_vlan_delete()
837 struct net_bridge_vlan_group *vg; in br_vlan_flush() local
841 vg = br_vlan_group(br); in br_vlan_flush()
842 __vlan_flush(br, NULL, vg); in br_vlan_flush()
845 __vlan_group_free(vg); in br_vlan_flush()
848 struct net_bridge_vlan *br_vlan_find(struct net_bridge_vlan_group *vg, u16 vid) in br_vlan_find() argument
850 if (!vg) in br_vlan_find()
853 return br_vlan_lookup(&vg->vlan_hash, vid); in br_vlan_find()
948 struct net_bridge_vlan_group *vg; in __br_vlan_set_proto() local
960 vg = nbp_vlan_group(p); in __br_vlan_set_proto()
961 list_for_each_entry(vlan, &vg->vlan_list, vlist) { in __br_vlan_set_proto()
977 vg = nbp_vlan_group(p); in __br_vlan_set_proto()
978 list_for_each_entry(vlan, &vg->vlan_list, vlist) { in __br_vlan_set_proto()
991 list_for_each_entry_continue_reverse(vlan, &vg->vlan_list, vlist) { in __br_vlan_set_proto()
998 vg = nbp_vlan_group(p); in __br_vlan_set_proto()
999 list_for_each_entry(vlan, &vg->vlan_list, vlist) { in __br_vlan_set_proto()
1038 struct net_bridge_vlan_group *vg = nbp_vlan_group(p); in br_vlan_set_stats_per_port() local
1040 if (vg->num_vlans) in br_vlan_set_stats_per_port()
1056 static bool vlan_default_pvid(struct net_bridge_vlan_group *vg, u16 vid) in vlan_default_pvid() argument
1060 if (vid != vg->pvid) in vlan_default_pvid()
1063 v = br_vlan_lookup(&vg->vlan_hash, vid); in vlan_default_pvid()
1097 struct net_bridge_vlan_group *vg; in __br_vlan_set_default_pvid() local
1118 vg = br_vlan_group(br); in __br_vlan_set_default_pvid()
1119 pvent = br_vlan_find(vg, pvid); in __br_vlan_set_default_pvid()
1120 if ((!old_pvid || vlan_default_pvid(vg, old_pvid)) && in __br_vlan_set_default_pvid()
1140 vg = nbp_vlan_group(p); in __br_vlan_set_default_pvid()
1142 !vlan_default_pvid(vg, old_pvid)) || in __br_vlan_set_default_pvid()
1143 br_vlan_find(vg, pvid)) in __br_vlan_set_default_pvid()
1220 struct net_bridge_vlan_group *vg; in br_vlan_init() local
1223 vg = kzalloc(sizeof(*vg), GFP_KERNEL); in br_vlan_init()
1224 if (!vg) in br_vlan_init()
1226 ret = rhashtable_init(&vg->vlan_hash, &br_vlan_rht_params); in br_vlan_init()
1229 ret = vlan_tunnel_init(vg); in br_vlan_init()
1232 INIT_LIST_HEAD(&vg->vlan_list); in br_vlan_init()
1235 rcu_assign_pointer(br->vlgrp, vg); in br_vlan_init()
1241 rhashtable_destroy(&vg->vlan_hash); in br_vlan_init()
1243 kfree(vg); in br_vlan_init()
1256 struct net_bridge_vlan_group *vg; in nbp_vlan_init() local
1259 vg = kzalloc(sizeof(struct net_bridge_vlan_group), GFP_KERNEL); in nbp_vlan_init()
1260 if (!vg) in nbp_vlan_init()
1267 ret = rhashtable_init(&vg->vlan_hash, &br_vlan_rht_params); in nbp_vlan_init()
1270 ret = vlan_tunnel_init(vg); in nbp_vlan_init()
1273 INIT_LIST_HEAD(&vg->vlan_list); in nbp_vlan_init()
1274 rcu_assign_pointer(p->vlgrp, vg); in nbp_vlan_init()
1292 vlan_tunnel_deinit(vg); in nbp_vlan_init()
1294 rhashtable_destroy(&vg->vlan_hash); in nbp_vlan_init()
1297 kfree(vg); in nbp_vlan_init()
1368 struct net_bridge_vlan_group *vg; in nbp_vlan_flush() local
1372 vg = nbp_vlan_group(port); in nbp_vlan_flush()
1373 __vlan_flush(port->br, port, vg); in nbp_vlan_flush()
1376 __vlan_group_free(vg); in nbp_vlan_flush()
1408 struct net_bridge_vlan_group *vg; in br_vlan_get_pvid() local
1414 vg = nbp_vlan_group(p); in br_vlan_get_pvid()
1416 vg = br_vlan_group(netdev_priv(dev)); in br_vlan_get_pvid()
1420 *p_pvid = br_get_pvid(vg); in br_vlan_get_pvid()
1427 struct net_bridge_vlan_group *vg; in br_vlan_get_pvid_rcu() local
1432 vg = nbp_vlan_group_rcu(p); in br_vlan_get_pvid_rcu()
1434 vg = br_vlan_group_rcu(netdev_priv(dev)); in br_vlan_get_pvid_rcu()
1438 *p_pvid = br_get_pvid(vg); in br_vlan_get_pvid_rcu()
1447 struct net_bridge_vlan_group *vg; in br_vlan_fill_forward_path_pvid() local
1456 vg = br_vlan_group(br); in br_vlan_fill_forward_path_pvid()
1463 vid = br_get_pvid(vg); in br_vlan_fill_forward_path_pvid()
1474 struct net_bridge_vlan_group *vg; in br_vlan_fill_forward_path_mode() local
1480 vg = nbp_vlan_group_rcu(dst); in br_vlan_fill_forward_path_mode()
1481 v = br_vlan_find(vg, path->bridge.vlan_id); in br_vlan_fill_forward_path_mode()
1501 struct net_bridge_vlan_group *vg; in br_vlan_get_info() local
1508 vg = nbp_vlan_group(p); in br_vlan_get_info()
1510 vg = br_vlan_group(netdev_priv(dev)); in br_vlan_get_info()
1514 v = br_vlan_find(vg, vid); in br_vlan_get_info()
1520 if (vid == br_get_pvid(vg)) in br_vlan_get_info()
1529 struct net_bridge_vlan_group *vg; in br_vlan_get_info_rcu() local
1535 vg = nbp_vlan_group_rcu(p); in br_vlan_get_info_rcu()
1537 vg = br_vlan_group_rcu(netdev_priv(dev)); in br_vlan_get_info_rcu()
1541 v = br_vlan_find(vg, vid); in br_vlan_get_info_rcu()
1547 if (vid == br_get_pvid(vg)) in br_vlan_get_info_rcu()
1624 struct net_bridge_vlan_group *vg; in br_vlan_set_vlan_dev_state() local
1634 vg = nbp_vlan_group(p); in br_vlan_set_vlan_dev_state()
1635 if (br_vlan_find(vg, vid) && br_vlan_is_dev_up(p->dev)) { in br_vlan_set_vlan_dev_state()
1649 struct net_bridge_vlan_group *vg = nbp_vlan_group(p); in br_vlan_set_all_vlan_dev_state() local
1653 list_for_each_entry(vlan, &vg->vlan_list, vlist) { in br_vlan_set_all_vlan_dev_state()
1876 struct net_bridge_vlan_group *vg; in br_vlan_notify() local
1891 vg = nbp_vlan_group(p); in br_vlan_notify()
1895 vg = br_vlan_group(br); in br_vlan_notify()
1915 v = br_vlan_find(vg, vid); in br_vlan_notify()
1920 if (br_get_pvid(vg) == v->vid) in br_vlan_notify()
1959 struct net_bridge_vlan_group *vg; in br_vlan_dump_dev() local
1973 vg = br_vlan_group_rcu(br); in br_vlan_dump_dev()
1983 vg = nbp_vlan_group_rcu(p); in br_vlan_dump_dev()
1987 if (!vg) in br_vlan_dump_dev()
1998 pvid = br_get_pvid(vg); in br_vlan_dump_dev()
2001 list_for_each_entry_rcu(v, &vg->vlan_list, vlist) { in br_vlan_dump_dev()
2147 struct net_bridge_vlan_group *vg; in br_vlan_rtm_process_one() local
2154 vg = br_vlan_group(br); in br_vlan_rtm_process_one()
2160 vg = nbp_vlan_group(p); in br_vlan_rtm_process_one()
2163 if (WARN_ON(!vg)) in br_vlan_rtm_process_one()
2231 range_start = br_vlan_find(vg, vinfo_last->vid); in br_vlan_rtm_process_one()
2232 range_end = br_vlan_find(vg, vinfo->vid); in br_vlan_rtm_process_one()
2234 range_start = br_vlan_find(vg, vinfo->vid); in br_vlan_rtm_process_one()