Home
last modified time | relevance | path

Searched refs:flowtable (Results 1 – 5 of 5) sorted by relevance

/Linux-v4.19/Documentation/networking/
Dnf_flowtable.txt1 Netfilter's flowtable infrastructure
4 This documentation describes the software flowtable infrastructure available in
12 in both directions), then you can decide to offload the flow to the flowtable
15 Packets that find an entry in the flowtable (ie. flowtable hit) are sent to the
18 netfilter hooks coming after the ingress). In case of flowtable miss, the packet
21 The flowtable uses a resizable hashtable, lookups are based on the following
32 including the Netfilter hooks and the flowtable fastpath bypass.
48 flowtable | | ____\/___ | |
54 |_____| | flowtable |
62 Fig.1 Netfilter hooks and flowtable interactions
[all …]
/Linux-v4.19/net/netfilter/
Dnft_flow_offload.c17 struct nft_flowtable *flowtable; member
68 struct nf_flowtable *flowtable = &priv->flowtable->data; in nft_flow_offload_eval() local
109 ret = flow_offload_add(flowtable, flow); in nft_flow_offload_eval()
140 struct nft_flowtable *flowtable; in nft_flow_offload_init() local
145 flowtable = nft_flowtable_lookup(ctx->table, tb[NFTA_FLOW_TABLE_NAME], in nft_flow_offload_init()
147 if (IS_ERR(flowtable)) in nft_flow_offload_init()
148 return PTR_ERR(flowtable); in nft_flow_offload_init()
150 priv->flowtable = flowtable; in nft_flow_offload_init()
151 flowtable->use++; in nft_flow_offload_init()
161 priv->flowtable->use--; in nft_flow_offload_destroy()
[all …]
Dnf_flow_table_core.c456 int nf_flow_table_init(struct nf_flowtable *flowtable) in nf_flow_table_init() argument
460 INIT_DEFERRABLE_WORK(&flowtable->gc_work, nf_flow_offload_work_gc); in nf_flow_table_init()
462 err = rhashtable_init(&flowtable->rhashtable, in nf_flow_table_init()
468 &flowtable->gc_work, HZ); in nf_flow_table_init()
471 list_add(&flowtable->list, &flowtables); in nf_flow_table_init()
492 static void nf_flow_table_iterate_cleanup(struct nf_flowtable *flowtable, in nf_flow_table_iterate_cleanup() argument
495 nf_flow_table_iterate(flowtable, nf_flow_table_do_cleanup, dev); in nf_flow_table_iterate_cleanup()
496 flush_delayed_work(&flowtable->gc_work); in nf_flow_table_iterate_cleanup()
501 struct nf_flowtable *flowtable; in nf_flow_table_cleanup() local
504 list_for_each_entry(flowtable, &flowtables, list) in nf_flow_table_cleanup()
[all …]
Dnf_tables_api.c368 struct nft_flowtable *flowtable) in nft_trans_flowtable_add() argument
378 nft_activate_next(ctx->net, flowtable); in nft_trans_flowtable_add()
380 nft_trans_flowtable(trans) = flowtable; in nft_trans_flowtable_add()
387 struct nft_flowtable *flowtable) in nft_delflowtable() argument
391 err = nft_trans_flowtable_add(ctx, NFT_MSG_DELFLOWTABLE, flowtable); in nft_delflowtable()
395 nft_deactivate_next(ctx->net, flowtable); in nft_delflowtable()
879 struct nft_flowtable *flowtable, *nft; in nft_flush_table() local
909 list_for_each_entry_safe(flowtable, nft, &ctx->table->flowtables, list) { in nft_flush_table()
910 err = nft_delflowtable(ctx, flowtable); in nft_flush_table()
5300 struct nft_flowtable *flowtable; in nft_flowtable_lookup() local
[all …]
/Linux-v4.19/include/net/netfilter/
Dnf_tables.h1370 struct nft_flowtable *flowtable; member
1374 (((struct nft_trans_flowtable *)trans->data)->flowtable)