Home
last modified time | relevance | path

Searched refs:flow (Results 1 – 25 of 494) sorted by relevance

12345678910>>...20

/linux-6.3-rc2/drivers/net/wireless/broadcom/brcm80211/brcmfmac/
A Dflowring.c85 hash = flow->hash; in brcmf_flowring_lookup()
130 hash = flow->hash; in brcmf_flowring_create()
363 flow = kzalloc(sizeof(*flow), GFP_KERNEL); in brcmf_flowring_attach()
364 if (flow) { in brcmf_flowring_attach()
365 flow->dev = dev; in brcmf_flowring_attach()
372 flow->rings = kcalloc(nrofrings, sizeof(*flow->rings), in brcmf_flowring_attach()
375 kfree(flow); in brcmf_flowring_attach()
376 flow = NULL; in brcmf_flowring_attach()
380 return flow; in brcmf_flowring_attach()
404 kfree(flow); in brcmf_flowring_detach()
[all …]
A Dflowring.h50 u32 brcmf_flowring_lookup(struct brcmf_flowring *flow, u8 da[ETH_ALEN],
52 u32 brcmf_flowring_create(struct brcmf_flowring *flow, u8 da[ETH_ALEN],
54 void brcmf_flowring_delete(struct brcmf_flowring *flow, u16 flowid);
55 void brcmf_flowring_open(struct brcmf_flowring *flow, u16 flowid);
56 u8 brcmf_flowring_tid(struct brcmf_flowring *flow, u16 flowid);
57 u32 brcmf_flowring_enqueue(struct brcmf_flowring *flow, u16 flowid,
60 void brcmf_flowring_reinsert(struct brcmf_flowring *flow, u16 flowid,
62 u32 brcmf_flowring_qlen(struct brcmf_flowring *flow, u16 flowid);
63 u8 brcmf_flowring_ifidx_get(struct brcmf_flowring *flow, u16 flowid);
65 void brcmf_flowring_detach(struct brcmf_flowring *flow);
[all …]
/linux-6.3-rc2/drivers/gpu/ipu-v3/
A Dipu-dp.c46 u32 flow; member
151 flow->base + DP_CSC_0); in ipu_dp_csc_init()
153 flow->base + DP_CSC_1); in ipu_dp_csc_init()
161 flow->base + DP_CSC_0); in ipu_dp_csc_init()
195 flow->out_cs = out; in ipu_dp_setup_channel()
197 if (flow->foreground.in_cs == flow->background.in_cs) { in ipu_dp_setup_channel()
203 flow->foreground.in_cs, flow->out_cs, in ipu_dp_setup_channel()
207 flow->foreground.in_cs == flow->out_cs) in ipu_dp_setup_channel()
324 if (flow & 1) in ipu_dp_get()
325 dp = &priv->flow[flow >> 1].foreground; in ipu_dp_get()
[all …]
/linux-6.3-rc2/include/net/
A Dfq_impl.h24 flow->backlog -= bytes; in __fq_adjust_removal()
28 if (flow->backlog) in __fq_adjust_removal()
125 flow->tin = NULL; in fq_tin_dequeue()
153 if (flow->tin && flow->tin != tin) { in fq_flow_classify()
159 if (!flow->tin) in fq_flow_classify()
162 return flow; in fq_flow_classify()
180 flow = cur; in fq_find_fattest_flow()
194 return flow; in fq_find_fattest_flow()
217 flow->tin = tin; in fq_tin_enqueue()
237 if (!flow) in fq_tin_enqueue()
[all …]
/linux-6.3-rc2/drivers/net/phy/mscc/
A Dmscc_macsec.c467 if ((flow->bank == MACSEC_INGR && flow->rx_sa && !flow->rx_sa->active) || in vsc8584_macsec_flow_enable()
468 (flow->bank == MACSEC_EGR && flow->tx_sa && !flow->tx_sa->active)) in vsc8584_macsec_flow_enable()
577 flow->rx_sa->next_pn : flow->tx_sa->next_pn); in vsc8584_macsec_transformation()
613 flow = kzalloc(sizeof(*flow), GFP_KERNEL); in vsc8584_macsec_alloc_flow()
614 if (!flow) in vsc8584_macsec_alloc_flow()
624 return flow; in vsc8584_macsec_alloc_flow()
635 kfree(flow); in vsc8584_macsec_free_flow()
651 if (IS_ERR(flow)) in vsc8584_macsec_default_flows()
667 if (IS_ERR(flow)) in vsc8584_macsec_default_flows()
820 if (flow->bank == MACSEC_INGR && flow->rx_sa && in vsc8584_macsec_del_rxsc()
[all …]
/linux-6.3-rc2/net/netfilter/
A Dnf_flow_table_core.c54 struct flow_offload *flow; in flow_offload_alloc() local
59 flow = kzalloc(sizeof(*flow), GFP_ATOMIC); in flow_offload_alloc()
60 if (!flow) in flow_offload_alloc()
64 flow->ct = ct; in flow_offload_alloc()
74 return flow; in flow_offload_alloc()
221 switch (flow->type) { in flow_offload_free()
228 nf_ct_put(flow->ct); in flow_offload_free()
229 kfree_rcu(flow, rcu_head); in flow_offload_free()
290 flow->timeout = nf_flowtable_time_stamp + flow_offload_get_timeout(flow); in flow_offload_add()
351 flow_offload_free(flow); in flow_offload_del()
[all …]
A Dnf_flow_table_offload.c24 struct flow_offload *flow; member
224 const struct flow_offload *flow, in flow_offload_eth_src() argument
271 const struct flow_offload *flow, in flow_offload_eth_dst() argument
738 struct flow_offload *flow = offload->flow; in nf_flow_offload_rule_alloc() local
836 struct flow_offload *flow, in nf_flow_offload_tuple() argument
956 offload->flow->timeout = max_t(u64, offload->flow->timeout, in flow_offload_work_stats()
961 nf_ct_acct_add(offload->flow->ct, in flow_offload_work_stats()
1031 offload->flow = flow; in nf_flow_offload_work_alloc()
1040 struct flow_offload *flow) in nf_flow_offload_add() argument
1052 struct flow_offload *flow) in nf_flow_offload_del() argument
[all …]
A Dnf_flow_table_ip.c31 flow_offload_teardown(flow); in nf_flow_state_check()
125 if (test_bit(NF_FLOW_SNAT, &flow->flags)) { in nf_flow_nat_ip()
347 struct flow_offload *flow; in nf_flow_offload_ip_hook() local
380 flow_offload_teardown(flow); in nf_flow_offload_ip_hook()
387 flow_offload_refresh(flow_table, flow); in nf_flow_offload_ip_hook()
422 flow_offload_teardown(flow); in nf_flow_offload_ip_hook()
614 struct flow_offload *flow; in nf_flow_offload_ipv6_hook() local
646 flow_offload_teardown(flow); in nf_flow_offload_ipv6_hook()
653 flow_offload_refresh(flow_table, flow); in nf_flow_offload_ipv6_hook()
658 nf_flow_nat_ipv6(flow, skb, dir, ip6h); in nf_flow_offload_ipv6_hook()
[all …]
A Dnf_tables_offload.c15 if (!flow) in nft_flow_rule_alloc()
20 kfree(flow); in nft_flow_rule_alloc()
24 flow->rule->match.dissector = &flow->match.dissector; in nft_flow_rule_alloc()
25 flow->rule->match.mask = &flow->match.mask; in nft_flow_rule_alloc()
26 flow->rule->match.key = &flow->match.key; in nft_flow_rule_alloc()
28 return flow; in nft_flow_rule_alloc()
108 if (!flow) in nft_flow_rule_create()
137 return flow; in nft_flow_rule_create()
161 kfree(flow); in nft_flow_rule_destroy()
252 if (flow) in nft_flow_cls_offload_setup()
[all …]
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/en/
A Dtc_priv.h131 struct mlx5e_tc_flow *flow,
151 set_bit(flag, &flow->flags); in __flow_flag_set()
154 #define flow_flag_set(flow, flag) __flow_flag_set(flow, MLX5E_TC_FLOW_FLAG_##flag) argument
164 __flow_flag_test_and_set(flow, \
171 clear_bit(flag, &flow->flags); in __flow_flag_clear()
174 #define flow_flag_clear(flow, flag) __flow_flag_clear(flow, \ argument
179 bool ret = test_bit(flag, &flow->flags); in __flow_flag_test()
186 #define flow_flag_test(flow, flag) __flow_flag_test(flow, \ argument
190 struct mlx5e_tc_flow *flow);
193 struct mlx5e_tc_flow *flow,
[all …]
A Dtc_tun_encap.c152 struct mlx5e_tc_flow *flow; in mlx5e_tc_encap_flows_add() local
174 if (!mlx5e_is_offloaded_flow(flow) || !flow_flag_test(flow, SLOW)) in mlx5e_tc_encap_flows_add()
196 rule = mlx5e_tc_offload_fdb_rules(esw, flow, spec, flow->attr); in mlx5e_tc_encap_flows_add()
206 flow->rule[0] = rule; in mlx5e_tc_encap_flows_add()
252 mlx5e_tc_unoffload_fdb_rules(esw, flow, flow->attr); in mlx5e_tc_encap_flows_del()
254 flow->rule[0] = rule; in mlx5e_tc_encap_flows_del()
1215 flow->decap_route = r; in mlx5e_attach_decap_route()
1351 mlx5e_tc_unoffload_fdb_rules(esw, flow, flow->attr); in mlx5e_invalidate_encap()
1430 rule = mlx5e_tc_offload_fdb_rules(esw, flow, spec, flow->attr); in mlx5e_reoffload_encap()
1500 mlx5e_tc_unoffload_fdb_rules(esw, flow, flow->attr); in mlx5e_unoffload_flow_list()
[all …]
A Dtc_tun_encap.h10 struct mlx5e_tc_flow *flow,
15 struct mlx5e_tc_flow *flow,
23 struct mlx5e_tc_flow *flow,
26 struct mlx5e_tc_flow *flow);
29 struct mlx5e_tc_flow *flow);
31 struct mlx5e_tc_flow *flow);
35 int mlx5e_tc_set_attr_rx_tun(struct mlx5e_tc_flow *flow,
/linux-6.3-rc2/net/openvswitch/
A Dflow_table.c78 if (!flow) in ovs_flow_alloc()
97 return flow; in ovs_flow_alloc()
137 if (!flow) in ovs_flow_free()
494 flow); in table_instance_flow_flush()
829 if (!flow) in ovs_flow_tbl_lookup_stats()
843 if (flow) in ovs_flow_tbl_lookup_stats()
847 return flow; in ovs_flow_tbl_lookup_stats()
867 return flow; in ovs_flow_tbl_lookup()
888 if (flow && ovs_identifier_is_key(&flow->id) && in ovs_flow_tbl_lookup_exact()
1043 flow->flow_table.hash = flow_hash(&flow->key, &flow->mask->range); in flow_key_insert()
[all …]
/linux-6.3-rc2/drivers/net/ethernet/broadcom/bnxt/
A Dbnxt_tc.c701 is_wildcard(&flow->l4_mask, sizeof(flow->l4_mask))) { in bnxt_hwrm_cfa_flow_alloc()
1053 if (bits_set(&flow->l2_key.smac, sizeof(flow->l2_key.smac)) && in bnxt_tc_can_offload()
1054 !is_exactmatch(flow->l2_mask.smac, sizeof(flow->l2_mask.smac))) { in bnxt_tc_can_offload()
1058 if (bits_set(&flow->l2_key.dmac, sizeof(flow->l2_key.dmac)) && in bnxt_tc_can_offload()
1059 !is_exactmatch(&flow->l2_mask.dmac, sizeof(flow->l2_mask.dmac))) { in bnxt_tc_can_offload()
1279 &flow.daddr); in bnxt_tc_resolve_tunnel_hdrs()
1540 flow = &new_node->flow; in bnxt_tc_add_flow()
1547 bnxt_tc_set_flow_dir(bp, flow, flow->src_fid); in bnxt_tc_add_flow()
1638 flow = &flow_node->flow; in bnxt_tc_get_flow_stats()
1769 struct bnxt_tc_flow *flow = &flow_node->flow; in bnxt_tc_flow_stats_batch_update() local
[all …]
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/
A Den_tc.c622 if (!flow || !refcount_inc_not_zero(&flow->refcnt)) in mlx5e_flow_get()
624 return flow; in mlx5e_flow_get()
659 return mlx5e_is_eswitch_flow(flow) ? flow->attr->esw_attr->counter_dev : flow->priv->mdev; in get_flow_counter_dev()
4075 struct mlx5e_tc_flow *flow = parse_state->flow; in parse_tc_actions() local
4461 clean_encap_dests(flow->priv, flow, attr, &vf_tun); in mlx5_free_flow_attr()
4468 mlx5e_tc_detach_mod_hdr(flow->priv, flow, attr); in mlx5_free_flow_attr()
4484 flow = kzalloc(sizeof(*flow), GFP_KERNEL); in mlx5e_alloc_flow()
4810 if (flow) { in mlx5e_configure_flower()
4827 if (flow) in mlx5e_configure_flower()
4874 if (!flow || !same_flow_direction(flow, flags)) { in mlx5e_delete_flower()
[all …]
/linux-6.3-rc2/drivers/infiniband/hw/hfi1/
A Dtid_rdma.c1117 flow->length = flow->req->seg_len - length; in kern_find_pages()
1342 flow->tid_entry[flow->tidcnt++] = in kern_program_rcv_group()
1347 flow->req->qp, flow->tidcnt - 1, in kern_program_rcv_group()
1348 flow->tid_entry[flow->tidcnt - 1]); in kern_program_rcv_group()
1416 trace_hfi1_tid_flow_alloc(flow->req->qp, flow->req->setup_head, flow); in kern_program_rcvarray()
1523 flow->flow_state.lpsn = flow->flow_state.spsn + flow->npkts - 1; in hfi1_kern_exp_rcv_setup()
1722 req_addr = &flow->tid_entry[flow->tid_idx]; in hfi1_build_tid_rdma_read_packet()
1724 (flow->tidcnt - flow->tid_idx); in hfi1_build_tid_rdma_read_packet()
1952 flow->flow_state.ib_lpsn = flow->flow_state.ib_spsn + flow->npkts - 1; in tid_rdma_rcv_read_request()
2363 last_pkt = (flow->sent >= flow->length); in hfi1_build_tid_rdma_read_resp()
[all …]
/linux-6.3-rc2/net/sched/
A Dsch_fq_codel.c120 flow->head = skb->next; in dequeue_head()
129 if (flow->head == NULL) in flow_queue_add()
130 flow->head = skb; in flow_queue_add()
133 flow->tail = skb; in flow_queue_add()
164 flow = &q->flows[idx]; in fq_codel_drop()
204 flow = &q->flows[idx]; in fq_codel_enqueue()
263 if (flow->head) { in dequeue_func()
331 rtnl_kfree_skbs(flow->head, flow->tail); in fq_codel_flow_purge()
332 flow->head = NULL; in fq_codel_flow_purge()
657 if (flow->head) { in fq_codel_dump_class_stats()
[all …]
A Dsch_fq_pie.c120 if (!flow->head) in flow_queue_add()
121 flow->head = skb; in flow_queue_add()
123 flow->tail->next = skb; in flow_queue_add()
124 flow->tail = skb; in flow_queue_add()
223 flow->head = skb->next; in dequeue_head()
232 struct fq_pie_flow *flow; in fq_pie_qdisc_dequeue() local
252 if (flow->head) { in fq_pie_qdisc_dequeue()
269 flow->qlen--; in fq_pie_qdisc_dequeue()
273 pie_process_dequeue(skb, &q->p_params, &flow->vars, flow->backlog); in fq_pie_qdisc_dequeue()
515 rtnl_kfree_skbs(flow->head, flow->tail); in fq_pie_reset()
[all …]
/linux-6.3-rc2/samples/bpf/
A Dsockex2_kern.c63 struct flow_key_record *flow) in parse_ip() argument
87 struct flow_key_record *flow) in parse_ipv6() argument
91 flow->src = ipv6_addr_hash(skb, in parse_ipv6()
93 flow->dst = ipv6_addr_hash(skb, in parse_ipv6()
101 struct flow_key_record *flow) in flow_dissector() argument
176 flow->ip_proto = ip_proto; in flow_dissector()
180 flow->ports = load_word(skb, nhoff); in flow_dissector()
183 flow->thoff = (__u16) nhoff; in flow_dissector()
203 struct flow_key_record flow = {}; in bpf_prog2() local
207 if (!flow_dissector(skb, &flow)) in bpf_prog2()
[all …]
/linux-6.3-rc2/drivers/infiniband/hw/usnic/
A Dusnic_fwd.c213 flow = kzalloc(sizeof(*flow), GFP_ATOMIC); in usnic_fwd_alloc_flow()
214 if (!flow) in usnic_fwd_alloc_flow()
263 return flow; in usnic_fwd_alloc_flow()
265 kfree(flow); in usnic_fwd_alloc_flow()
274 a0 = flow->flow_id; in usnic_fwd_dealloc_flow()
276 status = usnic_fwd_devcmd(flow->ufdev, flow->vnic_idx, in usnic_fwd_dealloc_flow()
281 flow->flow_id, flow->vnic_idx, in usnic_fwd_dealloc_flow()
285 flow->ufdev->name, flow->vnic_idx, in usnic_fwd_dealloc_flow()
296 flow->ufdev->name, flow->vnic_idx, in usnic_fwd_dealloc_flow()
297 flow->flow_id); in usnic_fwd_dealloc_flow()
[all …]
/linux-6.3-rc2/Documentation/networking/
A Dopenvswitch.rst22 extracting its flow key and looking it up in the flow table. If there
97 Wildcarded flow key format
102 optional corresponding flow mask.
107 of a incoming packet. Using wildcarded flow can improve the flow set up rate
116 nor supply flow mask attributes.
137 Unique flow identifiers
141 flow identification is a unique flow identifier, or "UFID". UFIDs are optional
145 setup in addition to the flow, then refer to the flow using the UFID for all
147 flow key if a UFID is specified.
162 flow key attributes.
[all …]
/linux-6.3-rc2/net/ipv4/netfilter/
A Dipt_rpfilter.c57 struct flowi4 flow; in rpfilter_mt() local
73 memset(&flow, 0, sizeof(flow)); in rpfilter_mt()
74 flow.flowi4_iif = LOOPBACK_IFINDEX; in rpfilter_mt()
75 flow.daddr = iph->saddr; in rpfilter_mt()
76 flow.saddr = rpfilter_get_saddr(iph->daddr); in rpfilter_mt()
77 flow.flowi4_mark = info->flags & XT_RPFILTER_VALID_MARK ? skb->mark : 0; in rpfilter_mt()
78 flow.flowi4_tos = iph->tos & IPTOS_RT_MASK; in rpfilter_mt()
79 flow.flowi4_scope = RT_SCOPE_UNIVERSE; in rpfilter_mt()
80 flow.flowi4_l3mdev = l3mdev_master_ifindex_rcu(xt_in(par)); in rpfilter_mt()
81 flow.flowi4_uid = sock_net_uid(xt_net(par), NULL); in rpfilter_mt()
[all …]
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/
A Dgoto.c10 struct mlx5e_tc_flow *flow, in validate_goto_chain() argument
16 bool is_esw = mlx5e_is_eswitch_flow(flow); in validate_goto_chain()
17 bool ft_flow = mlx5e_is_ft_flow(flow); in validate_goto_chain()
66 struct mlx5e_tc_flow *flow = parse_state->flow; in tc_act_can_offload_goto() local
68 if (validate_goto_chain(flow->priv, flow, attr, act, extack)) in tc_act_can_offload_goto()
93 struct mlx5e_tc_flow *flow = parse_state->flow; in tc_act_post_parse_goto() local
112 if (!mlx5e_is_eswitch_flow(flow) && parse_attr->mirred_ifindex[0]) { in tc_act_post_parse_goto()
/linux-6.3-rc2/Documentation/bpf/
A Dprog_flow_dissector.rst11 used in the various places in the networking subsystem (RFS, flow hash, etc).
13 BPF flow dissector is an attempt to reimplement C-based flow dissector logic
20 BPF flow dissector programs operate on an ``__sk_buff``. However, only the
22 ``flow_keys`` is ``struct bpf_flow_keys`` and contains flow dissector input
41 In the VLAN-less case, this is what the initial state of the BPF flow
49 +-- flow dissector starts here
67 +-- flow dissector starts here
86 +-- flow dissector starts here
95 and BPF flow dissector is not required to handle it.
110 * ``BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG`` - tells BPF flow dissector to
[all …]
/linux-6.3-rc2/tools/testing/selftests/bpf/progs/
A Dtest_xdp_noinline.c122 struct flow_key flow; member
307 ip_suffix = pckt->flow.srcv6[3] ^ pckt->flow.port16[0]; in encap_v6()
336 ip_suffix ^= pckt->flow.src; in encap_v4()
530 pckt->flow.src = iph->daddr; in parse_icmp()
531 pckt->flow.dst = iph->saddr; in parse_icmp()
543 return jhash_2words(pckt->flow.src, pckt->flow.ports, in get_packet_hash()
561 pckt->flow.port16[0] = pckt->flow.port16[1]; in get_packet_dst()
720 protocol = pckt.flow.proto; in process_packet()
734 vip.vip = pckt.flow.dst; in process_packet()
744 pckt.flow.port16[1] = 0; in process_packet()
[all …]

Completed in 70 milliseconds

12345678910>>...20