# udp dport 53 redirect
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ redir ]
# udp dport 53 redirect random
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ redir flags 0x4 ]
# udp dport 53 redirect random,persistent
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ redir flags 0xc ]
# udp dport 53 redirect random,persistent,fully-random
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ redir flags 0x1c ]
# udp dport 53 redirect random,fully-random
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ redir flags 0x14 ]
# udp dport 53 redirect random,fully-random,persistent
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ redir flags 0x1c ]
# udp dport 53 redirect persistent
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ redir flags 0x8 ]
# udp dport 53 redirect persistent,random
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ redir flags 0xc ]
# udp dport 53 redirect persistent,random,fully-random
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ redir flags 0x1c ]
# udp dport 53 redirect persistent,fully-random
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ redir flags 0x18 ]
# udp dport 53 redirect persistent,fully-random,random
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ redir flags 0x1c ]
# tcp dport 22 redirect to :22
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00001600 ]
[ immediate reg 1 0x00001600 ]
[ redir proto_min reg 1 ]
# udp dport 1234 redirect to :4321
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x0000d204 ]
[ immediate reg 1 0x0000e110 ]
[ redir proto_min reg 1 ]
# ip daddr 172.16.0.1 udp dport 9998 redirect to :6515
ip test-ip4 output
[ payload load 4b @ network header + 16 => reg 1 ]
[ cmp eq reg 1 0x010010ac ]
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00000e27 ]
[ immediate reg 1 0x00007319 ]
[ redir proto_min reg 1 ]
# tcp dport 39128 redirect to :993
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x0000d898 ]
[ immediate reg 1 0x0000e103 ]
[ redir proto_min reg 1 ]
# ip protocol tcp redirect to :100-200
ip test-ip4 output
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ immediate reg 1 0x00006400 ]
[ immediate reg 2 0x0000c800 ]
[ redir proto_min reg 1 proto_max reg 2 ]
# tcp dport 9128 redirect to :993 random
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x0000a823 ]
[ immediate reg 1 0x0000e103 ]
[ redir proto_min reg 1 flags 0x4 ]
# tcp dport 9128 redirect to :993 fully-random
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x0000a823 ]
[ immediate reg 1 0x0000e103 ]
[ redir proto_min reg 1 flags 0x10 ]
# tcp dport 9128 redirect to :123 persistent
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x0000a823 ]
[ immediate reg 1 0x00007b00 ]
[ redir proto_min reg 1 flags 0x8 ]
# tcp dport 9128 redirect to :123 random,persistent
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x0000a823 ]
[ immediate reg 1 0x00007b00 ]
[ redir proto_min reg 1 flags 0xc ]
# tcp dport { 1, 2, 3, 4, 5, 6, 7, 8, 101, 202, 303, 1001, 2002, 3003} redirect
__set%d test-ip4 3
__set%d test-ip4 0
element 00000100 : 0 [end] element 00000200 : 0 [end] element 00000300 : 0 [end] element 00000400 : 0 [end] element 00000500 : 0 [end] element 00000600 : 0 [end] element 00000700 : 0 [end] element 00000800 : 0 [end] element 00006500 : 0 [end] element 0000ca00 : 0 [end] element 00002f01 : 0 [end] element 0000e903 : 0 [end] element 0000d207 : 0 [end] element 0000bb0b : 0 [end]
ip test-ip4 output
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ lookup reg 1 set __set%d ]
[ redir ]
# ip daddr 10.0.0.0-10.2.3.4 udp dport 53 counter redirect
ip test-ip4 output
[ payload load 4b @ network header + 16 => reg 1 ]
[ cmp gte reg 1 0x0000000a ]
[ cmp lte reg 1 0x0403020a ]
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ cmp eq reg 1 0x00003500 ]
[ counter pkts 0 bytes 0 ]
[ redir ]
# iifname "eth0" ct state established,new tcp dport vmap {22 : drop, 222 : drop } redirect
__map%d test-ip4 b
__map%d test-ip4 0
element 00001600 : 0 [end] element 0000de00 : 0 [end]
ip test-ip4 output
[ meta load iifname => reg 1 ]
[ cmp eq reg 1 0x30687465 0x00000000 0x00000000 0x00000000 ]
[ ct load state => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000000a ) ^ 0x00000000 ]
[ cmp neq reg 1 0x00000000 ]
[ 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 ]
[ redir ]
# ip protocol 6 redirect to :tcp dport map { 22 : 8000, 80 : 8080}
__map%d test-ip4 b
__map%d test-ip4 0
element 00001600 : 0000401f 0 [end] element 00005000 : 0000901f 0 [end]
ip test-ip4 output
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
[ lookup reg 1 set __map%d dreg 1 ]
[ redir proto_min reg 1 ]