/Linux-v5.10/net/core/ |
D | flow_dissector.c | 784 static void __skb_flow_bpf_to_target(const struct bpf_flow_keys *flow_keys, in __skb_flow_bpf_to_target() argument 797 key_control->thoff = flow_keys->thoff; in __skb_flow_bpf_to_target() 798 if (flow_keys->is_frag) in __skb_flow_bpf_to_target() 800 if (flow_keys->is_first_frag) in __skb_flow_bpf_to_target() 802 if (flow_keys->is_encap) in __skb_flow_bpf_to_target() 808 key_basic->n_proto = flow_keys->n_proto; in __skb_flow_bpf_to_target() 809 key_basic->ip_proto = flow_keys->ip_proto; in __skb_flow_bpf_to_target() 811 if (flow_keys->addr_proto == ETH_P_IP && in __skb_flow_bpf_to_target() 816 key_addrs->v4addrs.src = flow_keys->ipv4_src; in __skb_flow_bpf_to_target() 817 key_addrs->v4addrs.dst = flow_keys->ipv4_dst; in __skb_flow_bpf_to_target() [all …]
|
/Linux-v5.10/include/net/ |
D | flow_dissector.h | 307 struct flow_keys { struct 322 offsetof(struct flow_keys, FLOW_KEYS_HASH_START_FIELD) argument 324 __be32 flow_get_u32_src(const struct flow_keys *flow); 325 __be32 flow_get_u32_dst(const struct flow_keys *flow); 343 const struct flow_keys *flow); 345 static inline bool flow_keys_have_l4(const struct flow_keys *keys) in flow_keys_have_l4() 350 u32 flow_hash_from_keys(struct flow_keys *keys); 369 struct bpf_flow_keys *flow_keys; member
|
D | ip_fib.h | 349 struct flow_keys *flkeys) in fib4_rules_early_flow_dissect() 410 struct flow_keys *flkeys) in fib4_rules_early_flow_dissect() 470 const struct sk_buff *skb, struct flow_keys *flkeys);
|
D | ip6_fib.h | 607 struct flow_keys *flkeys) in fib6_rules_early_flow_dissect() 650 struct flow_keys *flkeys) in fib6_rules_early_flow_dissect()
|
D | flow.h | 208 __u32 __get_hash_from_flowi6(const struct flowi6 *fl6, struct flow_keys *keys);
|
D | ip6_route.h | 155 const struct sk_buff *skb, struct flow_keys *hkeys);
|
/Linux-v5.10/tools/testing/selftests/bpf/prog_tests/ |
D | flow_dissector_load_bytes.c | 7 struct bpf_flow_keys flow_keys; in test_flow_dissector_load_bytes() local 41 &flow_keys, &size, &retval, &duration); in test_flow_dissector_load_bytes() 42 CHECK(size != sizeof(flow_keys) || err || retval != 1, in test_flow_dissector_load_bytes() 45 err, errno, retval, duration, size, sizeof(flow_keys)); in test_flow_dissector_load_bytes()
|
D | flow_dissector.c | 491 struct bpf_flow_keys flow_keys = {}; in run_tests_skb_less() local 505 err = bpf_map_lookup_elem(keys_fd, &key, &flow_keys); in run_tests_skb_less() 509 CHECK_FLOW_KEYS(tests[i].name, flow_keys, tests[i].keys); in run_tests_skb_less() 575 struct bpf_flow_keys flow_keys; in test_flow_dissector() local 580 .data_out = &flow_keys, in test_flow_dissector() 591 CHECK_ATTR(tattr.data_size_out != sizeof(flow_keys) || in test_flow_dissector() 596 tattr.data_size_out, sizeof(flow_keys)); in test_flow_dissector() 597 CHECK_FLOW_KEYS(tests[i].name, flow_keys, tests[i].keys); in test_flow_dissector()
|
/Linux-v5.10/Documentation/bpf/ |
D | prog_flow_dissector.rst | 21 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.10/tools/testing/selftests/bpf/progs/ |
D | bpf_flow.c | 97 __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.10/net/sched/ |
D | cls_flow.c | 66 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 …]
|
D | sch_choke.c | 152 struct flow_keys temp; in choke_match_flow()
|
/Linux-v5.10/drivers/net/ethernet/cisco/enic/ |
D | enic_clsf.c | 21 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()
|
D | enic_clsf.h | 10 int enic_addfltr_5t(struct enic *enic, struct flow_keys *keys, u16 rq);
|
D | enic.h | 111 struct flow_keys keys;
|
/Linux-v5.10/drivers/net/ethernet/mellanox/mlx5/core/en/ |
D | tc_ct.c | 994 struct flow_keys flow_keys; in mlx5_tc_ct_skb_to_tuple() local 997 skb_flow_dissect_flow_keys(skb, &flow_keys, 0); in mlx5_tc_ct_skb_to_tuple() 1001 if (flow_keys.basic.ip_proto != IPPROTO_TCP && in mlx5_tc_ct_skb_to_tuple() 1002 flow_keys.basic.ip_proto != IPPROTO_UDP) in mlx5_tc_ct_skb_to_tuple() 1005 tuple->port.src = flow_keys.ports.src; in mlx5_tc_ct_skb_to_tuple() 1006 tuple->port.dst = flow_keys.ports.dst; in mlx5_tc_ct_skb_to_tuple() 1007 tuple->n_proto = flow_keys.basic.n_proto; in mlx5_tc_ct_skb_to_tuple() 1008 tuple->ip_proto = flow_keys.basic.ip_proto; in mlx5_tc_ct_skb_to_tuple() 1010 switch (flow_keys.basic.n_proto) { in mlx5_tc_ct_skb_to_tuple() 1013 tuple->ip.src_v4 = flow_keys.addrs.v4addrs.src; in mlx5_tc_ct_skb_to_tuple() [all …]
|
/Linux-v5.10/net/bpf/ |
D | test_run.c | 683 struct bpf_flow_keys flow_keys; in bpf_prog_test_run_flow_dissector() local 722 ctx.flow_keys = &flow_keys; in bpf_prog_test_run_flow_dissector() 760 ret = bpf_test_finish(kattr, uattr, &flow_keys, sizeof(flow_keys), in bpf_prog_test_run_flow_dissector()
|
/Linux-v5.10/drivers/net/ethernet/mellanox/mlx5/core/ |
D | en_arfs.c | 582 const struct flow_keys *fk, in arfs_alloc_rule() 620 static bool arfs_cmp(const struct arfs_tuple *tuple, const struct flow_keys *fk) in arfs_cmp() 638 const struct flow_keys *fk) in arfs_find_rule() 659 struct flow_keys fk; in mlx5e_rx_flow_steer()
|
/Linux-v5.10/drivers/net/ethernet/intel/ice/ |
D | ice_arfs.c | 300 ice_arfs_build_entry(struct ice_vsi *vsi, const struct flow_keys *fk, in ice_arfs_build_entry() 402 struct flow_keys fk; in ice_rx_flow_steer()
|
/Linux-v5.10/drivers/net/bonding/ |
D | bond_main.c | 209 .offset = offsetof(struct flow_keys, control), 213 .offset = offsetof(struct flow_keys, basic), 217 .offset = offsetof(struct flow_keys, addrs.v4addrs), 221 .offset = offsetof(struct flow_keys, addrs.v6addrs), 225 .offset = offsetof(struct flow_keys, addrs.tipckey), 229 .offset = offsetof(struct flow_keys, ports), 233 .offset = offsetof(struct flow_keys, icmp), 237 .offset = offsetof(struct flow_keys, vlan), 241 .offset = offsetof(struct flow_keys, tags), 245 .offset = offsetof(struct flow_keys, keyid), [all …]
|
/Linux-v5.10/net/openvswitch/ |
D | actions.c | 74 static struct action_flow_keys __percpu *flow_keys; variable 82 struct action_flow_keys *keys = this_cpu_ptr(flow_keys); in clone_key() 1575 flow_keys = alloc_percpu(struct action_flow_keys); in action_fifos_init() 1576 if (!flow_keys) { in action_fifos_init() 1587 free_percpu(flow_keys); in action_fifos_exit()
|
/Linux-v5.10/tools/testing/selftests/bpf/verifier/ |
D | cgroup_skb.c | 151 offsetof(struct __sk_buff, flow_keys)),
|
/Linux-v5.10/net/ipv4/ |
D | route.c | 1887 struct flow_keys *hash_keys) in ip_multipath_l3_keys() 1924 const struct sk_buff *skb, struct flow_keys *flkeys) in fib_multipath_hash() 1927 struct flow_keys hash_keys; in fib_multipath_hash() 1945 struct flow_keys keys; in fib_multipath_hash() 1978 struct flow_keys keys; in fib_multipath_hash() 2018 struct flow_keys *hkeys) in ip_mkroute_input() 2090 struct flow_keys *flkeys = NULL, _flkeys; in ip_route_input_slow()
|
/Linux-v5.10/drivers/net/xen-netback/ |
D | hash.c | 153 struct flow_keys flow; in xenvif_set_skb_hash()
|
/Linux-v5.10/drivers/net/ethernet/hisilicon/hns3/ |
D | hnae3.h | 610 u16 flow_id, struct flow_keys *fkeys);
|