Home
last modified time | relevance | path

Searched refs:flow_keys (Results 1 – 25 of 40) sorted by relevance

12

/Linux-v5.4/net/core/
Dflow_dissector.c732 static void __skb_flow_bpf_to_target(const struct bpf_flow_keys *flow_keys, in __skb_flow_bpf_to_target() argument
745 key_control->thoff = flow_keys->thoff; in __skb_flow_bpf_to_target()
746 if (flow_keys->is_frag) in __skb_flow_bpf_to_target()
748 if (flow_keys->is_first_frag) in __skb_flow_bpf_to_target()
750 if (flow_keys->is_encap) in __skb_flow_bpf_to_target()
756 key_basic->n_proto = flow_keys->n_proto; in __skb_flow_bpf_to_target()
757 key_basic->ip_proto = flow_keys->ip_proto; in __skb_flow_bpf_to_target()
759 if (flow_keys->addr_proto == ETH_P_IP && in __skb_flow_bpf_to_target()
764 key_addrs->v4addrs.src = flow_keys->ipv4_src; in __skb_flow_bpf_to_target()
765 key_addrs->v4addrs.dst = flow_keys->ipv4_dst; in __skb_flow_bpf_to_target()
[all …]
/Linux-v5.4/include/net/
Dflow_dissector.h277 struct flow_keys { struct
290 offsetof(struct flow_keys, FLOW_KEYS_HASH_START_FIELD) argument
292 __be32 flow_get_u32_src(const struct flow_keys *flow);
293 __be32 flow_get_u32_dst(const struct flow_keys *flow);
311 const struct flow_keys *flow);
313 static inline bool flow_keys_have_l4(const struct flow_keys *keys) in flow_keys_have_l4()
318 u32 flow_hash_from_keys(struct flow_keys *keys);
334 struct bpf_flow_keys *flow_keys; member
Dip_fib.h331 struct flow_keys *flkeys) in fib4_rules_early_flow_dissect()
386 struct flow_keys *flkeys) in fib4_rules_early_flow_dissect()
436 const struct sk_buff *skb, struct flow_keys *flkeys);
Dip6_fib.h513 struct flow_keys *flkeys) in fib6_rules_early_flow_dissect()
551 struct flow_keys *flkeys) in fib6_rules_early_flow_dissect()
Dflow.h225 __u32 __get_hash_from_flowi6(const struct flowi6 *fl6, struct flow_keys *keys);
Dip6_route.h154 const struct sk_buff *skb, struct flow_keys *hkeys);
Dip.h535 static inline void iph_to_flow_copy_v4addrs(struct flow_keys *flow, in iph_to_flow_copy_v4addrs()
/Linux-v5.4/Documentation/bpf/
Dprog_flow_dissector.rst21 limited set of fields is allowed: ``data``, ``data_end`` and ``flow_keys``.
22 ``flow_keys`` is ``struct bpf_flow_keys`` and contains flow dissector input
54 skb->data + flow_keys->nhoff point to the first byte of L3_HEADER
55 flow_keys->thoff = nhoff
56 flow_keys->n_proto = ETHER_TYPE
71 skb->data + flow_keys->nhoff point the to first byte of TCI
72 flow_keys->thoff = nhoff
73 flow_keys->n_proto = TPID
90 skb->data + flow_keys->nhoff point the to first byte of L3_HEADER
91 flow_keys->thoff = nhoff
[all …]
/Linux-v5.4/tools/testing/selftests/bpf/prog_tests/
Dflow_dissector_load_bytes.c6 struct bpf_flow_keys flow_keys; in test_flow_dissector_load_bytes() local
40 &flow_keys, &size, &retval, &duration); in test_flow_dissector_load_bytes()
41 CHECK(size != sizeof(flow_keys) || err || retval != 1, in test_flow_dissector_load_bytes()
44 err, errno, retval, duration, size, sizeof(flow_keys)); in test_flow_dissector_load_bytes()
Dflow_dissector.c458 struct bpf_flow_keys flow_keys; in test_flow_dissector() local
463 .data_out = &flow_keys, in test_flow_dissector()
474 CHECK_ATTR(tattr.data_size_out != sizeof(flow_keys) || in test_flow_dissector()
479 tattr.data_size_out, sizeof(flow_keys)); in test_flow_dissector()
480 CHECK_FLOW_KEYS(tests[i].name, flow_keys, tests[i].keys); in test_flow_dissector()
502 struct bpf_flow_keys flow_keys = {}; in test_flow_dissector() local
516 err = bpf_map_lookup_elem(keys_fd, &key, &flow_keys); in test_flow_dissector()
520 CHECK_FLOW_KEYS(tests[i].name, flow_keys, tests[i].keys); in test_flow_dissector()
/Linux-v5.4/tools/testing/selftests/bpf/progs/
Dbpf_flow.c97 __u16 thoff = skb->flow_keys->thoff; in bpf_flow_dissect_get_header()
117 struct bpf_flow_keys *keys = skb->flow_keys; in parse_eth_proto()
145 struct bpf_flow_keys *keys = skb->flow_keys; in _dissect()
153 struct bpf_flow_keys *keys = skb->flow_keys; in parse_ip_proto()
244 struct bpf_flow_keys *keys = skb->flow_keys; in parse_ipv6_proto()
264 struct bpf_flow_keys *keys = skb->flow_keys; in PROG()
312 struct bpf_flow_keys *keys = skb->flow_keys; in PROG()
334 struct bpf_flow_keys *keys = skb->flow_keys; in PROG()
352 struct bpf_flow_keys *keys = skb->flow_keys; in PROG()
378 struct bpf_flow_keys *keys = skb->flow_keys; in PROG()
[all …]
/Linux-v5.4/net/sched/
Dcls_flow.c66 static u32 flow_get_src(const struct sk_buff *skb, const struct flow_keys *flow) in flow_get_src()
76 static u32 flow_get_dst(const struct sk_buff *skb, const struct flow_keys *flow) in flow_get_dst()
87 const struct flow_keys *flow) in flow_get_proto()
93 const struct flow_keys *flow) in flow_get_proto_src()
102 const struct flow_keys *flow) in flow_get_proto_dst()
152 const struct flow_keys *flow) in flow_get_nfct_src()
165 const struct flow_keys *flow) in flow_get_nfct_dst()
178 const struct flow_keys *flow) in flow_get_nfct_proto_src()
186 const struct flow_keys *flow) in flow_get_nfct_proto_dst()
240 static u32 flow_key_get(struct sk_buff *skb, int key, struct flow_keys *flow) in flow_key_get()
[all …]
Dsch_choke.c158 struct flow_keys temp; in choke_match_flow()
/Linux-v5.4/net/bpf/
Dtest_run.c404 struct bpf_flow_keys flow_keys; in bpf_prog_test_run_flow_dissector() local
440 ctx.flow_keys = &flow_keys; in bpf_prog_test_run_flow_dissector()
478 ret = bpf_test_finish(kattr, uattr, &flow_keys, sizeof(flow_keys), in bpf_prog_test_run_flow_dissector()
/Linux-v5.4/drivers/net/ethernet/cisco/enic/
Denic_clsf.c21 int enic_addfltr_5t(struct enic *enic, struct flow_keys *keys, u16 rq) in enic_addfltr_5t()
157 struct flow_keys *k) in htbl_key_search()
174 struct flow_keys keys; in enic_rx_flow_steer()
Denic_clsf.h10 int enic_addfltr_5t(struct enic *enic, struct flow_keys *keys, u16 rq);
Denic.h113 struct flow_keys keys;
/Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/
Den_arfs.c601 const struct flow_keys *fk, in arfs_alloc_rule()
639 static bool arfs_cmp(const struct arfs_tuple *tuple, const struct flow_keys *fk) in arfs_cmp()
657 const struct flow_keys *fk) in arfs_find_rule()
678 struct flow_keys fk; in mlx5e_rx_flow_steer()
/Linux-v5.4/net/openvswitch/
Dactions.c75 static struct action_flow_keys __percpu *flow_keys; variable
83 struct action_flow_keys *keys = this_cpu_ptr(flow_keys); in clone_key()
1493 flow_keys = alloc_percpu(struct action_flow_keys); in action_fifos_init()
1494 if (!flow_keys) { in action_fifos_init()
1505 free_percpu(flow_keys); in action_fifos_exit()
/Linux-v5.4/tools/testing/selftests/bpf/verifier/
Dcgroup_skb.c151 offsetof(struct __sk_buff, flow_keys)),
/Linux-v5.4/net/ipv4/
Droute.c1877 struct flow_keys *hash_keys) in ip_multipath_l3_keys()
1917 const struct sk_buff *skb, struct flow_keys *flkeys) in fib_multipath_hash()
1920 struct flow_keys hash_keys; in fib_multipath_hash()
1938 struct flow_keys keys; in fib_multipath_hash()
1971 struct flow_keys keys; in fib_multipath_hash()
2011 struct flow_keys *hkeys) in ip_mkroute_input()
2041 struct flow_keys *flkeys = NULL, _flkeys; in ip_route_input_slow()
/Linux-v5.4/drivers/net/xen-netback/
Dhash.c151 struct flow_keys flow; in xenvif_set_skb_hash()
/Linux-v5.4/drivers/net/ethernet/hisilicon/hns3/
Dhnae3.h522 u16 flow_id, struct flow_keys *fkeys);
/Linux-v5.4/net/ipv6/
Droute.c2279 struct flow_keys *keys, in ip6_multipath_l3_keys()
2280 struct flow_keys *flkeys) in ip6_multipath_l3_keys()
2284 struct flow_keys *_flkeys = flkeys; in ip6_multipath_l3_keys()
2328 const struct sk_buff *skb, struct flow_keys *flkeys) in rt6_multipath_hash()
2330 struct flow_keys hash_keys; in rt6_multipath_hash()
2349 struct flow_keys keys; in rt6_multipath_hash()
2381 struct flow_keys keys; in rt6_multipath_hash()
2434 struct flow_keys *flkeys = NULL, _flkeys; in ip6_route_input()
/Linux-v5.4/include/uapi/linux/
Dbpf.h3003 __bpf_md_ptr(struct bpf_flow_keys *, flow_keys);

12