| /linux/net/openvswitch/ |
| H A D | flow_table.h | 62 struct flow_table { struct 80 int ovs_flow_tbl_init(struct flow_table *); argument 81 int ovs_flow_tbl_count(const struct flow_table *table); 82 void ovs_flow_tbl_destroy(struct flow_table *table); 83 int ovs_flow_tbl_flush(struct flow_table *flow_table); 85 int ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow, 87 void ovs_flow_tbl_remove(struct flow_table *table, struct sw_flow *flow); 88 int ovs_flow_tbl_num_masks(const struct flow_table *table); 89 u32 ovs_flow_tbl_masks_cache_size(const struct flow_table *table); 90 int ovs_flow_tbl_masks_cache_resize(struct flow_table *table, u32 size); [all …]
|
| H A D | Makefile | 14 flow_table.o \
|
| H A D | datapath.h | 93 struct flow_table table;
|
| H A D | flow.h | 226 } flow_table, ufid_table; member
|
| H A D | datapath.c | 1922 struct flow_table *table = &dp->table; in __dp_destroy()
|
| /linux/include/net/netfilter/ |
| H A D | nf_flow_table.h | 250 nf_flow_table_offload_add_cb(struct nf_flowtable *flow_table, in nf_flow_table_offload_add_cb() 253 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_add_cb() 257 down_write(&flow_table->flow_block_lock); 271 up_write(&flow_table->flow_block_lock); in nf_flow_table_offload_del_cb() 273 if (flow_table->type->get) in nf_flow_table_offload_del_cb() 274 flow_table->type->get(flow_table); in nf_flow_table_offload_del_cb() 278 up_write(&flow_table->flow_block_lock); 283 nf_flow_table_offload_del_cb(struct nf_flowtable *flow_table, 286 struct flow_block *block = &flow_table 226 nf_flow_table_offload_add_cb(struct nf_flowtable * flow_table,flow_setup_cb_t * cb,void * cb_priv) nf_flow_table_offload_add_cb() argument 259 nf_flow_table_offload_del_cb(struct nf_flowtable * flow_table,flow_setup_cb_t * cb,void * cb_priv) nf_flow_table_offload_del_cb() argument [all...] |
| /linux/net/netfilter/ |
| H A D | nf_flow_table_core.c | 322 int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow) in flow_offload_add() 328 err = rhashtable_insert_fast(&flow_table->rhashtable, in flow_offload_add() 334 err = rhashtable_insert_fast(&flow_table->rhashtable, in flow_offload_add() 338 rhashtable_remove_fast(&flow_table->rhashtable, in flow_offload_add() 346 if (nf_flowtable_hw_offload(flow_table)) { in flow_offload_add() 348 nf_flow_offload_add(flow_table, flow); in flow_offload_add() 355 void flow_offload_refresh(struct nf_flowtable *flow_table, in flow_offload_refresh() 366 if (likely(!nf_flowtable_hw_offload(flow_table)) || in flow_offload_refresh() 370 nf_flow_offload_add(flow_table, flow); 374 static void flow_offload_del(struct nf_flowtable *flow_table, in flow_offload_del() 319 flow_offload_add(struct nf_flowtable * flow_table,struct flow_offload * flow) flow_offload_add() argument 352 flow_offload_refresh(struct nf_flowtable * flow_table,struct flow_offload * flow,bool force) flow_offload_refresh() argument 371 flow_offload_del(struct nf_flowtable * flow_table,struct flow_offload * flow) flow_offload_del() argument 392 flow_offload_lookup(struct nf_flowtable * flow_table,struct flow_offload_tuple * tuple) flow_offload_lookup() argument 417 nf_flow_table_iterate(struct nf_flowtable * flow_table,void (* iter)(struct nf_flowtable * flowtable,struct flow_offload * flow,void * data),void * data) nf_flow_table_iterate() argument 451 nf_flow_custom_gc(struct nf_flowtable * flow_table,const struct flow_offload * flow) nf_flow_custom_gc() argument 554 nf_flow_offload_gc_step(struct nf_flowtable * flow_table,struct flow_offload * flow,void * data) nf_flow_offload_gc_step() argument 586 nf_flow_table_gc_run(struct nf_flowtable * flow_table) nf_flow_table_gc_run() argument 593 struct nf_flowtable *flow_table; nf_flow_offload_work_gc() local 712 nf_flow_table_do_cleanup(struct nf_flowtable * flow_table,struct flow_offload * flow,void * data) nf_flow_table_do_cleanup() argument 747 nf_flow_table_free(struct nf_flowtable * flow_table) nf_flow_table_free() argument [all...] |
| H A D | nf_flow_table_ip.c | 413 struct nf_flowtable *flow_table, struct sk_buff *skb) in nf_flow_offload_forward() 423 return flow_offload_lookup(flow_table, &tuple); in nf_flow_offload_ip_hook() 427 struct nf_flowtable *flow_table, in nf_flow_offload_ip_hook() 459 flow_offload_refresh(flow_table, flow, false); in nf_flow_offload_ip_hook() 470 if (flow_table->flags & NF_FLOWTABLE_COUNTER) in nf_flow_offload_ip_hook() 598 struct nf_flowtable *flow_table = priv; in nf_flow_tuple_ipv6() 611 tuplehash = nf_flow_offload_lookup(&ctx, flow_table, skb); in nf_flow_tuple_ipv6() 615 ret = nf_flow_offload_forward(&ctx, flow_table, tuplehash, skb); in nf_flow_tuple_ipv6() 845 struct nf_flowtable *flow_table, 874 flow_offload_refresh(flow_table, flo 356 nf_flow_offload_lookup(struct nf_flowtable_ctx * ctx,struct nf_flowtable * flow_table,struct sk_buff * skb) nf_flow_offload_lookup() argument 371 nf_flow_offload_forward(struct nf_flowtable_ctx * ctx,struct nf_flowtable * flow_table,struct flow_offload_tuple_rhash * tuplehash,struct sk_buff * skb) nf_flow_offload_forward() argument 422 struct nf_flowtable *flow_table = priv; nf_flow_offload_ip_hook() local 650 nf_flow_offload_ipv6_forward(struct nf_flowtable_ctx * ctx,struct nf_flowtable * flow_table,struct flow_offload_tuple_rhash * tuplehash,struct sk_buff * skb) nf_flow_offload_ipv6_forward() argument 697 nf_flow_offload_ipv6_lookup(struct nf_flowtable_ctx * ctx,struct nf_flowtable * flow_table,struct sk_buff * skb) nf_flow_offload_ipv6_lookup() argument 717 struct nf_flowtable *flow_table = priv; nf_flow_offload_ipv6_hook() local [all...] |
| /linux/drivers/net/ethernet/mediatek/ |
| H A D | mtk_ppe_offload.c | 264 if (rhashtable_lookup(ð->flow_table, &f->cookie, mtk_flow_ht_params)) in mtk_flow_offload_replace() 485 err = rhashtable_insert_fast(ð->flow_table, &entry->node, in mtk_flow_offload_replace() 506 entry = rhashtable_lookup(ð->flow_table, &f->cookie, in mtk_flow_offload_destroy() 512 rhashtable_remove_fast(ð->flow_table, &entry->node, in mtk_flow_offload_destroy() 528 entry = rhashtable_lookup(ð->flow_table, &f->cookie, in mtk_flow_offload_stats() 657 return rhashtable_init(ð->flow_table, &mtk_flow_ht_params); in mtk_eth_offload_init()
|
| H A D | mtk_eth_soc.h | 1346 struct rhashtable flow_table; member
|
| /linux/drivers/net/ethernet/airoha/ |
| H A D | airoha_ppe.c | 1015 if (rhashtable_lookup(ð->flow_table, &f->cookie, in airoha_ppe_flow_offload_replace() 1187 err = rhashtable_insert_fast(ð->flow_table, &e->node, in airoha_ppe_flow_offload_replace() 1207 e = rhashtable_lookup(ð->flow_table, &f->cookie, in airoha_ppe_flow_offload_destroy() 1213 rhashtable_remove_fast(ð->flow_table, &e->node, in airoha_ppe_flow_offload_destroy() 1261 e = rhashtable_lookup(ð->flow_table, &f->cookie, in airoha_ppe_flow_offload_stats() 1524 err = rhashtable_init(ð->flow_table, &airoha_flow_table_params); in airoha_ppe_init() 1541 rhashtable_destroy(ð->flow_table); in airoha_ppe_init() 1562 rhashtable_destroy(ð->flow_table); in airoha_ppe_deinit()
|
| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_tc.c | 1489 rc = rhashtable_remove_fast(&tc_info->flow_table, &flow_node->node, in __bnxt_tc_del_flow() 1560 old_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_add_flow() 1588 rc = rhashtable_insert_fast(&tc_info->flow_table, &new_node->node, in bnxt_tc_add_flow() 1618 flow_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_del_flow() 1636 flow_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_get_flow_stats() 1828 num_flows = atomic_read(&tc_info->flow_table.nelems); in bnxt_tc_flow_stats_work() 1832 rhashtable_walk_enter(&tc_info->flow_table, &tc_info->iter); in bnxt_tc_flow_stats_work() 2031 rc = rhashtable_init(&tc_info->flow_table, &tc_info->flow_ht_params); in bnxt_init_tc() 2079 rhashtable_destroy(&tc_info->flow_table); in bnxt_init_tc() 2095 rhashtable_destroy(&tc_info->flow_table); in bnxt_shutdown_tc()
|
| H A D | bnxt.h | 1811 struct rhashtable flow_table; member
|
| /linux/drivers/infiniband/hw/mlx5/ |
| H A D | fs.c | 638 mlx5_destroy_flow_table(prio->flow_table); in put_flow_table() 639 prio->flow_table = NULL; in put_flow_table() 704 prio->flow_table = ft; in _get_prio() 791 ft = prio->flow_table; in get_flow_table() 999 if (prio->flow_table) in get_per_qp_prio() 1142 opfc->rule[i] = mlx5_add_flow_rules(prio->flow_table, &spec[i], in add_op_fc_rules() 1302 if (!prio->flow_table) { in mlx5_ib_fs_add_op_fc() 1324 opfc->rule[i] = mlx5_add_flow_rules(prio->flow_table, &spec[i], in mlx5_ib_fs_add_op_fc() 1423 WARN_ON(!prio->flow_table); in mlx5r_fs_bind_op_fc() 1516 struct mlx5_flow_table *ft = ft_prio->flow_table; in _create_flow_rule() [all …]
|
| /linux/drivers/net/ethernet/netronome/nfp/flower/ |
| H A D | offload.c | 1065 err = rhashtable_insert_fast(&priv->flow_table, &merge_flow->fl_node, in nfp_flower_merge_offloaded_flows() 1098 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_merge_offloaded_flows() 1392 err = rhashtable_insert_fast(&priv->flow_table, &flow_pay->fl_node, in nfp_flower_add_offload() 1437 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_add_offload() 1520 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_remove_merge_flow() 1622 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_del_offload()
|
| H A D | conntrack.c | 1092 err = rhashtable_insert_fast(&priv->flow_table, &flow_pay->fl_node, in nfp_fl_ct_add_offload() 1111 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_fl_ct_add_offload() 1168 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_fl_ct_del_offload() 1838 zt->nft = ct_act->ct.flow_table; in nfp_fl_ct_handle_pre_ct()
|
| H A D | main.h | 313 struct rhashtable flow_table; member
|
| /linux/net/core/ |
| H A D | dev.c | 4954 static u32 rfs_slot(u32 hash, const struct rps_dev_flow_table *flow_table) in rfs_slot() argument 4956 return hash_32(hash, flow_table->log); in rfs_slot() 4972 struct rps_dev_flow_table *flow_table, in rps_flow_is_active() argument 4985 (int)(10 << flow_table->log); in rps_flow_is_active() 4998 struct rps_dev_flow_table *flow_table; in set_rps_cpu() local 5014 flow_table = rcu_dereference(rxqueue->rps_flow_table); in set_rps_cpu() 5015 if (!flow_table) in set_rps_cpu() 5018 tmp_rflow = &flow_table->flows[flow_id]; in set_rps_cpu() 5022 if (rps_flow_is_active(tmp_rflow, flow_table, in set_rps_cpu() 5062 struct rps_dev_flow_table *flow_table; in get_rps_cpu() local [all …]
|
| /linux/net/sched/ |
| H A D | act_ct.c | 695 /* If flow_table flow has already been updated to the in tcf_ct_flow_table_lookup() 1613 entry->ct.flow_table = tcf_ct_ft(act); in tcf_ct_offload_act_setup()
|
| /linux/drivers/net/ethernet/sfc/ |
| H A D | tc.c | 1051 fa->ct.flow_table); in efx_tc_flower_handle_lhs_actions()
|