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()
248 struct net_bridge_group_eht_host *eht_host; in __eht_lookup_create_host() local
269 eht_host = kzalloc(sizeof(*eht_host), GFP_ATOMIC); in __eht_lookup_create_host()
270 if (!eht_host) in __eht_lookup_create_host()
273 memcpy(&eht_host->h_addr, h_addr, sizeof(*h_addr)); in __eht_lookup_create_host()
274 INIT_HLIST_HEAD(&eht_host->set_entries); in __eht_lookup_create_host()
275 eht_host->pg = pg; in __eht_lookup_create_host()
276 eht_host->filter_mode = filter_mode; in __eht_lookup_create_host()
278 rb_link_node(&eht_host->rb_node, parent, link); in __eht_lookup_create_host()
279 rb_insert_color(&eht_host->rb_node, &pg->eht_host_tree); in __eht_lookup_create_host()
283 return eht_host; in __eht_lookup_create_host()
289 struct net_bridge_group_eht_host *eht_host, in __eht_lookup_create_set_entry() argument
301 result = memcmp(&eht_host->h_addr, &this->h_addr, in __eht_lookup_create_set_entry()
313 if (!allow_zero_src && eht_host->num_entries >= PG_SRC_ENT_LIMIT) in __eht_lookup_create_set_entry()
320 memcpy(&set_h->h_addr, &eht_host->h_addr, in __eht_lookup_create_set_entry()
324 set_h->h_parent = eht_host; in __eht_lookup_create_set_entry()
328 hlist_add_head(&set_h->host_list, &eht_host->set_entries); in __eht_lookup_create_set_entry()
335 eht_host->num_entries++; in __eht_lookup_create_set_entry()
400 struct net_bridge_group_eht_host *eht_host; in br_eht_convert_host_filter_mode() local
403 eht_host = br_multicast_eht_host_lookup(pg, h_addr); in br_eht_convert_host_filter_mode()
404 if (eht_host) in br_eht_convert_host_filter_mode()
405 eht_host->filter_mode = filter_mode; in br_eht_convert_host_filter_mode()
428 struct net_bridge_group_eht_host *eht_host; in br_multicast_create_eht_set_entry() local
441 eht_host = __eht_lookup_create_host(pg, h_addr, filter_mode); in br_multicast_create_eht_set_entry()
442 if (!eht_host) in br_multicast_create_eht_set_entry()
445 set_h = __eht_lookup_create_set_entry(br, eht_set, eht_host, in br_multicast_create_eht_set_entry()
456 if (hlist_empty(&eht_host->set_entries)) in br_multicast_create_eht_set_entry()
457 __eht_destroy_host(eht_host); in br_multicast_create_eht_set_entry()
494 struct net_bridge_group_eht_host *eht_host; in br_multicast_del_eht_host() local
497 eht_host = br_multicast_eht_host_lookup(pg, h_addr); in br_multicast_del_eht_host()
498 if (!eht_host) in br_multicast_del_eht_host()
501 hlist_for_each_entry_safe(set_h, tmp, &eht_host->set_entries, host_list) in br_multicast_del_eht_host()