1db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf#
2db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf# Location definitions for packet matching
3db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf#
4db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf
5db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf# name		alignment	offset		mask
6db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.version	u8		net+0		0xF0
7db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.hdrlen	u8		net+0		0x0F
8db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.diffserv	u8		net+1
9db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.length	u16		net+2
10db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.id		u16		net+4
11db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.df		u8		net+6		0x40
12db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.mf		u8		net+6		0x20
13db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.offset	u16		net+6		0x1FFF
14db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.ttl		u8		net+8
15db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.proto	u8		net+9
16db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.chksum	u16		net+10
17db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.src		u32		net+12
18db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafip.dst		u32		net+16
19db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf
20db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf
21db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf#
22db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf# Transmission Control Protocol (TCP)
23db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf#
24db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf# name		alignment	offset		mask
25db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graftcp.sport	u16		tcp+0
26db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graftcp.dport	u16		tcp+2
27db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graftcp.seq		u32		tcp+4
28db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graftcp.ack		u32		tcp+8
29db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graftcp.off		u8		tcp+12		0xF0
30db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graftcp.reserved	u8		tcp+12		0x0F
31db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf# FLAGS
32db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graftcp.win		u16		tcp+14
33db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graftcp.csum	u16		tcp+16
34db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graftcp.urg		u16		tcp+18
35db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graftcp.opts	u32		tcp+20
36db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf
37db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf#
38db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf# User Datagram Protocol (UDP)
39db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf#
40db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Graf# name		alignment	offset		mask
41db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafudp.sport	u16		tcp+0
42db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafudp.dport	u16		tcp+2
43db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafudp.length	u16		tcp+4
44db5bd57899affbcaf42ac0b93c5c7be8f51ca390Thomas Grafudp.csum	u16		tcp+6
45