Lines Matching refs:flow_keys
821 static void __skb_flow_bpf_to_target(const struct bpf_flow_keys *flow_keys, in __skb_flow_bpf_to_target() argument
834 key_control->thoff = flow_keys->thoff; in __skb_flow_bpf_to_target()
835 if (flow_keys->is_frag) in __skb_flow_bpf_to_target()
837 if (flow_keys->is_first_frag) in __skb_flow_bpf_to_target()
839 if (flow_keys->is_encap) in __skb_flow_bpf_to_target()
845 key_basic->n_proto = flow_keys->n_proto; in __skb_flow_bpf_to_target()
846 key_basic->ip_proto = flow_keys->ip_proto; in __skb_flow_bpf_to_target()
848 if (flow_keys->addr_proto == ETH_P_IP && in __skb_flow_bpf_to_target()
853 key_addrs->v4addrs.src = flow_keys->ipv4_src; in __skb_flow_bpf_to_target()
854 key_addrs->v4addrs.dst = flow_keys->ipv4_dst; in __skb_flow_bpf_to_target()
856 } else if (flow_keys->addr_proto == ETH_P_IPV6 && in __skb_flow_bpf_to_target()
862 memcpy(&key_addrs->v6addrs.src, &flow_keys->ipv6_src, in __skb_flow_bpf_to_target()
864 memcpy(&key_addrs->v6addrs.dst, &flow_keys->ipv6_dst, in __skb_flow_bpf_to_target()
880 key_ports->src = flow_keys->sport; in __skb_flow_bpf_to_target()
881 key_ports->dst = flow_keys->dport; in __skb_flow_bpf_to_target()
889 key_tags->flow_label = ntohl(flow_keys->flow_label); in __skb_flow_bpf_to_target()
896 struct bpf_flow_keys *flow_keys = ctx->flow_keys; in bpf_flow_dissect() local
900 memset(flow_keys, 0, sizeof(*flow_keys)); in bpf_flow_dissect()
901 flow_keys->n_proto = proto; in bpf_flow_dissect()
902 flow_keys->nhoff = nhoff; in bpf_flow_dissect()
903 flow_keys->thoff = flow_keys->nhoff; in bpf_flow_dissect()
911 flow_keys->flags = flags; in bpf_flow_dissect()
915 flow_keys->nhoff = clamp_t(u16, flow_keys->nhoff, nhoff, hlen); in bpf_flow_dissect()
916 flow_keys->thoff = clamp_t(u16, flow_keys->thoff, in bpf_flow_dissect()
917 flow_keys->nhoff, hlen); in bpf_flow_dissect()
1027 struct bpf_flow_keys flow_keys; in __skb_flow_dissect() local
1029 .flow_keys = &flow_keys, in __skb_flow_dissect()
1051 __skb_flow_bpf_to_target(&flow_keys, flow_dissector, in __skb_flow_dissect()
1581 static const void *flow_keys_hash_start(const struct flow_keys *flow) in flow_keys_hash_start()
1587 static inline size_t flow_keys_hash_length(const struct flow_keys *flow) in flow_keys_hash_length()
1607 __be32 flow_get_u32_src(const struct flow_keys *flow) in flow_get_u32_src()
1623 __be32 flow_get_u32_dst(const struct flow_keys *flow) in flow_get_u32_dst()
1640 static inline void __flow_hash_consistentify(struct flow_keys *keys) in __flow_hash_consistentify()
1672 static inline u32 __flow_hash_from_keys(struct flow_keys *keys, in __flow_hash_from_keys()
1687 u32 flow_hash_from_keys(struct flow_keys *keys) in flow_hash_from_keys()
1695 struct flow_keys *keys, in ___skb_get_hash()
1714 const struct flow_keys *flow) in make_flow_keys_digest()
1735 struct flow_keys keys; in __skb_get_hash_symmetric()
1759 struct flow_keys keys; in __skb_get_hash()
1773 struct flow_keys keys; in skb_get_hash_perturb()
1850 __u32 __get_hash_from_flowi6(const struct flowi6 *fl6, struct flow_keys *keys) in __get_hash_from_flowi6()
1872 .offset = offsetof(struct flow_keys, control),
1876 .offset = offsetof(struct flow_keys, basic),
1880 .offset = offsetof(struct flow_keys, addrs.v4addrs),
1884 .offset = offsetof(struct flow_keys, addrs.v6addrs),
1888 .offset = offsetof(struct flow_keys, addrs.tipckey),
1892 .offset = offsetof(struct flow_keys, ports),
1896 .offset = offsetof(struct flow_keys, vlan),
1900 .offset = offsetof(struct flow_keys, tags),
1904 .offset = offsetof(struct flow_keys, keyid),
1911 .offset = offsetof(struct flow_keys, control),
1915 .offset = offsetof(struct flow_keys, basic),
1919 .offset = offsetof(struct flow_keys, addrs.v4addrs),
1923 .offset = offsetof(struct flow_keys, addrs.v6addrs),
1927 .offset = offsetof(struct flow_keys, ports),
1934 .offset = offsetof(struct flow_keys, control),
1938 .offset = offsetof(struct flow_keys, basic),