Lines Matching refs:eht_host

70 	struct net_bridge_group_eht_host *eht_host;  in br_multicast_eht_host_filter_mode()  local
72 eht_host = br_multicast_eht_host_lookup(pg, h_addr); in br_multicast_eht_host_filter_mode()
73 if (!eht_host) in br_multicast_eht_host_filter_mode()
76 return eht_host->filter_mode; in br_multicast_eht_host_filter_mode()
127 static void __eht_destroy_host(struct net_bridge_group_eht_host *eht_host) in __eht_destroy_host() argument
129 WARN_ON(!hlist_empty(&eht_host->set_entries)); in __eht_destroy_host()
131 br_multicast_eht_hosts_dec(eht_host->pg); in __eht_destroy_host()
133 rb_erase(&eht_host->rb_node, &eht_host->pg->eht_host_tree); in __eht_destroy_host()
134 RB_CLEAR_NODE(&eht_host->rb_node); in __eht_destroy_host()
135 kfree(eht_host); in __eht_destroy_host()
163 struct net_bridge_group_eht_host *eht_host = set_h->h_parent; in __eht_del_set_entry() local
171 eht_host->num_entries--; in __eht_del_set_entry()
175 if (hlist_empty(&eht_host->set_entries)) in __eht_del_set_entry()
176 __eht_destroy_host(eht_host); in __eht_del_set_entry()
245 struct net_bridge_group_eht_host *eht_host; in __eht_lookup_create_host() local
266 eht_host = kzalloc(sizeof(*eht_host), GFP_ATOMIC); in __eht_lookup_create_host()
267 if (!eht_host) in __eht_lookup_create_host()
270 memcpy(&eht_host->h_addr, h_addr, sizeof(*h_addr)); in __eht_lookup_create_host()
271 INIT_HLIST_HEAD(&eht_host->set_entries); in __eht_lookup_create_host()
272 eht_host->pg = pg; in __eht_lookup_create_host()
273 eht_host->filter_mode = filter_mode; in __eht_lookup_create_host()
275 rb_link_node(&eht_host->rb_node, parent, link); in __eht_lookup_create_host()
276 rb_insert_color(&eht_host->rb_node, &pg->eht_host_tree); in __eht_lookup_create_host()
280 return eht_host; in __eht_lookup_create_host()
286 struct net_bridge_group_eht_host *eht_host, in __eht_lookup_create_set_entry() argument
298 result = memcmp(&eht_host->h_addr, &this->h_addr, in __eht_lookup_create_set_entry()
310 if (!allow_zero_src && eht_host->num_entries >= PG_SRC_ENT_LIMIT) in __eht_lookup_create_set_entry()
317 memcpy(&set_h->h_addr, &eht_host->h_addr, in __eht_lookup_create_set_entry()
321 set_h->h_parent = eht_host; in __eht_lookup_create_set_entry()
325 hlist_add_head(&set_h->host_list, &eht_host->set_entries); in __eht_lookup_create_set_entry()
332 eht_host->num_entries++; in __eht_lookup_create_set_entry()
397 struct net_bridge_group_eht_host *eht_host; in br_eht_convert_host_filter_mode() local
400 eht_host = br_multicast_eht_host_lookup(pg, h_addr); in br_eht_convert_host_filter_mode()
401 if (eht_host) in br_eht_convert_host_filter_mode()
402 eht_host->filter_mode = filter_mode; in br_eht_convert_host_filter_mode()
425 struct net_bridge_group_eht_host *eht_host; in br_multicast_create_eht_set_entry() local
438 eht_host = __eht_lookup_create_host(pg, h_addr, filter_mode); in br_multicast_create_eht_set_entry()
439 if (!eht_host) in br_multicast_create_eht_set_entry()
442 set_h = __eht_lookup_create_set_entry(br, eht_set, eht_host, in br_multicast_create_eht_set_entry()
453 if (hlist_empty(&eht_host->set_entries)) in br_multicast_create_eht_set_entry()
454 __eht_destroy_host(eht_host); in br_multicast_create_eht_set_entry()
491 struct net_bridge_group_eht_host *eht_host; in br_multicast_del_eht_host() local
494 eht_host = br_multicast_eht_host_lookup(pg, h_addr); in br_multicast_del_eht_host()
495 if (!eht_host) in br_multicast_del_eht_host()
498 hlist_for_each_entry_safe(set_h, tmp, &eht_host->set_entries, host_list) in br_multicast_del_eht_host()