Lines Matching refs:flow
183 struct hh_flow_state *flow, *next; in seek_list() local
189 list_for_each_entry_safe(flow, next, head, flowchain) { in seek_list()
190 u32 prev = flow->hit_timestamp + q->hhf_evict_timeout; in seek_list()
196 if (list_is_last(&flow->flowchain, head)) in seek_list()
198 list_del(&flow->flowchain); in seek_list()
199 kfree(flow); in seek_list()
201 } else if (flow->hash_id == hash) { in seek_list()
202 return flow; in seek_list()
214 struct hh_flow_state *flow; in alloc_new_hh() local
219 list_for_each_entry(flow, head, flowchain) { in alloc_new_hh()
220 u32 prev = flow->hit_timestamp + q->hhf_evict_timeout; in alloc_new_hh()
223 return flow; in alloc_new_hh()
232 flow = kzalloc(sizeof(struct hh_flow_state), GFP_ATOMIC); in alloc_new_hh()
233 if (!flow) in alloc_new_hh()
237 INIT_LIST_HEAD(&flow->flowchain); in alloc_new_hh()
238 list_add_tail(&flow->flowchain, head); in alloc_new_hh()
240 return flow; in alloc_new_hh()
251 struct hh_flow_state *flow; in hhf_classify() local
270 flow = seek_list(hash, &q->hh_flows[flow_pos], q); in hhf_classify()
271 if (flow) { /* found its HH flow */ in hhf_classify()
272 flow->hit_timestamp = now; in hhf_classify()
306 flow = alloc_new_hh(&q->hh_flows[flow_pos], q); in hhf_classify()
307 if (!flow) /* memory alloc problem */ in hhf_classify()
309 flow->hash_id = hash; in hhf_classify()
310 flow->hit_timestamp = now; in hhf_classify()
484 struct hh_flow_state *flow, *next; in hhf_destroy() local
489 list_for_each_entry_safe(flow, next, head, flowchain) { in hhf_destroy()
490 list_del(&flow->flowchain); in hhf_destroy()
491 kfree(flow); in hhf_destroy()