diff options
Diffstat (limited to 'include/net/flow_keys.h')
-rw-r--r-- | include/net/flow_keys.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/net/flow_keys.h b/include/net/flow_keys.h index dc8fd81412bf..6d6ef626811a 100644 --- a/include/net/flow_keys.h +++ b/include/net/flow_keys.h | |||
@@ -42,4 +42,20 @@ static inline __be32 skb_flow_get_ports(const struct sk_buff *skb, int thoff, u8 | |||
42 | u32 flow_hash_from_keys(struct flow_keys *keys); | 42 | u32 flow_hash_from_keys(struct flow_keys *keys); |
43 | unsigned int flow_get_hlen(const unsigned char *data, unsigned int max_len, | 43 | unsigned int flow_get_hlen(const unsigned char *data, unsigned int max_len, |
44 | __be16 protocol); | 44 | __be16 protocol); |
45 | |||
46 | /* struct flow_keys_digest: | ||
47 | * | ||
48 | * This structure is used to hold a digest of the full flow keys. This is a | ||
49 | * larger "hash" of a flow to allow definitively matching specific flows where | ||
50 | * the 32 bit skb->hash is not large enough. The size is limited to 16 bytes so | ||
51 | * that it can by used in CB of skb (see sch_choke for an example). | ||
52 | */ | ||
53 | #define FLOW_KEYS_DIGEST_LEN 16 | ||
54 | struct flow_keys_digest { | ||
55 | u8 data[FLOW_KEYS_DIGEST_LEN]; | ||
56 | }; | ||
57 | |||
58 | void make_flow_keys_digest(struct flow_keys_digest *digest, | ||
59 | const struct flow_keys *flow); | ||
60 | |||
45 | #endif | 61 | #endif |