blob: 7e64bd8bbda941319b494bcb7b66e79b7f52370a [file] [log] [blame]
Eric Dumazet0744dd02011-11-28 05:22:18 +00001#ifndef _NET_FLOW_KEYS_H
2#define _NET_FLOW_KEYS_H
3
4struct flow_keys {
Eric Dumazet4d77d2b2011-11-28 20:30:35 +00005 /* (src,dst) must be grouped, in the same way than in IP header */
Eric Dumazet0744dd02011-11-28 05:22:18 +00006 __be32 src;
7 __be32 dst;
8 union {
9 __be32 ports;
10 __be16 port16[2];
11 };
Daniel Borkmann8ed78162013-03-19 06:39:29 +000012 u16 thoff;
Eric Dumazet0744dd02011-11-28 05:22:18 +000013 u8 ip_proto;
14};
15
Joe Perches47873422013-09-20 11:23:24 -070016bool skb_flow_dissect(const struct sk_buff *skb, struct flow_keys *flow);
Nikolay Aleksandrov357afe92013-10-02 13:39:24 +020017__be32 skb_flow_get_ports(const struct sk_buff *skb, int thoff, u8 ip_proto);
Eric Dumazet0744dd02011-11-28 05:22:18 +000018#endif