Searched refs:fle (Results 1 - 1 of 1) sorted by relevance

/linux-4.4.14/net/core/
H A Dflow.c65 static int flow_entry_valid(struct flow_cache_entry *fle, flow_entry_valid() argument
68 if (atomic_read(&xfrm->flow_cache_genid) != fle->genid) flow_entry_valid()
70 if (fle->object && !fle->object->ops->check(fle->object)) flow_entry_valid()
75 static void flow_entry_kill(struct flow_cache_entry *fle, flow_entry_kill() argument
78 if (fle->object) flow_entry_kill()
79 fle->object->ops->delete(fle->object); flow_entry_kill()
80 kmem_cache_free(flow_cachep, fle); flow_entry_kill()
116 struct flow_cache_entry *fle; __flow_cache_shrink() local
126 hlist_for_each_entry_safe(fle, tmp, __flow_cache_shrink()
129 flow_entry_valid(fle, xfrm)) { __flow_cache_shrink()
133 hlist_del(&fle->u.hlist); __flow_cache_shrink()
134 list_add_tail(&fle->u.gc_list, &gc_list); __flow_cache_shrink()
197 struct flow_cache_entry *fle, *tfle; flow_cache_lookup() local
205 fle = NULL; flow_cache_lookup()
226 fle = tfle; flow_cache_lookup()
231 if (unlikely(!fle)) { flow_cache_lookup()
235 fle = kmem_cache_alloc(flow_cachep, GFP_ATOMIC); flow_cache_lookup()
236 if (fle) { flow_cache_lookup()
237 fle->net = net; flow_cache_lookup()
238 fle->family = family; flow_cache_lookup()
239 fle->dir = dir; flow_cache_lookup()
240 memcpy(&fle->key, key, keysize * sizeof(flow_compare_t)); flow_cache_lookup()
241 fle->object = NULL; flow_cache_lookup()
242 hlist_add_head(&fle->u.hlist, &fcp->hash_table[hash]); flow_cache_lookup()
245 } else if (likely(fle->genid == atomic_read(&net->xfrm.flow_cache_genid))) { flow_cache_lookup()
246 flo = fle->object; flow_cache_lookup()
252 } else if (fle->object) { flow_cache_lookup()
253 flo = fle->object; flow_cache_lookup()
255 fle->object = NULL; flow_cache_lookup()
260 if (fle) { flow_cache_lookup()
261 flo = fle->object; flow_cache_lookup()
262 fle->object = NULL; flow_cache_lookup()
265 if (fle) { flow_cache_lookup()
266 fle->genid = atomic_read(&net->xfrm.flow_cache_genid); flow_cache_lookup()
268 fle->object = flo; flow_cache_lookup()
270 fle->genid--; flow_cache_lookup()
286 struct flow_cache_entry *fle; flow_cache_flush_tasklet() local
295 hlist_for_each_entry_safe(fle, tmp, flow_cache_flush_tasklet()
297 if (flow_entry_valid(fle, xfrm)) flow_cache_flush_tasklet()
301 hlist_del(&fle->u.hlist); flow_cache_flush_tasklet()
302 list_add_tail(&fle->u.gc_list, &gc_list); flow_cache_flush_tasklet()

Completed in 221 milliseconds