Home
last modified time | relevance | path

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

/Linux-v5.4/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-v5.4/net/netfilter/
Dnft_flow_offload.c19 struct nft_flowtable *flowtable; member
75 struct nf_flowtable *flowtable = &priv->flowtable->data; in nft_flow_offload_eval() local
127 ret = flow_offload_add(flowtable, flow); in nft_flow_offload_eval()
164 struct nft_flowtable *flowtable; in nft_flow_offload_init() local
169 flowtable = nft_flowtable_lookup(ctx->table, tb[NFTA_FLOW_TABLE_NAME], in nft_flow_offload_init()
171 if (IS_ERR(flowtable)) in nft_flow_offload_init()
172 return PTR_ERR(flowtable); in nft_flow_offload_init()
174 priv->flowtable = flowtable; in nft_flow_offload_init()
175 flowtable->use++; in nft_flow_offload_init()
186 nf_tables_deactivate_flowtable(ctx, priv->flowtable, phase); in nft_flow_offload_deactivate()
[all …]
Dnf_flow_table_core.c463 int nf_flow_table_init(struct nf_flowtable *flowtable) in nf_flow_table_init() argument
467 INIT_DEFERRABLE_WORK(&flowtable->gc_work, nf_flow_offload_work_gc); in nf_flow_table_init()
469 err = rhashtable_init(&flowtable->rhashtable, in nf_flow_table_init()
475 &flowtable->gc_work, HZ); in nf_flow_table_init()
478 list_add(&flowtable->list, &flowtables); in nf_flow_table_init()
502 static void nf_flow_table_iterate_cleanup(struct nf_flowtable *flowtable, in nf_flow_table_iterate_cleanup() argument
505 nf_flow_table_iterate(flowtable, nf_flow_table_do_cleanup, dev); in nf_flow_table_iterate_cleanup()
506 flush_delayed_work(&flowtable->gc_work); in nf_flow_table_iterate_cleanup()
511 struct nf_flowtable *flowtable; in nf_flow_table_cleanup() local
514 list_for_each_entry(flowtable, &flowtables, list) in nf_flow_table_cleanup()
[all …]
Dnf_tables_api.c411 struct nft_flowtable *flowtable) in nft_trans_flowtable_add() argument
421 nft_activate_next(ctx->net, flowtable); in nft_trans_flowtable_add()
423 nft_trans_flowtable(trans) = flowtable; in nft_trans_flowtable_add()
430 struct nft_flowtable *flowtable) in nft_delflowtable() argument
434 err = nft_trans_flowtable_add(ctx, NFT_MSG_DELFLOWTABLE, flowtable); in nft_delflowtable()
438 nft_deactivate_next(ctx->net, flowtable); in nft_delflowtable()
950 struct nft_flowtable *flowtable, *nft; in nft_flush_table() local
980 list_for_each_entry_safe(flowtable, nft, &ctx->table->flowtables, list) { in nft_flush_table()
981 err = nft_delflowtable(ctx, flowtable); in nft_flush_table()
5588 struct nft_flowtable *flowtable; in nft_flowtable_lookup() local
[all …]
/Linux-v5.4/include/net/netfilter/
Dnf_tables.h1188 struct nft_flowtable *flowtable,
1446 struct nft_flowtable *flowtable; member
1450 (((struct nft_trans_flowtable *)trans->data)->flowtable)
/Linux-v5.4/tools/testing/selftests/netfilter/
Dnft_flowtable.sh127 flowtable f1 {