1*4dc78e53SAndroid Build Coastguard Worker# 2*4dc78e53SAndroid Build Coastguard Worker# Location definitions for packet matching 3*4dc78e53SAndroid Build Coastguard Worker# 4*4dc78e53SAndroid Build Coastguard Worker 5*4dc78e53SAndroid Build Coastguard Worker# name alignment offset mask shift 6*4dc78e53SAndroid Build Coastguard Workerip.version u8 net+0 0xF0 4 7*4dc78e53SAndroid Build Coastguard Workerip.hdrlen u8 net+0 0x0F 8*4dc78e53SAndroid Build Coastguard Workerip.diffserv u8 net+1 9*4dc78e53SAndroid Build Coastguard Workerip.length u16 net+2 10*4dc78e53SAndroid Build Coastguard Workerip.id u16 net+4 11*4dc78e53SAndroid Build Coastguard Workerip.flag.res u8 net+6 0xff 7 12*4dc78e53SAndroid Build Coastguard Workerip.df u8 net+6 0x40 6 13*4dc78e53SAndroid Build Coastguard Workerip.mf u8 net+6 0x20 5 14*4dc78e53SAndroid Build Coastguard Workerip.offset u16 net+6 0x1FFF 15*4dc78e53SAndroid Build Coastguard Workerip.ttl u8 net+8 16*4dc78e53SAndroid Build Coastguard Workerip.proto u8 net+9 17*4dc78e53SAndroid Build Coastguard Workerip.chksum u16 net+10 18*4dc78e53SAndroid Build Coastguard Workerip.src u32 net+12 19*4dc78e53SAndroid Build Coastguard Workerip.dst u32 net+16 20*4dc78e53SAndroid Build Coastguard Worker 21*4dc78e53SAndroid Build Coastguard Worker# if ip.ihl > 5 22*4dc78e53SAndroid Build Coastguard Workerip.opts u32 net+20 23*4dc78e53SAndroid Build Coastguard Worker 24*4dc78e53SAndroid Build Coastguard Worker 25*4dc78e53SAndroid Build Coastguard Worker# 26*4dc78e53SAndroid Build Coastguard Worker# IP version 6 27*4dc78e53SAndroid Build Coastguard Worker# 28*4dc78e53SAndroid Build Coastguard Worker# name alignment offset mask shift 29*4dc78e53SAndroid Build Coastguard Workerip6.version u8 net+0 0xF0 4 30*4dc78e53SAndroid Build Coastguard Workerip6.tc u16 net+0 0xFF0 4 31*4dc78e53SAndroid Build Coastguard Workerip6.flowlabel u32 net+0 0xFFFFF 32*4dc78e53SAndroid Build Coastguard Workerip6.length u16 net+4 33*4dc78e53SAndroid Build Coastguard Workerip6.nexthdr u8 net+6 34*4dc78e53SAndroid Build Coastguard Workerip6.hoplimit u8 net+7 35*4dc78e53SAndroid Build Coastguard Workerip6.src 16 net+8 36*4dc78e53SAndroid Build Coastguard Workerip6.dst 16 net+24 37*4dc78e53SAndroid Build Coastguard Worker 38*4dc78e53SAndroid Build Coastguard Worker# 39*4dc78e53SAndroid Build Coastguard Worker# Transmission Control Protocol (TCP) 40*4dc78e53SAndroid Build Coastguard Worker# 41*4dc78e53SAndroid Build Coastguard Worker# name alignment offset mask shift 42*4dc78e53SAndroid Build Coastguard Workertcp.sport u16 tcp+0 43*4dc78e53SAndroid Build Coastguard Workertcp.dport u16 tcp+2 44*4dc78e53SAndroid Build Coastguard Workertcp.seq u32 tcp+4 45*4dc78e53SAndroid Build Coastguard Workertcp.ack u32 tcp+8 46*4dc78e53SAndroid Build Coastguard Worker 47*4dc78e53SAndroid Build Coastguard Worker# Data offset (4 bits) 48*4dc78e53SAndroid Build Coastguard Workertcp.off u8 tcp+12 0xF0 4 49*4dc78e53SAndroid Build Coastguard Worker 50*4dc78e53SAndroid Build Coastguard Worker# Reserved [0 0 0] (3 bits) 51*4dc78e53SAndroid Build Coastguard Workertcp.reserved u8 tcp+12 0x04 1 52*4dc78e53SAndroid Build Coastguard Worker 53*4dc78e53SAndroid Build Coastguard Worker# ECN [N C E] (3 bits) 54*4dc78e53SAndroid Build Coastguard Workertcp.ecn u16 tcp+12 0x01C00 6 55*4dc78e53SAndroid Build Coastguard Worker 56*4dc78e53SAndroid Build Coastguard Worker# Individual TCP flags (0|1) (6 bits in total) 57*4dc78e53SAndroid Build Coastguard Workertcp.flag.urg u8 tcp+13 0x20 5 58*4dc78e53SAndroid Build Coastguard Workertcp.flag.ack u8 tcp+13 0x10 4 59*4dc78e53SAndroid Build Coastguard Workertcp.flag.psh u8 tcp+13 0x08 3 60*4dc78e53SAndroid Build Coastguard Workertcp.flag.rst u8 tcp+13 0x04 2 61*4dc78e53SAndroid Build Coastguard Workertcp.flag.syn u8 tcp+13 0x02 1 62*4dc78e53SAndroid Build Coastguard Workertcp.flag.fin u8 tcp+13 0x01 63*4dc78e53SAndroid Build Coastguard Worker 64*4dc78e53SAndroid Build Coastguard Workertcp.win u16 tcp+14 65*4dc78e53SAndroid Build Coastguard Workertcp.csum u16 tcp+16 66*4dc78e53SAndroid Build Coastguard Workertcp.urg u16 tcp+18 67*4dc78e53SAndroid Build Coastguard Workertcp.opts u32 tcp+20 68*4dc78e53SAndroid Build Coastguard Worker 69*4dc78e53SAndroid Build Coastguard Worker# 70*4dc78e53SAndroid Build Coastguard Worker# User Datagram Protocol (UDP) 71*4dc78e53SAndroid Build Coastguard Worker# 72*4dc78e53SAndroid Build Coastguard Worker# name alignment offset mask shift 73*4dc78e53SAndroid Build Coastguard Workerudp.sport u16 tcp+0 74*4dc78e53SAndroid Build Coastguard Workerudp.dport u16 tcp+2 75*4dc78e53SAndroid Build Coastguard Workerudp.length u16 tcp+4 76*4dc78e53SAndroid Build Coastguard Workerudp.csum u16 tcp+6 77