Home
last modified time | relevance | path

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

12345678910>>...42

/linux/net/sched/
A Dsch_atm.c110 return flow ? flow->q : NULL; in atm_tc_leaf()
132 if (flow) in atm_tc_bind_filter()
159 flow->vcc->pop = flow->old_pop; in atm_tc_put()
222 if (flow) in atm_tc_change()
302 flow->vcc->user_back = flow; in atm_tc_change()
304 flow->old_pop = flow->vcc->pop; in atm_tc_change()
373 return flow ? flow->block : p->link.block; in atm_tc_tcf_block()
428 flow = flow->excess; in atm_tc_enqueue()
485 while ((skb = flow->q->ops->peek(flow->q))) { in sch_atm_dequeue()
510 memcpy(skb_push(skb, flow->hdr_len), flow->hdr, in sch_atm_dequeue()
[all …]
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()
662 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()
518 rtnl_kfree_skbs(flow->head, flow->tail); in fq_pie_reset()
[all …]
/linux/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/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/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()
216 flow->tin = tin; in fq_tin_enqueue()
233 if (!flow) in fq_tin_enqueue()
[all …]
/linux/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()
709 if (!flow) { in __vsc8584_macsec_add_rxsa()
736 if (!flow) { in __vsc8584_macsec_add_txsa()
855 if (flow->bank == MACSEC_INGR && flow->rx_sa && in vsc8584_macsec_del_rxsc()
[all …]
/linux/net/netfilter/
A Dnf_flow_table_core.c48 struct flow_offload *flow; in flow_offload_alloc() local
54 flow = kzalloc(sizeof(*flow), GFP_ATOMIC); in flow_offload_alloc()
55 if (!flow) in flow_offload_alloc()
58 flow->ct = ct; in flow_offload_alloc()
68 return flow; in flow_offload_alloc()
228 switch (flow->type) { in flow_offload_free()
235 nf_ct_put(flow->ct); in flow_offload_free()
236 kfree_rcu(flow, rcu_head); in flow_offload_free()
297 flow->timeout = nf_flowtable_time_stamp + flow_offload_get_timeout(flow); in flow_offload_add()
364 flow_offload_free(flow); in flow_offload_del()
[all …]
A Dnf_flow_table_offload.c25 struct flow_offload *flow; member
213 const struct flow_offload *flow, in flow_offload_eth_src() argument
260 const struct flow_offload *flow, in flow_offload_eth_dst() argument
727 const struct flow_offload *flow = offload->flow; in nf_flow_offload_rule_alloc() local
825 struct flow_offload *flow, in nf_flow_offload_tuple() argument
938 offload->flow->timeout = max_t(u64, offload->flow->timeout, in flow_offload_work_stats()
943 nf_ct_acct_add(offload->flow->ct, in flow_offload_work_stats()
1002 offload->flow = flow; in nf_flow_offload_work_alloc()
1012 struct flow_offload *flow) in nf_flow_offload_add() argument
1024 struct flow_offload *flow) in nf_flow_offload_del() argument
[all …]
A Dnf_flow_table_ip.c33 flow_offload_teardown(flow); in nf_flow_state_check()
127 if (test_bit(NF_FLOW_SNAT, &flow->flags)) { in nf_flow_nat_ip()
129 nf_flow_snat_ip(flow, skb, iph, thoff, dir); in nf_flow_nat_ip()
131 if (test_bit(NF_FLOW_DNAT, &flow->flags)) { in nf_flow_nat_ip()
335 struct flow_offload *flow; in nf_flow_offload_ip_hook() local
370 flow_offload_refresh(flow_table, flow); in nf_flow_offload_ip_hook()
405 flow_offload_teardown(flow); in nf_flow_offload_ip_hook()
572 struct flow_offload *flow; in nf_flow_offload_ipv6_hook() local
606 flow_offload_refresh(flow_table, flow); in nf_flow_offload_ipv6_hook()
611 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()
107 if (!flow) in nft_flow_rule_create()
136 return flow; in nft_flow_rule_create()
160 kfree(flow); in nft_flow_rule_destroy()
230 if (flow) in nft_flow_cls_offload_setup()
[all …]
/linux/net/openvswitch/
A Dflow_table.c78 if (!flow) in ovs_flow_alloc()
96 return flow; in ovs_flow_alloc()
136 if (!flow) in ovs_flow_free()
493 flow); in table_instance_flow_flush()
828 if (!flow) in ovs_flow_tbl_lookup_stats()
842 if (flow) in ovs_flow_tbl_lookup_stats()
846 return flow; in ovs_flow_tbl_lookup_stats()
866 return flow; in ovs_flow_tbl_lookup()
887 if (flow && ovs_identifier_is_key(&flow->id) && in ovs_flow_tbl_lookup_exact()
1042 flow->flow_table.hash = flow_hash(&flow->key, &flow->mask->range); in flow_key_insert()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
A Dtc_priv.h114 struct mlx5e_tc_flow *flow,
124 set_bit(flag, &flow->flags); in __flow_flag_set()
127 #define flow_flag_set(flow, flag) __flow_flag_set(flow, MLX5E_TC_FLOW_FLAG_##flag) argument
137 __flow_flag_test_and_set(flow, \
144 clear_bit(flag, &flow->flags); in __flow_flag_clear()
147 #define flow_flag_clear(flow, flag) __flow_flag_clear(flow, \ argument
152 bool ret = test_bit(flag, &flow->flags); in __flow_flag_test()
159 #define flow_flag_test(flow, flag) __flow_flag_test(flow, \ argument
163 struct mlx5e_tc_flow *flow);
166 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()
176 attr = flow->attr; in mlx5e_tc_encap_flows_add()
196 flow->rule[0] = rule; in mlx5e_tc_encap_flows_add()
215 if (!mlx5e_is_offloaded_flow(flow) || flow_flag_test(flow, SLOW)) in mlx5e_tc_encap_flows_del()
217 attr = flow->attr; in mlx5e_tc_encap_flows_del()
234 flow->rule[0] = rule; in mlx5e_tc_encap_flows_del()
1189 flow->decap_route = r; in mlx5e_attach_decap_route()
1325 mlx5e_tc_unoffload_fdb_rules(esw, flow, flow->attr); in mlx5e_invalidate_encap()
1462 mlx5e_tc_unoffload_fdb_rules(esw, flow, flow->attr); in mlx5e_unoffload_flow_list()
[all …]
/linux/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/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/drivers/net/ethernet/mellanox/mlx5/core/
A Den_tc.c388 if (!flow || !refcount_inc_not_zero(&flow->refcnt)) in mlx5e_flow_get()
390 return flow; in mlx5e_flow_get()
447 flow->mh = mh; in mlx5e_attach_mod_hdr()
456 if (!flow->mh) in mlx5e_detach_mod_hdr()
3027 if (flow && flow_flag_test(flow, L3_TO_L2_DECAP)) in parse_tc_pedit_action()
4453 flow = kzalloc(sizeof(*flow), GFP_KERNEL); in mlx5e_alloc_flow()
4482 kfree(flow); in mlx5e_alloc_flow()
4776 if (flow) { in mlx5e_configure_flower()
4793 if (flow) in mlx5e_configure_flower()
4840 if (!flow || !same_flow_direction(flow, flags)) { in mlx5e_delete_flower()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/
A Dtls.c43 MLX5_SET(tls_flow, flow, ipv6, 0); in mlx5e_tls_set_ipv4_flow()
55 MLX5_SET(tls_flow, flow, ipv6, 1); in mlx5e_tls_set_ipv6_flow()
77 mlx5e_tls_set_ipv4_flow(flow, sk); in mlx5e_tls_set_flow()
83 mlx5e_tls_set_ipv4_flow(flow, sk); in mlx5e_tls_set_flow()
89 mlx5e_tls_set_ipv6_flow(flow, sk); in mlx5e_tls_set_flow()
96 mlx5e_tls_set_flow_tcp_ports(flow, sk); in mlx5e_tls_set_flow()
112 void *flow; in mlx5e_tls_add() local
116 if (!flow) in mlx5e_tls_add()
119 ret = mlx5e_tls_set_flow(flow, sk, caps); in mlx5e_tls_add()
123 ret = mlx5_accel_tls_add_flow(mdev, flow, crypto_info, in mlx5e_tls_add()
[all …]
/linux/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/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/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/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 …]
/linux/net/ipv4/netfilter/
A Dipt_rpfilter.c58 struct flowi4 flow; in rpfilter_mt() local
74 memset(&flow, 0, sizeof(flow)); in rpfilter_mt()
75 flow.flowi4_iif = LOOPBACK_IFINDEX; in rpfilter_mt()
76 flow.daddr = iph->saddr; in rpfilter_mt()
77 flow.saddr = rpfilter_get_saddr(iph->daddr); in rpfilter_mt()
78 flow.flowi4_mark = info->flags & XT_RPFILTER_VALID_MARK ? skb->mark : 0; in rpfilter_mt()
79 flow.flowi4_tos = iph->tos & IPTOS_RT_MASK; in rpfilter_mt()
80 flow.flowi4_scope = RT_SCOPE_UNIVERSE; in rpfilter_mt()
81 flow.flowi4_oif = l3mdev_master_ifindex_rcu(xt_in(par)); in rpfilter_mt()
83 return rpfilter_lookup_reverse(xt_net(par), &flow, xt_in(par), info->flags) ^ invert; in rpfilter_mt()
/linux/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 …]

Completed in 76 milliseconds

12345678910>>...42