Lines Matching refs:head
72 route4_reset_fastmap(struct route4_head *head) in route4_reset_fastmap() argument
75 memset(head->fastmap, 0, sizeof(head->fastmap)); in route4_reset_fastmap()
80 route4_set_fastmap(struct route4_head *head, u32 id, int iif, in route4_set_fastmap() argument
87 head->fastmap[h].id = id; in route4_set_fastmap()
88 head->fastmap[h].iif = iif; in route4_set_fastmap()
89 head->fastmap[h].filter = f; in route4_set_fastmap()
124 route4_set_fastmap(head, id, iif, f); \
131 struct route4_head *head = rcu_dereference_bh(tp->root); in route4_classify() local
143 if (head == NULL) in route4_classify()
151 if (id == head->fastmap[h].id && in route4_classify()
152 iif == head->fastmap[h].iif && in route4_classify()
153 (f = head->fastmap[h].filter) != NULL) { in route4_classify()
168 b = rcu_dereference_bh(head->table[h]); in route4_classify()
194 route4_set_fastmap(head, id, iif, ROUTE4_FAILURE); in route4_classify()
232 struct route4_head *head = rtnl_dereference(tp->root); in route4_get() local
237 if (!head) in route4_get()
248 b = rtnl_dereference(head->table[h1]); in route4_get()
261 struct route4_head *head; in route4_init() local
263 head = kzalloc(sizeof(struct route4_head), GFP_KERNEL); in route4_init()
264 if (head == NULL) in route4_init()
267 rcu_assign_pointer(tp->root, head); in route4_init()
272 route4_delete_filter(struct rcu_head *head) in route4_delete_filter() argument
274 struct route4_filter *f = container_of(head, struct route4_filter, rcu); in route4_delete_filter()
282 struct route4_head *head = rtnl_dereference(tp->root); in route4_destroy() local
285 if (head == NULL) in route4_destroy()
290 if (rcu_access_pointer(head->table[h1])) in route4_destroy()
298 b = rtnl_dereference(head->table[h1]); in route4_destroy()
312 RCU_INIT_POINTER(head->table[h1], NULL); in route4_destroy()
317 kfree_rcu(head, rcu); in route4_destroy()
323 struct route4_head *head = rtnl_dereference(tp->root); in route4_delete() local
331 if (!head || !f) in route4_delete()
348 route4_reset_fastmap(head); in route4_delete()
364 RCU_INIT_POINTER(head->table[to_hash(h)], NULL); in route4_delete()
382 u32 handle, struct route4_head *head, in route4_set_parms() argument
430 b = rtnl_dereference(head->table[h1]); in route4_set_parms()
437 rcu_assign_pointer(head->table[h1], b); in route4_set_parms()
480 struct route4_head *head = rtnl_dereference(tp->root); in route4_change() local
518 err = route4_set_parms(net, tp, base, f, handle, head, tb, in route4_change()
538 b = rtnl_dereference(head->table[th]); in route4_change()
551 route4_reset_fastmap(head); in route4_change()
566 struct route4_head *head = rtnl_dereference(tp->root); in route4_walk() local
569 if (head == NULL) in route4_walk()
576 struct route4_bucket *b = rtnl_dereference(head->table[h]); in route4_walk()