/net/bridge/ |
D | br_vlan.c | 37 static bool __vlan_add_pvid(struct net_bridge_vlan_group *vg, u16 vid) in __vlan_add_pvid() argument 39 if (vg->pvid == vid) in __vlan_add_pvid() 43 vg->pvid = vid; in __vlan_add_pvid() 48 static bool __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() 62 struct net_bridge_vlan_group *vg; in __vlan_add_flags() local 67 vg = br_vlan_group(v->br); in __vlan_add_flags() 69 vg = nbp_vlan_group(v->port); in __vlan_add_flags() 72 ret = __vlan_add_pvid(vg, v->vid); in __vlan_add_flags() [all …]
|
D | br_vlan_tunnel.c | 53 void vlan_tunnel_info_del(struct net_bridge_vlan_group *vg, in vlan_tunnel_info_del() argument 58 rhashtable_remove_fast(&vg->tunnel_hash, &vlan->tnode, in vlan_tunnel_info_del() 63 static int __vlan_tunnel_info_add(struct net_bridge_vlan_group *vg, in __vlan_tunnel_info_add() argument 82 err = rhashtable_lookup_insert_fast(&vg->tunnel_hash, &vlan->tnode, in __vlan_tunnel_info_add() 99 struct net_bridge_vlan_group *vg; in nbp_vlan_tunnel_info_add() local 104 vg = nbp_vlan_group(port); in nbp_vlan_tunnel_info_add() 105 vlan = br_vlan_find(vg, vid); in nbp_vlan_tunnel_info_add() 109 return __vlan_tunnel_info_add(vg, vlan, tun_id); in nbp_vlan_tunnel_info_add() 117 struct net_bridge_vlan_group *vg; in nbp_vlan_tunnel_info_delete() local 122 vg = nbp_vlan_group(port); in nbp_vlan_tunnel_info_delete() [all …]
|
D | br_private_tunnel.h | 27 int br_get_vlan_tunnel_info_size(struct net_bridge_vlan_group *vg); 29 struct net_bridge_vlan_group *vg); 33 int vlan_tunnel_init(struct net_bridge_vlan_group *vg); 34 void vlan_tunnel_deinit(struct net_bridge_vlan_group *vg); 38 void vlan_tunnel_info_del(struct net_bridge_vlan_group *vg, 42 struct net_bridge_vlan_group *vg); 46 static inline int vlan_tunnel_init(struct net_bridge_vlan_group *vg) in vlan_tunnel_init() argument 67 static inline void vlan_tunnel_info_del(struct net_bridge_vlan_group *vg, in vlan_tunnel_info_del() argument 74 struct net_bridge_vlan_group *vg) in br_handle_ingress_vlan_tunnel() argument
|
D | br_fdb.c | 216 struct net_bridge_vlan_group *vg; in fdb_delete_local() local 223 vg = nbp_vlan_group(op); in fdb_delete_local() 225 (!vid || br_vlan_find(vg, vid))) { in fdb_delete_local() 232 vg = br_vlan_group(br); in fdb_delete_local() 233 v = br_vlan_find(vg, vid); in fdb_delete_local() 260 struct net_bridge_vlan_group *vg; in br_fdb_changeaddr() local 266 vg = nbp_vlan_group(p); in br_fdb_changeaddr() 276 if (!vg || !vg->num_vlans) in br_fdb_changeaddr() 285 if (!vg || !vg->num_vlans) in br_fdb_changeaddr() 292 list_for_each_entry(v, &vg->vlan_list, vlist) in br_fdb_changeaddr() [all …]
|
D | br_netlink.c | 21 static int __get_num_vlan_infos(struct net_bridge_vlan_group *vg, in __get_num_vlan_infos() argument 32 pvid = br_get_pvid(vg); in __get_num_vlan_infos() 34 list_for_each_entry_rcu(v, &vg->vlan_list, vlist) { in __get_num_vlan_infos() 73 static int br_get_num_vlan_infos(struct net_bridge_vlan_group *vg, in br_get_num_vlan_infos() argument 78 if (!vg) in br_get_num_vlan_infos() 82 return vg->num_vlans; in br_get_num_vlan_infos() 85 num_vlans = __get_num_vlan_infos(vg, filter_mask); in br_get_num_vlan_infos() 94 struct net_bridge_vlan_group *vg = NULL; in br_get_link_af_size_filtered() local 104 vg = nbp_vlan_group_rcu(p); in br_get_link_af_size_filtered() 107 vg = br_vlan_group_rcu(br); in br_get_link_af_size_filtered() [all …]
|
D | br_netlink_tunnel.c | 38 static int __get_num_vlan_tunnel_infos(struct net_bridge_vlan_group *vg) in __get_num_vlan_tunnel_infos() argument 44 list_for_each_entry_rcu(v, &vg->vlan_list, vlist) { in __get_num_vlan_tunnel_infos() 76 int br_get_vlan_tunnel_info_size(struct net_bridge_vlan_group *vg) in br_get_vlan_tunnel_info_size() argument 80 if (!vg) in br_get_vlan_tunnel_info_size() 84 num_tinfos = __get_num_vlan_tunnel_infos(vg); in br_get_vlan_tunnel_info_size() 149 struct net_bridge_vlan_group *vg) in br_fill_vlan_tunnel_info() argument 157 list_for_each_entry_rcu(v, &vg->vlan_list, vlist) { in br_fill_vlan_tunnel_info()
|
D | br_forward.c | 24 struct net_bridge_vlan_group *vg; in should_deliver() local 26 vg = nbp_vlan_group_rcu(p); in should_deliver() 28 br_allowed_egress(vg, skb) && p->state == BR_STATE_FORWARDING && in should_deliver() 75 struct net_bridge_vlan_group *vg; in __br_forward() local 80 vg = nbp_vlan_group_rcu(to); in __br_forward() 81 skb = br_handle_vlan(to->br, to, vg, skb); in __br_forward()
|
D | br_arp_nd_proxy.c | 50 struct net_bridge_vlan_group *vg; in br_arp_send() local 69 vg = nbp_vlan_group_rcu(p); in br_arp_send() 71 vg = br_vlan_group_rcu(br); in br_arp_send() 72 pvid = br_get_pvid(vg); in br_arp_send() 249 struct net_bridge_vlan_group *vg; in br_nd_send() local 341 vg = nbp_vlan_group_rcu(p); in br_nd_send() 343 vg = br_vlan_group_rcu(br); in br_nd_send() 344 pvid = br_get_pvid(vg); in br_nd_send()
|
D | br_private.h | 876 struct net_bridge_vlan_group *vg, struct sk_buff *skb, 878 bool br_allowed_egress(struct net_bridge_vlan_group *vg, 883 struct net_bridge_vlan_group *vg, 889 struct net_bridge_vlan *br_vlan_find(struct net_bridge_vlan_group *vg, u16 vid); 954 static inline u16 br_get_pvid(const struct net_bridge_vlan_group *vg) in br_get_pvid() argument 956 if (!vg) in br_get_pvid() 960 return vg->pvid; in br_get_pvid() 965 struct net_bridge_vlan_group *vg, in br_allowed_ingress() argument 972 static inline bool br_allowed_egress(struct net_bridge_vlan_group *vg, in br_allowed_egress() argument 986 struct net_bridge_vlan_group *vg, in br_handle_vlan() argument [all …]
|
D | br_mdb.c | 684 struct net_bridge_vlan_group *vg; in br_mdb_add() local 706 vg = nbp_vlan_group(p); in br_mdb_add() 708 vg = br_vlan_group(br); in br_mdb_add() 714 if (br_vlan_enabled(br->dev) && vg && entry->vid == 0) { in br_mdb_add() 715 list_for_each_entry(v, &vg->vlan_list, vlist) { in br_mdb_add() 789 struct net_bridge_vlan_group *vg; in br_mdb_del() local 811 vg = nbp_vlan_group(p); in br_mdb_del() 813 vg = br_vlan_group(br); in br_mdb_del() 819 if (br_vlan_enabled(br->dev) && vg && entry->vid == 0) { in br_mdb_del() 820 list_for_each_entry(v, &vg->vlan_list, vlist) { in br_mdb_del()
|
D | br_input.c | 36 struct net_bridge_vlan_group *vg; in br_pass_frame_up() local 44 vg = br_vlan_group_rcu(br); in br_pass_frame_up() 57 !br_allowed_egress(vg, skb)) { in br_pass_frame_up() 64 skb = br_handle_vlan(br, NULL, vg, skb); in br_pass_frame_up()
|
/net/8021q/ |
D | vlan.h | 52 static inline struct net_device *__vlan_group_get_device(struct vlan_group *vg, in __vlan_group_get_device() argument 58 array = vg->vlan_devices_arrays[pidx] in __vlan_group_get_device() 63 static inline struct net_device *vlan_group_get_device(struct vlan_group *vg, in vlan_group_get_device() argument 67 return __vlan_group_get_device(vg, vlan_proto_idx(vlan_proto), vlan_id); in vlan_group_get_device() 70 static inline void vlan_group_set_device(struct vlan_group *vg, in vlan_group_set_device() argument 75 if (!vg) in vlan_group_set_device() 77 array = vg->vlan_devices_arrays[vlan_proto_idx(vlan_proto)] in vlan_group_set_device()
|
D | vlan.c | 50 static int vlan_group_prealloc_vid(struct vlan_group *vg, in vlan_group_prealloc_vid() argument 61 array = vg->vlan_devices_arrays[pidx][vidx]; in vlan_group_prealloc_vid() 70 vg->vlan_devices_arrays[pidx][vidx] = array; in vlan_group_prealloc_vid()
|