Lines Matching refs:set_h
140 struct net_bridge_group_eht_set_entry *set_h; in br_multicast_destroy_eht_set_entry() local
142 set_h = container_of(gc, struct net_bridge_group_eht_set_entry, mcast_gc); in br_multicast_destroy_eht_set_entry()
143 WARN_ON(!RB_EMPTY_NODE(&set_h->rb_node)); in br_multicast_destroy_eht_set_entry()
145 timer_shutdown_sync(&set_h->timer); in br_multicast_destroy_eht_set_entry()
146 kfree(set_h); in br_multicast_destroy_eht_set_entry()
161 static void __eht_del_set_entry(struct net_bridge_group_eht_set_entry *set_h) in __eht_del_set_entry() argument
163 struct net_bridge_group_eht_host *eht_host = set_h->h_parent; in __eht_del_set_entry()
166 rb_erase(&set_h->rb_node, &set_h->eht_set->entry_tree); in __eht_del_set_entry()
167 RB_CLEAR_NODE(&set_h->rb_node); in __eht_del_set_entry()
168 hlist_del_init(&set_h->host_list); in __eht_del_set_entry()
170 if (memcmp(&set_h->h_addr, &zero_addr, sizeof(zero_addr))) in __eht_del_set_entry()
172 hlist_add_head(&set_h->mcast_gc.gc_node, &set_h->br->mcast_gc_list); in __eht_del_set_entry()
173 queue_work(system_long_wq, &set_h->br->mcast_gc_work); in __eht_del_set_entry()
181 struct net_bridge_group_eht_set_entry *set_h; in br_multicast_del_eht_set() local
185 set_h = rb_entry(node, struct net_bridge_group_eht_set_entry, in br_multicast_del_eht_set()
187 __eht_del_set_entry(set_h); in br_multicast_del_eht_set()
210 struct net_bridge_group_eht_set_entry *set_h = from_timer(set_h, t, timer); in br_multicast_eht_set_entry_expired() local
211 struct net_bridge *br = set_h->br; in br_multicast_eht_set_entry_expired()
214 if (RB_EMPTY_NODE(&set_h->rb_node) || timer_pending(&set_h->timer)) in br_multicast_eht_set_entry_expired()
217 br_multicast_del_eht_set_entry(set_h->eht_set->pg, in br_multicast_eht_set_entry_expired()
218 &set_h->eht_set->src_addr, in br_multicast_eht_set_entry_expired()
219 &set_h->h_addr); in br_multicast_eht_set_entry_expired()
290 struct net_bridge_group_eht_set_entry *set_h; in __eht_lookup_create_set_entry() local
313 set_h = kzalloc(sizeof(*set_h), GFP_ATOMIC); in __eht_lookup_create_set_entry()
314 if (!set_h) in __eht_lookup_create_set_entry()
317 memcpy(&set_h->h_addr, &eht_host->h_addr, in __eht_lookup_create_set_entry()
319 set_h->mcast_gc.destroy = br_multicast_destroy_eht_set_entry; in __eht_lookup_create_set_entry()
320 set_h->eht_set = eht_set; in __eht_lookup_create_set_entry()
321 set_h->h_parent = eht_host; in __eht_lookup_create_set_entry()
322 set_h->br = br; in __eht_lookup_create_set_entry()
323 timer_setup(&set_h->timer, br_multicast_eht_set_entry_expired, 0); in __eht_lookup_create_set_entry()
325 hlist_add_head(&set_h->host_list, &eht_host->set_entries); in __eht_lookup_create_set_entry()
326 rb_link_node(&set_h->rb_node, parent, link); in __eht_lookup_create_set_entry()
327 rb_insert_color(&set_h->rb_node, &eht_set->entry_tree); in __eht_lookup_create_set_entry()
334 return set_h; in __eht_lookup_create_set_entry()
424 struct net_bridge_group_eht_set_entry *set_h; in br_multicast_create_eht_set_entry() local
442 set_h = __eht_lookup_create_set_entry(br, eht_set, eht_host, in br_multicast_create_eht_set_entry()
444 if (!set_h) in br_multicast_create_eht_set_entry()
447 mod_timer(&set_h->timer, jiffies + br_multicast_gmi(brmctx)); in br_multicast_create_eht_set_entry()
464 struct net_bridge_group_eht_set_entry *set_h; in br_multicast_del_eht_set_entry() local
472 set_h = br_multicast_eht_set_entry_lookup(eht_set, h_addr); in br_multicast_del_eht_set_entry()
473 if (!set_h) in br_multicast_del_eht_set_entry()
476 __eht_del_set_entry(set_h); in br_multicast_del_eht_set_entry()
490 struct net_bridge_group_eht_set_entry *set_h; in br_multicast_del_eht_host() local
498 hlist_for_each_entry_safe(set_h, tmp, &eht_host->set_entries, host_list) in br_multicast_del_eht_host()
499 br_multicast_del_eht_set_entry(set_h->eht_set->pg, in br_multicast_del_eht_host()
500 &set_h->eht_set->src_addr, in br_multicast_del_eht_host()
501 &set_h->h_addr); in br_multicast_del_eht_host()