Lines Matching refs:head
295 struct flow_head *head = rcu_dereference_bh(tp->root); in flow_classify() local
302 list_for_each_entry_rcu(f, &head->filters, list) { in flow_classify()
365 static void flow_destroy_filter(struct rcu_head *head) in flow_destroy_filter() argument
367 struct flow_filter *f = container_of(head, struct flow_filter, rcu); in flow_destroy_filter()
380 struct flow_head *head = rtnl_dereference(tp->root); in flow_change() local
535 list_add_tail_rcu(&fnew->list, &head->filters); in flow_change()
564 struct flow_head *head; in flow_init() local
566 head = kzalloc(sizeof(*head), GFP_KERNEL); in flow_init()
567 if (head == NULL) in flow_init()
569 INIT_LIST_HEAD(&head->filters); in flow_init()
570 rcu_assign_pointer(tp->root, head); in flow_init()
576 struct flow_head *head = rtnl_dereference(tp->root); in flow_destroy() local
579 if (!force && !list_empty(&head->filters)) in flow_destroy()
582 list_for_each_entry_safe(f, next, &head->filters, list) { in flow_destroy()
587 kfree_rcu(head, rcu); in flow_destroy()
593 struct flow_head *head = rtnl_dereference(tp->root); in flow_get() local
596 list_for_each_entry(f, &head->filters, list) in flow_get()
665 struct flow_head *head = rtnl_dereference(tp->root); in flow_walk() local
668 list_for_each_entry(f, &head->filters, list) { in flow_walk()