Blob Blame History Raw
# tcp dport 22
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ cmp eq reg 1 0x00001600 ]

# tcp dport != 233
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ cmp neq reg 1 0x0000e900 ]

# tcp dport 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ cmp gte reg 1 0x00002100 ]
  [ cmp lte reg 1 0x00002d00 ]

# tcp dport != 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ range neq reg 1 0x00002100 0x00002d00 ]

# tcp dport { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 00002100  : 0 [end]	element 00003700  : 0 [end]	element 00004300  : 0 [end]	element 00005800  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp dport != { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 00002100  : 0 [end]	element 00003700  : 0 [end]	element 00004300  : 0 [end]	element 00005800  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp dport { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 00002100  : 0 [end]	element 00003800  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp dport != { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 00002100  : 0 [end]	element 00003800  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp dport {telnet, http, https} accept
__set%d test-inet 3
__set%d test-inet 0
	element 00001700  : 0 [end]	element 00005000  : 0 [end]	element 0000bb01  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ lookup reg 1 set __set%d ]
  [ immediate reg 0 accept ]

# tcp dport vmap { 22 : accept, 23 : drop }
__map%d test-inet b
__map%d test-inet 0
	element 00001600  : 0 [end]	element 00001700  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ lookup reg 1 set __map%d dreg 0 ]

# tcp dport vmap { 25:accept, 28:drop }
__map%d test-inet b
__map%d test-inet 0
	element 00001900  : 0 [end]	element 00001c00  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ lookup reg 1 set __map%d dreg 0 ]

# tcp dport { 22, 53, 80, 110 }
__set%d test-inet 3
__set%d test-inet 0
	element 00001600  : 0 [end]	element 00003500  : 0 [end]	element 00005000  : 0 [end]	element 00006e00  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp dport != { 22, 53, 80, 110 }
__set%d test-inet 3
__set%d test-inet 0
	element 00001600  : 0 [end]	element 00003500  : 0 [end]	element 00005000  : 0 [end]	element 00006e00  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp sport 22
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 0 => reg 1 ]
  [ cmp eq reg 1 0x00001600 ]

# tcp sport != 233
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 0 => reg 1 ]
  [ cmp neq reg 1 0x0000e900 ]

# tcp sport 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 0 => reg 1 ]
  [ cmp gte reg 1 0x00002100 ]
  [ cmp lte reg 1 0x00002d00 ]

# tcp sport != 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 0 => reg 1 ]
  [ range neq reg 1 0x00002100 0x00002d00 ]

# tcp sport { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 00002100  : 0 [end]	element 00003700  : 0 [end]	element 00004300  : 0 [end]	element 00005800  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 0 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp sport != { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 00002100  : 0 [end]	element 00003700  : 0 [end]	element 00004300  : 0 [end]	element 00005800  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 0 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp sport { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 00002100  : 0 [end]	element 00003800  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 0 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp sport != { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 00002100  : 0 [end]	element 00003800  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 0 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp sport vmap { 25:accept, 28:drop }
__map%d test-inet b
__map%d test-inet 0
	element 00001900  : 0 [end]	element 00001c00  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 0 => reg 1 ]
  [ lookup reg 1 set __map%d dreg 0 ]

# tcp sport 8080 drop
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 0 => reg 1 ]
  [ cmp eq reg 1 0x0000901f ]
  [ immediate reg 0 drop ]

# tcp sport 1024 tcp dport 22
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 0 => reg 1 ]
  [ cmp eq reg 1 0x16000004 ]

# tcp sport 1024 tcp dport 22 tcp sequence 0
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 0 => reg 1 ]
  [ cmp eq reg 1 0x16000004 ]
  [ payload load 4b @ transport header + 4 => reg 1 ]
  [ cmp eq reg 1 0x00000000 ]

# tcp sequence 0 tcp sport 1024 tcp dport 22
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 4 => reg 1 ]
  [ cmp eq reg 1 0x00000000 ]
  [ payload load 4b @ transport header + 0 => reg 1 ]
  [ cmp eq reg 1 0x16000004 ]

