In skb_flow_dissect(), we perform a dissection of a skbuff. Since we're doing the work here anyway, also store thoff for a later usage, e.g. in the BPF filter. Suggested-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
		
			
				
	
	
		
			17 lines
		
	
	
	
		
			331 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
	
		
			331 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _NET_FLOW_KEYS_H
 | 
						|
#define _NET_FLOW_KEYS_H
 | 
						|
 | 
						|
struct flow_keys {
 | 
						|
	/* (src,dst) must be grouped, in the same way than in IP header */
 | 
						|
	__be32 src;
 | 
						|
	__be32 dst;
 | 
						|
	union {
 | 
						|
		__be32 ports;
 | 
						|
		__be16 port16[2];
 | 
						|
	};
 | 
						|
	u16 thoff;
 | 
						|
	u8 ip_proto;
 | 
						|
};
 | 
						|
 | 
						|
extern bool skb_flow_dissect(const struct sk_buff *skb, struct flow_keys *flow);
 | 
						|
#endif
 |