Lines Matching defs:flow_keys

899 static void __skb_flow_bpf_to_target(const struct bpf_flow_keys *flow_keys,
912 key_control->thoff = flow_keys->thoff;
913 if (flow_keys->is_frag)
915 if (flow_keys->is_first_frag)
917 if (flow_keys->is_encap)
923 key_basic->n_proto = flow_keys->n_proto;
924 key_basic->ip_proto = flow_keys->ip_proto;
926 if (flow_keys->addr_proto == ETH_P_IP &&
931 key_addrs->v4addrs.src = flow_keys->ipv4_src;
932 key_addrs->v4addrs.dst = flow_keys->ipv4_dst;
934 } else if (flow_keys->addr_proto == ETH_P_IPV6 &&
940 memcpy(&key_addrs->v6addrs.src, &flow_keys->ipv6_src,
942 memcpy(&key_addrs->v6addrs.dst, &flow_keys->ipv6_dst,
958 key_ports->src = flow_keys->sport;
959 key_ports->dst = flow_keys->dport;
967 key_tags->flow_label = ntohl(flow_keys->flow_label);
974 struct bpf_flow_keys *flow_keys = ctx->flow_keys;
978 memset(flow_keys, 0, sizeof(*flow_keys));
979 flow_keys->n_proto = proto;
980 flow_keys->nhoff = nhoff;
981 flow_keys->thoff = flow_keys->nhoff;
989 flow_keys->flags = flags;
993 flow_keys->nhoff = clamp_t(u16, flow_keys->nhoff, nhoff, hlen);
994 flow_keys->thoff = clamp_t(u16, flow_keys->thoff,
995 flow_keys->nhoff, hlen);
1006 * __skb_flow_dissect - extract the flow_keys struct and return it
1107 struct bpf_flow_keys flow_keys;
1109 .flow_keys = &flow_keys,
1131 __skb_flow_bpf_to_target(&flow_keys, flow_dissector,
1674 static const void *flow_keys_hash_start(const struct flow_keys *flow)
1680 static inline size_t flow_keys_hash_length(const struct flow_keys *flow)
1700 __be32 flow_get_u32_src(const struct flow_keys *flow)
1716 __be32 flow_get_u32_dst(const struct flow_keys *flow)
1733 static inline void __flow_hash_consistentify(struct flow_keys *keys)
1765 static inline u32 __flow_hash_from_keys(struct flow_keys *keys,
1780 u32 flow_hash_from_keys(struct flow_keys *keys)
1788 struct flow_keys *keys,
1807 const struct flow_keys *flow)
1828 struct flow_keys keys;
1851 struct flow_keys keys;
1865 struct flow_keys keys;
1942 __u32 __get_hash_from_flowi6(const struct flowi6 *fl6, struct flow_keys *keys)
1964 .offset = offsetof(struct flow_keys, control),
1968 .offset = offsetof(struct flow_keys, basic),
1972 .offset = offsetof(struct flow_keys, addrs.v4addrs),
1976 .offset = offsetof(struct flow_keys, addrs.v6addrs),
1980 .offset = offsetof(struct flow_keys, addrs.tipckey),
1984 .offset = offsetof(struct flow_keys, ports),
1988 .offset = offsetof(struct flow_keys, vlan),
1992 .offset = offsetof(struct flow_keys, tags),
1996 .offset = offsetof(struct flow_keys, keyid),
2003 .offset = offsetof(struct flow_keys, control),
2007 .offset = offsetof(struct flow_keys, basic),
2011 .offset = offsetof(struct flow_keys, addrs.v4addrs),
2015 .offset = offsetof(struct flow_keys, addrs.v6addrs),
2019 .offset = offsetof(struct flow_keys, ports),
2026 .offset = offsetof(struct flow_keys, control),
2030 .offset = offsetof(struct flow_keys, basic),