Lines Matching refs:head
282 struct flow_head *head = rcu_dereference_bh(tp->root); in flow_classify() local
289 list_for_each_entry_rcu(f, &head->filters, list) { in flow_classify()
352 static void flow_destroy_filter(struct rcu_head *head) in flow_destroy_filter() argument
354 struct flow_filter *f = container_of(head, struct flow_filter, rcu); in flow_destroy_filter()
367 struct flow_head *head = rtnl_dereference(tp->root); in flow_change() local
522 list_add_tail_rcu(&fnew->list, &head->filters); in flow_change()
551 struct flow_head *head; in flow_init() local
553 head = kzalloc(sizeof(*head), GFP_KERNEL); in flow_init()
554 if (head == NULL) in flow_init()
556 INIT_LIST_HEAD(&head->filters); in flow_init()
557 rcu_assign_pointer(tp->root, head); in flow_init()
563 struct flow_head *head = rtnl_dereference(tp->root); in flow_destroy() local
566 if (!force && !list_empty(&head->filters)) in flow_destroy()
569 list_for_each_entry_safe(f, next, &head->filters, list) { in flow_destroy()
574 kfree_rcu(head, rcu); in flow_destroy()
580 struct flow_head *head = rtnl_dereference(tp->root); in flow_get() local
583 list_for_each_entry(f, &head->filters, list) in flow_get()
652 struct flow_head *head = rtnl_dereference(tp->root); in flow_walk() local
655 list_for_each_entry(f, &head->filters, list) { in flow_walk()