Home
last modified time | relevance | path

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

12

/linux/net/core/
H A Dflow_dissector.c930 static void __skb_flow_bpf_to_target(const struct bpf_flow_keys *flow_keys, in __skb_flow_bpf_to_target() argument
944 key_control->thoff = flow_keys->thoff; in __skb_flow_bpf_to_target()
945 if (flow_keys->is_frag) in __skb_flow_bpf_to_target()
947 if (flow_keys->is_first_frag) in __skb_flow_bpf_to_target()
949 if (flow_keys->is_encap) in __skb_flow_bpf_to_target()
955 key_basic->n_proto = flow_keys->n_proto; in __skb_flow_bpf_to_target()
956 key_basic->ip_proto = flow_keys->ip_proto; in __skb_flow_bpf_to_target()
958 if (flow_keys->addr_proto == ETH_P_IP && in __skb_flow_bpf_to_target()
963 key_addrs->v4addrs.src = flow_keys->ipv4_src; in __skb_flow_bpf_to_target()
964 key_addrs->v4addrs.dst = flow_keys->ipv4_dst; in __skb_flow_bpf_to_target()
[all …]
/linux/include/net/
H A Dflow_dissector.h405 struct flow_keys { struct
420 offsetof(struct flow_keys, FLOW_KEYS_HASH_START_FIELD) argument
422 __be32 flow_get_u32_src(const struct flow_keys *flow);
423 __be32 flow_get_u32_dst(const struct flow_keys *flow);
441 const struct flow_keys *flow);
443 static inline bool flow_keys_have_l4(const struct flow_keys *keys) in flow_keys_have_l4()
448 u32 flow_hash_from_keys(struct flow_keys *keys);
449 u32 flow_hash_from_keys_seed(struct flow_keys *keys,
469 struct bpf_flow_keys *flow_keys; member
/linux/Documentation/bpf/
H A 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/tools/testing/selftests/bpf/prog_tests/
H A Dflow_dissector_load_bytes.c7 struct bpf_flow_keys flow_keys; in serial_test_flow_dissector_load_bytes() local
32 .data_out = &flow_keys, in serial_test_flow_dissector_load_bytes()
33 .data_size_out = sizeof(flow_keys), in serial_test_flow_dissector_load_bytes()
45 ASSERT_EQ(topts.data_size_out, sizeof(flow_keys), in serial_test_flow_dissector_load_bytes()
H A Dflow_dissector.c667 struct bpf_flow_keys flow_keys = {}; in run_tests_skb_less() local
690 err = bpf_map_lookup_elem(keys_fd, &key, &flow_keys); in run_tests_skb_less()
694 ASSERT_MEMEQ(&flow_keys, &tests[i].keys, in run_tests_skb_less()
819 struct bpf_flow_keys flow_keys; in test_flow_dissector_skb() local
823 .data_out = &flow_keys, in test_flow_dissector_skb()
844 ASSERT_EQ(topts.data_size_out, sizeof(flow_keys), in test_flow_dissector_skb()
846 ASSERT_MEMEQ(&flow_keys, &tests[i].keys, in test_flow_dissector_skb()
/linux/tools/testing/selftests/bpf/progs/
H A Dbpf_flow.c98 __u16 thoff = skb->flow_keys->thoff; in bpf_flow_dissect_get_header()
118 struct bpf_flow_keys *keys = skb->flow_keys; in parse_eth_proto()
146 struct bpf_flow_keys *keys = skb->flow_keys; in _dissect()
167 struct bpf_flow_keys *keys = skb->flow_keys; in parse_ip_proto()
258 struct bpf_flow_keys *keys = skb->flow_keys; in parse_ipv6_proto()
278 struct bpf_flow_keys *keys = skb->flow_keys; in PROG()
326 struct bpf_flow_keys *keys = skb->flow_keys; in PROG()
348 struct bpf_flow_keys *keys = skb->flow_keys; in PROG()
366 struct bpf_flow_keys *keys = skb->flow_keys; in PROG()
394 struct bpf_flow_keys *keys = skb->flow_keys; in PROG()
[all …]
H A Dverifier_value_illegal_alu.c169 __description("flow_keys illegal alu op with variable offset")
170 __failure __msg("R7 pointer arithmetic on flow_keys prohibited")
183 : __imm_const(flow_keys_off, offsetof(struct __sk_buff, flow_keys))
H A Dverifier_cgroup_skb.c176 : __imm_const(__sk_buff_flow_keys, offsetof(struct __sk_buff, flow_keys)) in flow_keys_for_cgroup_skb()
/linux/net/sched/
H A Dcls_flow.c67 static u32 flow_get_src(const struct sk_buff *skb, const struct flow_keys *flow) in flow_get_src()
77 static u32 flow_get_dst(const struct sk_buff *skb, const struct flow_keys *flow) in flow_get_dst()
88 const struct flow_keys *flow) in flow_get_proto()
94 const struct flow_keys *flow) in flow_get_proto_src()
103 const struct flow_keys *flow) in flow_get_proto_dst()
153 const struct flow_keys *flow) in flow_get_nfct_src()
166 const struct flow_keys *flow) in flow_get_nfct_dst()
179 const struct flow_keys *flow) in flow_get_nfct_proto_src()
187 const struct flow_keys *flow) in flow_get_nfct_proto_dst()
241 static u32 flow_key_get(struct sk_buff *skb, int key, struct flow_keys *flow) in flow_key_get()
[all …]
H A Dsch_choke.c151 struct flow_keys temp; in choke_match_flow()
/linux/drivers/net/ethernet/cisco/enic/
H A 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()
H A Denic_clsf.h10 int enic_addfltr_5t(struct enic *enic, struct flow_keys *keys, u16 rq);
/linux/drivers/net/ethernet/intel/ice/
H A Dice_arfs.c301 ice_arfs_build_entry(struct ice_vsi *vsi, const struct flow_keys *fk, in ice_arfs_build_entry()
395 ice_arfs_cmp(const struct ice_fdir_fltr *fltr_info, const struct flow_keys *fk, in ice_arfs_cmp()
447 struct flow_keys fk; in ice_rx_flow_steer()
/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_arfs.c658 const struct flow_keys *fk, in arfs_alloc_rule()
699 static bool arfs_cmp(const struct arfs_tuple *tuple, const struct flow_keys *fk) in arfs_cmp()
717 const struct flow_keys *fk) in arfs_find_rule()
738 struct flow_keys fk; in mlx5e_rx_flow_steer()
/linux/net/openvswitch/
H A Ddatapath.h220 struct action_flow_keys flow_keys; member
/linux/drivers/net/bonding/
H A Dbond_main.c219 .offset = offsetof(struct flow_keys, control),
223 .offset = offsetof(struct flow_keys, basic),
227 .offset = offsetof(struct flow_keys, addrs.v4addrs),
231 .offset = offsetof(struct flow_keys, addrs.v6addrs),
235 .offset = offsetof(struct flow_keys, addrs.tipckey),
239 .offset = offsetof(struct flow_keys, ports),
243 .offset = offsetof(struct flow_keys, icmp),
247 .offset = offsetof(struct flow_keys, vlan),
251 .offset = offsetof(struct flow_keys, tags),
255 .offset = offsetof(struct flow_keys, keyid),
[all …]
/linux/net/ipv4/
H A Droute.c1911 struct flow_keys *hash_keys) in ip_multipath_l3_keys()
1951 struct flow_keys keys, hash_keys; in fib_multipath_custom_hash_outer()
1980 struct flow_keys keys, hash_keys; in fib_multipath_custom_hash_inner()
2040 struct flow_keys hash_keys; in fib_multipath_custom_hash_fl4()
2067 const struct sk_buff *skb, struct flow_keys *flkeys) in fib_multipath_hash()
2070 struct flow_keys hash_keys; in fib_multipath_hash()
2089 struct flow_keys keys; in fib_multipath_hash()
2126 struct flow_keys keys; in fib_multipath_hash()
2171 __be32 saddr, dscp_t dscp, struct flow_keys *hkeys) in ip_mkroute_input()
2269 struct flow_keys *flkeys = NULL, _flkeys; in ip_route_input_slow()
/linux/net/bpf/
H A Dtest_run.c1442 struct bpf_flow_keys flow_keys; in bpf_prog_test_run_flow_dissector() local
1476 ctx.flow_keys = &flow_keys; in bpf_prog_test_run_flow_dissector()
1490 ret = bpf_test_finish(kattr, uattr, &flow_keys, NULL, in bpf_prog_test_run_flow_dissector()
1491 sizeof(flow_keys), 0, retval, duration); in bpf_prog_test_run_flow_dissector()
/linux/net/ipv6/
H A Droute.c2354 struct flow_keys *keys, in ip6_multipath_l3_keys()
2355 struct flow_keys *flkeys) in ip6_multipath_l3_keys()
2359 struct flow_keys *_flkeys = flkeys; in ip6_multipath_l3_keys()
2403 struct flow_keys keys, hash_keys; in rt6_multipath_custom_hash_outer()
2434 struct flow_keys keys, hash_keys; in rt6_multipath_custom_hash_inner()
2494 struct flow_keys hash_keys; in rt6_multipath_custom_hash_fl6()
2523 const struct sk_buff *skb, struct flow_keys *flkeys) in rt6_multipath_hash()
2525 struct flow_keys hash_keys; in rt6_multipath_hash()
2545 struct flow_keys keys; in rt6_multipath_hash()
2581 struct flow_keys keys; in rt6_multipath_hash()
[all …]
/linux/drivers/net/xen-netback/
H A Dhash.c152 struct flow_keys flow; in xenvif_set_skb_hash()
/linux/drivers/net/ethernet/sfc/falcon/
H A Drx.c849 struct flow_keys fk; in ef4_filter_rfs()
/linux/drivers/net/ethernet/sfc/
H A Drx_common.c906 struct flow_keys fk; in efx_filter_rfs()
/linux/drivers/net/ethernet/sfc/siena/
H A Drx_common.c897 struct flow_keys fk; in efx_siena_filter_rfs()
/linux/drivers/net/hyperv/
H A Dhyperv_net.h1087 struct flow_keys flow; in netvsc_get_hash()
/linux/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt.h1451 struct flow_keys fkeys;
2979 u32 bnxt_get_ntp_filter_idx(struct bnxt *bp, struct flow_keys *fkeys,

12