# tcp sequence 0 tcp sport { 1024, 1022} tcp dport 22
__set%d test-inet 3
__set%d test-inet 0
	element 00000004  : 0 [end]	element 0000fe03  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 4 => reg 1 ]
  [ cmp eq reg 1 0x00000000 ]
  [ payload load 2b @ transport header + 0 => reg 1 ]
  [ lookup reg 1 set __set%d ]
  [ payload load 2b @ transport header + 2 => reg 1 ]
  [ cmp eq reg 1 0x00001600 ]

# tcp sequence 22
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 4 => reg 1 ]
  [ cmp eq reg 1 0x16000000 ]

# tcp sequence != 233
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 4 => reg 1 ]
  [ cmp neq reg 1 0xe9000000 ]

# tcp sequence 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 4 => reg 1 ]
  [ cmp gte reg 1 0x21000000 ]
  [ cmp lte reg 1 0x2d000000 ]

# tcp sequence != 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 4 => reg 1 ]
  [ range neq reg 1 0x21000000 0x2d000000 ]

# tcp sequence { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 21000000  : 0 [end]	element 37000000  : 0 [end]	element 43000000  : 0 [end]	element 58000000  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 4 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp sequence != { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 21000000  : 0 [end]	element 37000000  : 0 [end]	element 43000000  : 0 [end]	element 58000000  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 4 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp sequence { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 21000000  : 0 [end]	element 38000000  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 4 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp sequence != { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 21000000  : 0 [end]	element 38000000  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 4 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp ackseq 42949672 drop
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 8 => reg 1 ]
  [ cmp eq reg 1 0x285c8f02 ]
  [ immediate reg 0 drop ]

# tcp ackseq 22
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 8 => reg 1 ]
  [ cmp eq reg 1 0x16000000 ]

# tcp ackseq != 233
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 8 => reg 1 ]
  [ cmp neq reg 1 0xe9000000 ]

# tcp ackseq 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 8 => reg 1 ]
  [ cmp gte reg 1 0x21000000 ]
  [ cmp lte reg 1 0x2d000000 ]

# tcp ackseq != 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 8 => reg 1 ]
  [ range neq reg 1 0x21000000 0x2d000000 ]

# tcp ackseq { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 21000000  : 0 [end]	element 37000000  : 0 [end]	element 43000000  : 0 [end]	element 58000000  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 8 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp ackseq != { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 21000000  : 0 [end]	element 37000000  : 0 [end]	element 43000000  : 0 [end]	element 58000000  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 8 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp ackseq { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 21000000  : 0 [end]	element 38000000  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 8 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp ackseq != { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 21000000  : 0 [end]	element 38000000  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 4b @ transport header + 8 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp flags { fin, syn, rst, psh, ack, urg, ecn, cwr} drop
__set%d test-inet 3
__set%d test-inet 0
	element 00000001  : 0 [end]	element 00000002  : 0 [end]	element 00000004  : 0 [end]	element 00000008  : 0 [end]	element 00000010  : 0 [end]	element 00000020  : 0 [end]	element 00000040  : 0 [end]	element 00000080  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 1b @ transport header + 13 => reg 1 ]
  [ lookup reg 1 set __set%d ]
  [ immediate reg 0 drop ]

# tcp flags != { fin, urg, ecn, cwr} drop
__set%d test-inet 3
__set%d test-inet 0
	element 00000001  : 0 [end]	element 00000020  : 0 [end]	element 00000040  : 0 [end]	element 00000080  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 1b @ transport header + 13 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]
  [ immediate reg 0 drop ]

# tcp flags cwr
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 1b @ transport header + 13 => reg 1 ]
  [ bitwise reg 1 = (reg=1 & 0x00000080 ) ^ 0x00000000 ]
  [ cmp neq reg 1 0x00000000 ]

# tcp flags != cwr
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 1b @ transport header + 13 => reg 1 ]
  [ cmp neq reg 1 0x00000080 ]

# tcp flags == syn
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 1b @ transport header + 13 => reg 1 ]
  [ cmp eq reg 1 0x00000002 ]

# tcp flags & (syn|fin) == (syn|fin)
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 1b @ transport header + 13 => reg 1 ]
  [ bitwise reg 1 = (reg=1 & 0x00000003 ) ^ 0x00000000 ]
  [ cmp eq reg 1 0x00000003 ]

