ct mark 0x00000032-0x00000045;ok
ct mark != 0x00000032-0x00000045;ok
ct mark {0x32, 0x2222, 0x42de3};ok;ct mark { 0x00042de3, 0x00002222, 0x00000032}
+ct mark {0x32-0x2222, 0x4444-0x42de3};ok;ct mark { 0x00000032-0x00002222, 0x00004444-0x00042de3}
- ct mark != {0x32, 0x2222, 0x42de3};ok
# ct mark != {0x32, 0x2222, 0x42de3};ok
[ ct load mark => reg 1 ]
[ lookup reg 1 set set%d ]
+# ct mark {0x32-0x2222, 0x4444-0x42de3}
+set%d test-ip4 7
+set%d test-ip4 0
+ element 00000000 : 1 [end] element 32000000 : 0 [end] element 23220000 : 1 [end] element 44440000 : 0 [end] element e42d0400 : 1 [end]
+ip test-ip4 output
+ [ ct load mark => reg 1 ]
+ [ byteorder reg 1 = hton(reg 1, 4, 4) ]
+ [ lookup reg 1 set set%d ]
+
# ct mark set 0x11 xor 0x1331
ip test-ip4 output
[ immediate reg 1 0x00001320 ]
meta length 33-45;ok
meta length != 33-45;ok
meta length { 33, 55, 67, 88};ok
+meta length { 33-55, 67-88};ok
+meta length { 33-55, 55-88, 100-120};ok;meta length { 33-88, 100-120}
- meta length != { 33, 55, 67, 88};ok
meta length { 33-55};ok
- meta length != { 33-55};ok
meta cpu 1-3;ok;cpu 1-3
meta cpu != 1-2;ok;cpu != 1-2
meta cpu { 2,3};ok;cpu { 2,3}
+meta cpu { 2-3, 5-7};ok
-meta cpu != { 2,3};ok; cpu != { 2,3}
meta iifgroup 0;ok;iifgroup default
[ byteorder reg 1 = hton(reg 1, 4, 4) ]
[ lookup reg 1 set set%d ]
+# meta length { 33-55, 67-88}
+set%d test-ip4 7
+set%d test-ip4 0
+ element 00000000 : 1 [end] element 21000000 : 0 [end] element 38000000 : 1 [end] element 43000000 : 0 [end] element 59000000 : 1 [end]
+ip test-ip4 input
+ [ meta load len => reg 1 ]
+ [ byteorder reg 1 = hton(reg 1, 4, 4) ]
+ [ lookup reg 1 set set%d ]
+
+# meta length { 33-55, 55-88, 100-120}
+set%d test-ip4 7
+set%d test-ip4 0
+ element 00000000 : 1 [end] element 21000000 : 0 [end] element 59000000 : 1 [end] element 64000000 : 0 [end] element 79000000 : 1 [end]
+ip test-ip4 input
+ [ meta load len => reg 1 ]
+ [ byteorder reg 1 = hton(reg 1, 4, 4) ]
+ [ lookup reg 1 set set%d ]
+
# meta protocol { ip, arp, ip6, vlan }
set%d test-ip4 3
set%d test-ip4 0
[ meta load cpu => reg 1 ]
[ lookup reg 1 set set%d ]
+# meta cpu { 2-3, 5-7}
+set%d test-ip4 7
+set%d test-ip4 0
+ element 00000000 : 1 [end] element 02000000 : 0 [end] element 04000000 : 1 [end] element 05000000 : 0 [end] element 08000000 : 1 [end]
+ip test-ip4 input
+ [ meta load cpu => reg 1 ]
+ [ byteorder reg 1 = hton(reg 1, 4, 4) ]
+ [ lookup reg 1 set set%d ]
+
# meta iifgroup 0
ip test-ip4 input
[ meta load iifgroup => reg 1 ]