# tcp flags & (fin | syn | rst | psh | ack | urg | ecn | cwr) == fin | syn | rst | psh | ack | urg | ecn | cwr
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 1b @ transport header + 13 => reg 1 ]
  [ bitwise reg 1 = (reg=1 & 0x000000ff ) ^ 0x00000000 ]
  [ cmp eq reg 1 0x000000ff ]

# tcp window 22222
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 14 => reg 1 ]
  [ cmp eq reg 1 0x0000ce56 ]

# tcp window 22
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 14 => reg 1 ]
  [ cmp eq reg 1 0x00001600 ]

# tcp window != 233
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 14 => reg 1 ]
  [ cmp neq reg 1 0x0000e900 ]

# tcp window 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 14 => reg 1 ]
  [ cmp gte reg 1 0x00002100 ]
  [ cmp lte reg 1 0x00002d00 ]

# tcp window != 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 14 => reg 1 ]
  [ range neq reg 1 0x00002100 0x00002d00 ]

# tcp window { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 00002100  : 0 [end]	element 00003700  : 0 [end]	element 00004300  : 0 [end]	element 00005800  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 14 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp window != { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 00002100  : 0 [end]	element 00003700  : 0 [end]	element 00004300  : 0 [end]	element 00005800  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 14 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp window { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 00002100  : 0 [end]	element 00003800  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 14 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp window != { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 00002100  : 0 [end]	element 00003800  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 14 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp checksum 22
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 16 => reg 1 ]
  [ cmp eq reg 1 0x00001600 ]

# tcp checksum != 233
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 16 => reg 1 ]
  [ cmp neq reg 1 0x0000e900 ]

# tcp checksum 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 16 => reg 1 ]
  [ cmp gte reg 1 0x00002100 ]
  [ cmp lte reg 1 0x00002d00 ]

# tcp checksum != 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 16 => reg 1 ]
  [ range neq reg 1 0x00002100 0x00002d00 ]

# tcp checksum { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 00002100  : 0 [end]	element 00003700  : 0 [end]	element 00004300  : 0 [end]	element 00005800  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 16 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp checksum != { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 00002100  : 0 [end]	element 00003700  : 0 [end]	element 00004300  : 0 [end]	element 00005800  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 16 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp checksum { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 00002100  : 0 [end]	element 00003800  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 16 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp checksum != { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 00002100  : 0 [end]	element 00003800  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 16 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp urgptr 1234 accept
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 18 => reg 1 ]
  [ cmp eq reg 1 0x0000d204 ]
  [ immediate reg 0 accept ]

# tcp urgptr 22
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 18 => reg 1 ]
  [ cmp eq reg 1 0x00001600 ]

# tcp urgptr != 233
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 18 => reg 1 ]
  [ cmp neq reg 1 0x0000e900 ]

# tcp urgptr 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 18 => reg 1 ]
  [ cmp gte reg 1 0x00002100 ]
  [ cmp lte reg 1 0x00002d00 ]

# tcp urgptr != 33-45
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 18 => reg 1 ]
  [ range neq reg 1 0x00002100 0x00002d00 ]

# tcp urgptr { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 00002100  : 0 [end]	element 00003700  : 0 [end]	element 00004300  : 0 [end]	element 00005800  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 18 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp urgptr != { 33, 55, 67, 88}
__set%d test-inet 3
__set%d test-inet 0
	element 00002100  : 0 [end]	element 00003700  : 0 [end]	element 00004300  : 0 [end]	element 00005800  : 0 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 18 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp urgptr { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 00002100  : 0 [end]	element 00003800  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 18 => reg 1 ]
  [ lookup reg 1 set __set%d ]

# tcp urgptr != { 33-55}
__set%d test-inet 7
__set%d test-inet 0
	element 00000000  : 1 [end]	element 00002100  : 0 [end]	element 00003800  : 1 [end]
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 2b @ transport header + 18 => reg 1 ]
  [ lookup reg 1 set __set%d 0x1 ]

# tcp doff 8
inet test-inet input
  [ meta load l4proto => reg 1 ]
  [ cmp eq reg 1 0x00000006 ]
  [ payload load 1b @ transport header + 12 => reg 1 ]
  [ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00000000 ]
  [ cmp eq reg 1 0x00000080 ]