]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
netlink_linearize: use range expression for OP_EQ and OP_IMPLICIT
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 17 Feb 2025 09:23:24 +0000 (10:23 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 21 Feb 2025 22:23:16 +0000 (23:23 +0100)
range expression is available since v4.9-rc1~127^2~67^2~3, replace the
two cmp expression when generating netlink bytecode.

Code to delinearize the two cmp expressions to represent the range
remains in place for backwards compatibility.

The delinearize path to parse range expressions with NFT_OP_EQ is
already present since:

 3ed932917cc7 ("src: use new range expression for != [a,b] intervals")

Update tests/py payload accordingly, json tests need no update since
they already use the range to represent them.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
44 files changed:
src/netlink_linearize.c
tests/py/any/ct.t.payload
tests/py/any/meta.t.payload
tests/py/arp/arp.t.payload
tests/py/arp/arp.t.payload.netdev
tests/py/bridge/vlan.t.payload
tests/py/bridge/vlan.t.payload.netdev
tests/py/inet/ah.t.payload
tests/py/inet/comp.t.payload
tests/py/inet/dccp.t.payload
tests/py/inet/esp.t.payload
tests/py/inet/ipsec.t.payload
tests/py/inet/sctp.t.payload
tests/py/inet/tcp.t.payload
tests/py/inet/udp.t.payload
tests/py/inet/udplite.t.payload
tests/py/ip/dnat.t.payload.ip
tests/py/ip/icmp.t.payload.ip
tests/py/ip/igmp.t.payload
tests/py/ip/ip.t.payload
tests/py/ip/ip.t.payload.bridge
tests/py/ip/ip.t.payload.inet
tests/py/ip/ip.t.payload.netdev
tests/py/ip/masquerade.t.payload
tests/py/ip/redirect.t.payload
tests/py/ip/snat.t.payload
tests/py/ip6/dnat.t.payload.ip6
tests/py/ip6/dst.t.payload.inet
tests/py/ip6/dst.t.payload.ip6
tests/py/ip6/frag.t.payload.inet
tests/py/ip6/frag.t.payload.ip6
tests/py/ip6/frag.t.payload.netdev
tests/py/ip6/hbh.t.payload.inet
tests/py/ip6/hbh.t.payload.ip6
tests/py/ip6/icmpv6.t.payload.ip6
tests/py/ip6/ip6.t.payload.inet
tests/py/ip6/ip6.t.payload.ip6
tests/py/ip6/masquerade.t.payload.ip6
tests/py/ip6/mh.t.payload.inet
tests/py/ip6/mh.t.payload.ip6
tests/py/ip6/redirect.t.payload.ip6
tests/py/ip6/rt.t.payload.inet
tests/py/ip6/rt.t.payload.ip6
tests/py/ip6/snat.t.payload.ip6

index 42310115f02e92fdeb7c455c7a7c253d8d333215..e69d323cdeaf89375eed413061b2e5a68c8e5c83 100644 (file)
@@ -493,9 +493,11 @@ static void netlink_gen_range(struct netlink_linearize_ctx *ctx,
 
        switch (expr->op) {
        case OP_NEQ:
+       case OP_EQ:
+       case OP_IMPLICIT:
                nle = alloc_nft_expr("range");
                netlink_put_register(nle, NFTNL_EXPR_RANGE_SREG, sreg);
-               nftnl_expr_set_u32(nle, NFTNL_EXPR_RANGE_OP, NFT_RANGE_NEQ);
+               nftnl_expr_set_u32(nle, NFTNL_EXPR_RANGE_OP, netlink_gen_cmp_op(expr->op));
                netlink_gen_data(range->left, &nld);
                nftnl_expr_set(nle, NFTNL_EXPR_RANGE_FROM_DATA,
                               nld.value, nld.len);
@@ -504,24 +506,6 @@ static void netlink_gen_range(struct netlink_linearize_ctx *ctx,
                               nld.value, nld.len);
                nft_rule_add_expr(ctx, nle, &expr->location);
                break;
-       case OP_EQ:
-       case OP_IMPLICIT:
-               nle = alloc_nft_expr("cmp");
-               netlink_put_register(nle, NFTNL_EXPR_CMP_SREG, sreg);
-               nftnl_expr_set_u32(nle, NFTNL_EXPR_CMP_OP,
-                                  netlink_gen_cmp_op(OP_GTE));
-               netlink_gen_data(range->left, &nld);
-               nftnl_expr_set(nle, NFTNL_EXPR_CMP_DATA, nld.value, nld.len);
-               nft_rule_add_expr(ctx, nle, &expr->location);
-
-               nle = alloc_nft_expr("cmp");
-               netlink_put_register(nle, NFTNL_EXPR_CMP_SREG, sreg);
-               nftnl_expr_set_u32(nle, NFTNL_EXPR_CMP_OP,
-                                  netlink_gen_cmp_op(OP_LTE));
-               netlink_gen_data(range->right, &nld);
-               nftnl_expr_set(nle, NFTNL_EXPR_CMP_DATA, nld.value, nld.len);
-               nft_rule_add_expr(ctx, nle, &expr->location);
-               break;
        default:
                BUG("invalid range operation %u\n", expr->op);
 
index 14385cf7ead27a04a1f4375b0f7758cee6ad2b0c..6016009425ec1ec00235d735701ddfe67f250c8b 100644 (file)
@@ -172,8 +172,7 @@ ip test-ip4 output
 ip test-ip4 output
   [ ct load mark => reg 1 ]
   [ byteorder reg 1 = hton(reg 1, 4, 4) ]
-  [ cmp gte reg 1 0x32000000 ]
-  [ cmp lte reg 1 0x45000000 ]
+  [ range eq reg 1 0x32000000 0x45000000 ]
 
 # ct mark != 0x00000032-0x00000045
 ip test-ip4 output
@@ -240,8 +239,7 @@ ip test-ip4 output
 ip test-ip4 output
   [ ct load expiration => reg 1 ]
   [ byteorder reg 1 = hton(reg 1, 4, 4) ]
-  [ cmp gte reg 1 0x60ea0000 ]
-  [ cmp lte reg 1 0x80ee3600 ]
+  [ range eq reg 1 0x60ea0000 0x80ee3600 ]
 
 # ct expiration > 4d23h59m59s
 ip test-ip4 output
@@ -258,8 +256,7 @@ ip test-ip4 output
 ip test-ip4 output
   [ ct load expiration => reg 1 ]
   [ byteorder reg 1 = hton(reg 1, 4, 4) ]
-  [ cmp gte reg 1 0xe8800000 ]
-  [ cmp lte reg 1 0xc8af0000 ]
+  [ range eq reg 1 0xe8800000 0xc8af0000 ]
 
 # ct expiration != 33-45
 ip test-ip4 output
index 49dd729bd1119b7b755810a616eefb3a066a6a9d..a037e0673fec7cf95d1ce3ab8ed7c49837b03da7 100644 (file)
@@ -17,8 +17,7 @@ ip test-ip4 input
 ip test-ip4 input
   [ meta load len => reg 1 ]
   [ byteorder reg 1 = hton(reg 1, 4, 4) ]
-  [ cmp gte reg 1 0x21000000 ]
-  [ cmp lte reg 1 0x2d000000 ]
+  [ range eq reg 1 0x21000000 0x2d000000 ]
 
 # meta length != 33-45
 ip test-ip4 input
@@ -99,8 +98,7 @@ ip test-ip4 input
 # meta l4proto 33-45
 ip test-ip4 input
   [ meta load l4proto => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # meta l4proto != 33-45
 ip test-ip4 input
@@ -385,8 +383,7 @@ ip test-ip4 input
 ip test-ip4 input
   [ meta load skuid => reg 1 ]
   [ byteorder reg 1 = hton(reg 1, 4, 4) ]
-  [ cmp gte reg 1 0xb90b0000 ]
-  [ cmp lte reg 1 0xbd0b0000 ]
+  [ range eq reg 1 0xb90b0000 0xbd0b0000 ]
   [ immediate reg 0 accept ]
 
 # meta skuid != 2001-2005 accept
@@ -448,8 +445,7 @@ ip test-ip4 input
 ip test-ip4 input
   [ meta load skgid => reg 1 ]
   [ byteorder reg 1 = hton(reg 1, 4, 4) ]
-  [ cmp gte reg 1 0xd1070000 ]
-  [ cmp lte reg 1 0xd5070000 ]
+  [ range eq reg 1 0xd1070000 0xd5070000 ]
   [ immediate reg 0 accept ]
 
 # meta skgid != 2001-2005 accept
@@ -583,8 +579,7 @@ ip test-ip4 input
 ip test-ip4 input
   [ meta load cpu => reg 1 ]
   [ byteorder reg 1 = hton(reg 1, 4, 4) ]
-  [ cmp gte reg 1 0x01000000 ]
-  [ cmp lte reg 1 0x03000000 ]
+  [ range eq reg 1 0x01000000 0x03000000 ]
 
 # meta cpu != 1-2
 ip test-ip4 input
@@ -703,8 +698,7 @@ ip test-ip4 input
 ip test-ip4 input
   [ meta load cgroup => reg 1 ]
   [ byteorder reg 1 = hton(reg 1, 4, 4) ]
-  [ cmp gte reg 1 0x01001000 ]
-  [ cmp lte reg 1 0x02001000 ]
+  [ range eq reg 1 0x01001000 0x02001000 ]
 
 # meta cgroup != 1048577-1048578
 ip test-ip4 input
@@ -789,8 +783,7 @@ ip test-ip4 input
 ip test-ip4 input
   [ meta load priority => reg 1 ]
   [ byteorder reg 1 = hton(reg 1, 4, 4) ]
-  [ cmp gte reg 1 0xdadaadbc ]
-  [ cmp lte reg 1 0xdcdaadbc ]
+  [ range eq reg 1 0xdadaadbc 0xdcdaadbc ]
 
 # meta priority != bcad:dada-bcad:dadc
 ip test-ip4 input
index d56927b55ad8ea21012d23b6e43851fb4d72c9c4..0182bb1b1438664933b6228147d06788b5866cd1 100644 (file)
@@ -21,8 +21,7 @@ arp test-arp input
 # arp htype 33-45
 arp test-arp input
   [ payload load 2b @ network header + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # arp htype != 33-45
 arp test-arp input
@@ -63,8 +62,7 @@ arp test-arp input
 # arp hlen 33-45
 arp test-arp input
   [ payload load 1b @ network header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # arp hlen != 33-45
 arp test-arp input
@@ -100,8 +98,7 @@ arp test-arp input
 # arp plen 33-45
 arp test-arp input
   [ payload load 1b @ network header + 5 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # arp plen != 33-45
 arp test-arp input
@@ -143,8 +140,7 @@ arp test-arp input
 # arp operation 1-2
 arp test-arp input
   [ payload load 2b @ network header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00000100 ]
-  [ cmp lte reg 1 0x00000200 ]
+  [ range eq reg 1 0x00000100 0x00000200 ]
 
 # arp operation request
 arp test-arp input
index 92df24002018c074b7d987c89ccf95cf1f7abfe2..d118811263e0873032483a577943384165d7e9c1 100644 (file)
@@ -31,8 +31,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000608 ]
   [ payload load 2b @ network header + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # arp htype != 33-45
 netdev test-netdev ingress 
@@ -87,8 +86,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000608 ]
   [ payload load 1b @ network header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # arp hlen != 33-45
 netdev test-netdev ingress 
@@ -136,8 +134,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000608 ]
   [ payload load 1b @ network header + 5 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # arp plen != 33-45
 netdev test-netdev ingress 
@@ -191,8 +188,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000608 ]
   [ payload load 2b @ network header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00000100 ]
-  [ cmp lte reg 1 0x00000200 ]
+  [ range eq reg 1 0x00000100 0x00000200 ]
 
 # arp operation request
 netdev test-netdev ingress 
index 2592bb96ad7c9b52e994942ee0a9d4025d6a6509..0144a9a5b036b4ec55da9a1dc4940053680a61e2 100644 (file)
@@ -207,8 +207,7 @@ bridge test-bridge input
   [ lookup reg 1 set __set%d ]
   [ payload load 1b @ link header + 14 => reg 1 ]
   [ bitwise reg 1 = ( reg 1 & 0x000000e0 ) ^ 0x00000000 ]
-  [ cmp gte reg 1 0x00000020 ]
-  [ cmp lte reg 1 0x00000060 ]
+  [ range eq reg 1 0x00000020 0x00000060 ]
 
 # ether type vlan ip protocol 1 accept
 bridge test-bridge input
index f33419470ad5f6d526983b7f8882890894c43232..330fb4a32df5e39cf969b9e12381099c6db84caf 100644 (file)
@@ -243,8 +243,7 @@ netdev test-netdev ingress
   [ lookup reg 1 set __set%d ]
   [ payload load 1b @ link header + 14 => reg 1 ]
   [ bitwise reg 1 = ( reg 1 & 0x000000e0 ) ^ 0x00000000 ]
-  [ cmp gte reg 1 0x00000020 ]
-  [ cmp lte reg 1 0x00000060 ]
+  [ range eq reg 1 0x00000020 0x00000060 ]
 
 # ether type vlan ip protocol 1 accept
 netdev test-netdev ingress
index 7ddd72d57363d099cbab88835d602db803ab557a..e0cd2002ba55d114facf686b910fbc3796f0c0ba 100644 (file)
@@ -3,8 +3,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000033 ]
   [ payload load 1b @ transport header + 1 => reg 1 ]
-  [ cmp gte reg 1 0x0000000b ]
-  [ cmp lte reg 1 0x00000017 ]
+  [ range eq reg 1 0x0000000b 0x00000017 ]
 
 # ah hdrlength != 11-23
 inet test-inet input
@@ -52,8 +51,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000033 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ah reserved != 33-45
 inet test-inet input
@@ -101,8 +99,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000033 ]
   [ payload load 4b @ transport header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x6f000000 ]
-  [ cmp lte reg 1 0xde000000 ]
+  [ range eq reg 1 0x6f000000 0xde000000 ]
 
 # ah spi != 111-222
 inet test-inet input
@@ -170,8 +167,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000033 ]
   [ payload load 4b @ transport header + 8 => reg 1 ]
-  [ cmp gte reg 1 0x17000000 ]
-  [ cmp lte reg 1 0x21000000 ]
+  [ range eq reg 1 0x17000000 0x21000000 ]
 
 # ah sequence != 23-33
 inet test-inet input
index 024e47cd99ed17eb816c5cf0dd01118060b5efd2..2ffe3b31865184f5bd9c7d394d2d4b2f5687ae6e 100644 (file)
@@ -24,8 +24,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x0000006c ]
   [ payload load 1b @ transport header + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000033 ]
-  [ cmp lte reg 1 0x00000045 ]
+  [ range eq reg 1 0x00000033 0x00000045 ]
 
 # comp flags != 0x33-0x45
 inet test-inet input
@@ -73,8 +72,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x0000006c ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # comp cpi != 33-45
 inet test-inet input
index c0b87be18da7b9c48516b97c654d8791a01c67f2..7cb9721c1cd8a17090bc9452cc7de163b78552ab 100644 (file)
@@ -3,8 +3,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000021 ]
   [ payload load 2b @ transport header + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00001500 ]
-  [ cmp lte reg 1 0x00002300 ]
+  [ range eq reg 1 0x00001500 0x00002300 ]
 
 # dccp sport != 21-35
 inet test-inet input
@@ -38,8 +37,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000021 ]
   [ payload load 2b @ transport header + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00001400 ]
-  [ cmp lte reg 1 0x00003200 ]
+  [ range eq reg 1 0x00001400 0x00003200 ]
 
 # dccp dport {23, 24, 25}
 __set%d test-ip4 3
index 0353b056bb66d6463a4a1e18a3ef2934e89f8f7d..bb67aad6848f2b5058d8e75fa9b745044170cb57 100644 (file)
@@ -17,8 +17,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000032 ]
   [ payload load 4b @ transport header + 0 => reg 1 ]
-  [ cmp gte reg 1 0x6f000000 ]
-  [ cmp lte reg 1 0xde000000 ]
+  [ range eq reg 1 0x6f000000 0xde000000 ]
 
 # esp spi != 111-222
 inet test-inet input
@@ -59,8 +58,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000032 ]
   [ payload load 4b @ transport header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x16000000 ]
-  [ cmp lte reg 1 0x18000000 ]
+  [ range eq reg 1 0x16000000 0x18000000 ]
 
 # esp sequence != 22-24
 inet test-inet input
index 9648255df02e9a3f974cf504508bd38e178c5bc1..f8ecd9d1cc1f35179420fb4fc3dc94c580a68d74 100644 (file)
@@ -16,8 +16,7 @@ ip ipsec-ip4 ipsec-input
 # ipsec out spi 1-561
 inet ipsec-inet ipsec-post
   [ xfrm load out 0 spi => reg 1 ]
-  [ cmp gte reg 1 0x01000000 ]
-  [ cmp lte reg 1 0x31020000 ]
+  [ range eq reg 1 0x01000000 0x31020000 ]
 
 # ipsec in spnum 2 ip saddr { 1.2.3.4, 10.6.0.0/16 }
 __set%d ipsec-ip4 7 size 5
index 7337e2eab4901eb4288ed31347ec242e0be68fb7..0f6b3a8b1fc84c0b99b5829c8c952bc9c536335e 100644 (file)
@@ -17,8 +17,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000084 ]
   [ payload load 2b @ transport header + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00001700 ]
-  [ cmp lte reg 1 0x00002c00 ]
+  [ range eq reg 1 0x00001700 0x00002c00 ]
 
 # sctp sport != 23-44
 inet test-inet input
@@ -66,8 +65,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000084 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00001700 ]
-  [ cmp lte reg 1 0x00002c00 ]
+  [ range eq reg 1 0x00001700 0x00002c00 ]
 
 # sctp dport != 23-44
 inet test-inet input
@@ -115,8 +113,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000084 ]
   [ payload load 4b @ transport header + 8 => reg 1 ]
-  [ cmp gte reg 1 0x15000000 ]
-  [ cmp lte reg 1 0x4d010000 ]
+  [ range eq reg 1 0x15000000 0x4d010000 ]
 
 # sctp checksum != 32-111
 inet test-inet input
@@ -164,8 +161,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000084 ]
   [ payload load 4b @ transport header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x21000000 ]
-  [ cmp lte reg 1 0x2d000000 ]
+  [ range eq reg 1 0x21000000 0x2d000000 ]
 
 # sctp vtag != 33-45
 inet test-inet input
index bc6bb989ae1afc0c8bb27fe94568139e7222bb6a..5c36ad3e4a21410bc71055e4c160fb4dce3e3f4d 100644 (file)
@@ -17,8 +17,7 @@ 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 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # tcp dport != 33-45
 inet test-inet input
@@ -117,8 +116,7 @@ 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 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # tcp sport != 33-45
 inet test-inet input
@@ -223,8 +221,7 @@ 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 ]
+  [ range eq reg 1 0x21000000 0x2d000000 ]
 
 # tcp sequence != 33-45
 inet test-inet input
@@ -280,8 +277,7 @@ 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 ]
+  [ range eq reg 1 0x21000000 0x2d000000 ]
 
 # tcp ackseq != 33-45
 inet test-inet input
@@ -500,8 +496,7 @@ 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 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # tcp window != 33-45
 inet test-inet input
@@ -549,8 +544,7 @@ 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 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # tcp checksum != 33-45
 inet test-inet input
@@ -606,8 +600,7 @@ 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 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # tcp urgptr != 33-45
 inet test-inet input
index 32f7f8c3f564e90d31d8a6c92d4196e409cc49bf..d2c62d92653b441c79d6a93ebb7eabe70b92d5f9 100644 (file)
@@ -19,8 +19,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000011 ]
   [ payload load 2b @ transport header + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00003200 ]
-  [ cmp lte reg 1 0x00004600 ]
+  [ range eq reg 1 0x00003200 0x00004600 ]
   [ immediate reg 0 accept ]
 
 # udp sport != 50-60 accept
@@ -74,8 +73,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000011 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00004600 ]
-  [ cmp lte reg 1 0x00004b00 ]
+  [ range eq reg 1 0x00004600 0x00004b00 ]
   [ immediate reg 0 accept ]
 
 # udp dport != 50-60 accept
@@ -127,8 +125,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000011 ]
   [ payload load 2b @ transport header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00003200 ]
-  [ cmp lte reg 1 0x00004100 ]
+  [ range eq reg 1 0x00003200 0x00004100 ]
   [ immediate reg 0 accept ]
 
 # udp length != 50-65 accept
@@ -199,8 +196,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000011 ]
   [ payload load 2b @ transport header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # udp checksum != 33-45
 inet test-inet input 
index de9d09edf5eea788edb24c9b0cb01efc9c9bcc60..dbaeaa78c35421afcb2805887d6d245f0296a09f 100644 (file)
@@ -19,8 +19,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000088 ]
   [ payload load 2b @ transport header + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00003200 ]
-  [ cmp lte reg 1 0x00004600 ]
+  [ range eq reg 1 0x00003200 0x00004600 ]
   [ immediate reg 0 accept ]
 
 # udplite sport != 50-60 accept
@@ -74,8 +73,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000088 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00004600 ]
-  [ cmp lte reg 1 0x00004b00 ]
+  [ range eq reg 1 0x00004600 0x00004b00 ]
   [ immediate reg 0 accept ]
 
 # udplite dport != 50-60 accept
@@ -146,8 +144,7 @@ inet test-inet input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000088 ]
   [ payload load 2b @ transport header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # udplite checksum != 33-45
 inet test-inet input
index 439c6abef03f1209866d8641e1919d47102de3ab..72b52546c64ee6f0d3cbc89f7c73f7bf2894ec90 100644 (file)
@@ -5,8 +5,7 @@ ip test-ip4 prerouting
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000006 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00005000 ]
-  [ cmp lte reg 1 0x00005a00 ]
+  [ range eq reg 1 0x00005000 0x00005a00 ]
   [ immediate reg 1 0x0203a8c0 ]
   [ nat dnat ip addr_min reg 1 ]
 
index 3bc6de3cf7179f603d72608648387ff3fc8000a6..04a53cff4635d0f63716779cd6f54174bbdffe26 100644 (file)
@@ -133,8 +133,7 @@ ip test-ip4 input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000001 ]
   [ payload load 1b @ transport header + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x00000037 ]
+  [ range eq reg 1 0x00000021 0x00000037 ]
 
 # icmp code != 33-55
 ip test-ip4 input
@@ -184,8 +183,7 @@ ip test-ip4 input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000001 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00000b00 ]
-  [ cmp lte reg 1 0x00005701 ]
+  [ range eq reg 1 0x00000b00 0x00005701 ]
   [ immediate reg 0 accept ]
 
 # icmp checksum != 11-343 accept
@@ -265,8 +263,7 @@ ip test-ip4 input
   [ payload load 1b @ transport header + 0 => reg 1 ]
   [ lookup reg 1 set __set%d ]
   [ payload load 2b @ transport header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # icmp id != 33-45
 __set%d test-ip4 3
@@ -344,8 +341,7 @@ ip test-ip4 input
   [ payload load 1b @ transport header + 0 => reg 1 ]
   [ lookup reg 1 set __set%d ]
   [ payload load 2b @ transport header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # icmp sequence != 33-45
 __set%d test-ip4 3
@@ -438,8 +434,7 @@ ip test-ip4 input
   [ payload load 1b @ transport header + 0 => reg 1 ]
   [ cmp eq reg 1 0x00000003 ]
   [ payload load 2b @ transport header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00001600 ]
-  [ cmp lte reg 1 0x00002100 ]
+  [ range eq reg 1 0x00001600 0x00002100 ]
 
 # icmp mtu 22
 ip test-ip4 input
@@ -466,8 +461,7 @@ ip test-ip4 input
   [ payload load 1b @ transport header + 0 => reg 1 ]
   [ cmp eq reg 1 0x00000003 ]
   [ payload load 2b @ transport header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # icmp mtu != 33-45
 ip test-ip4 input
@@ -527,8 +521,7 @@ ip test-ip4 input
   [ payload load 1b @ transport header + 0 => reg 1 ]
   [ cmp eq reg 1 0x00000005 ]
   [ payload load 4b @ transport header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x21000000 ]
-  [ cmp lte reg 1 0x2d000000 ]
+  [ range eq reg 1 0x21000000 0x2d000000 ]
 
 # icmp gateway != 33-45
 ip test-ip4 input
index 940fe2cd30143fdcb9b12509a0362c0f01abd65b..872fc3afa3b7d53d2468afab1d967dfcf667ce0b 100644 (file)
@@ -52,8 +52,7 @@ ip test-ip4 input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00000b00 ]
-  [ cmp lte reg 1 0x00005701 ]
+  [ range eq reg 1 0x00000b00 0x00005701 ]
 
 # igmp checksum != 11-343
 ip test-ip4 input 
index d7ddf7be0c3b486a5379fa2cc8291a7ae8d4ea32..b0e9efa5f8e45d02b635226f2906a0fe479a8c6b 100644 (file)
@@ -63,8 +63,7 @@ ip test-ip4 input
 # ip length 333-435
 ip test-ip4 input
   [ payload load 2b @ network header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00004d01 ]
-  [ cmp lte reg 1 0x0000b301 ]
+  [ range eq reg 1 0x00004d01 0x0000b301 ]
 
 # ip length != 333-453
 ip test-ip4 input
@@ -100,8 +99,7 @@ ip test-ip4 input
 # ip id 33-45
 ip test-ip4 input
   [ payload load 2b @ network header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip id != 33-45
 ip test-ip4 input
@@ -138,8 +136,7 @@ ip test-ip4 input
 # ip frag-off 0x21-0x2d
 ip test-ip4 input
   [ payload load 2b @ network header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip frag-off != 0x21-0x2d
 ip test-ip4 input
@@ -194,8 +191,7 @@ ip test-ip4 input
 # ip ttl 33-55
 ip test-ip4 input
   [ payload load 1b @ network header + 8 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x00000037 ]
+  [ range eq reg 1 0x00000021 0x00000037 ]
 
 # ip ttl != 45-50
 ip test-ip4 input
@@ -270,8 +266,7 @@ ip test-ip4 input
 # ip checksum 33-45
 ip test-ip4 input
   [ payload load 2b @ network header + 10 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip checksum != 33-45
 ip test-ip4 input
@@ -324,26 +319,22 @@ ip test-ip4 input
 # ip daddr 192.168.0.1-192.168.0.250
 ip test-ip4 input
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0100a8c0 ]
-  [ cmp lte reg 1 0xfa00a8c0 ]
+  [ range eq reg 1 0x0100a8c0 0xfa00a8c0 ]
 
 # ip daddr 10.0.0.0-10.255.255.255
 ip test-ip4 input
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0000000a ]
-  [ cmp lte reg 1 0xffffff0a ]
+  [ range eq reg 1 0x0000000a 0xffffff0a ]
 
 # ip daddr 172.16.0.0-172.31.255.255
 ip test-ip4 input
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x000010ac ]
-  [ cmp lte reg 1 0xffff1fac ]
+  [ range eq reg 1 0x000010ac 0xffff1fac ]
 
 # ip daddr 192.168.3.1-192.168.4.250
 ip test-ip4 input
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0103a8c0 ]
-  [ cmp lte reg 1 0xfa04a8c0 ]
+  [ range eq reg 1 0x0103a8c0 0xfa04a8c0 ]
 
 # ip daddr != 192.168.0.1-192.168.0.250
 ip test-ip4 input
@@ -371,8 +362,7 @@ ip test-ip4 input
 # ip daddr 192.168.1.2-192.168.1.55
 ip test-ip4 input
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0201a8c0 ]
-  [ cmp lte reg 1 0x3701a8c0 ]
+  [ range eq reg 1 0x0201a8c0 0x3701a8c0 ]
 
 # ip daddr != 192.168.1.2-192.168.1.55
 ip test-ip4 input
@@ -382,8 +372,7 @@ ip test-ip4 input
 # ip saddr 192.168.1.3-192.168.33.55
 ip test-ip4 input
   [ payload load 4b @ network header + 12 => reg 1 ]
-  [ cmp gte reg 1 0x0301a8c0 ]
-  [ cmp lte reg 1 0x3721a8c0 ]
+  [ range eq reg 1 0x0301a8c0 0x3721a8c0 ]
 
 # ip saddr != 192.168.1.3-192.168.33.55
 ip test-ip4 input
index 53f881d336df48b870d0c4c2eaeaadecb2f21e86..9400fd0fb004d801bf7c46c44caae62722f7f6d0 100644 (file)
@@ -83,8 +83,7 @@ bridge test-bridge input
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 2b @ network header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00004d01 ]
-  [ cmp lte reg 1 0x0000b301 ]
+  [ range eq reg 1 0x00004d01 0x0000b301 ]
 
 # ip length != 333-453
 bridge test-bridge input 
@@ -132,8 +131,7 @@ bridge test-bridge input
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 2b @ network header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip id != 33-45
 bridge test-bridge input 
@@ -182,8 +180,7 @@ bridge test-bridge input
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 2b @ network header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip frag-off != 0x21-0x2d
 bridge test-bridge input 
@@ -256,8 +253,7 @@ bridge test-bridge input
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 1b @ network header + 8 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x00000037 ]
+  [ range eq reg 1 0x00000021 0x00000037 ]
 
 # ip ttl != 45-50
 bridge test-bridge input 
@@ -356,8 +352,7 @@ bridge test-bridge input
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 2b @ network header + 10 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip checksum != 33-45
 bridge test-bridge input 
@@ -428,32 +423,28 @@ bridge test-bridge input
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0100a8c0 ]
-  [ cmp lte reg 1 0xfa00a8c0 ]
+  [ range eq reg 1 0x0100a8c0 0xfa00a8c0 ]
 
 # ip daddr 10.0.0.0-10.255.255.255
 bridge test-bridge input 
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0000000a ]
-  [ cmp lte reg 1 0xffffff0a ]
+  [ range eq reg 1 0x0000000a 0xffffff0a ]
 
 # ip daddr 172.16.0.0-172.31.255.255
 bridge test-bridge input 
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x000010ac ]
-  [ cmp lte reg 1 0xffff1fac ]
+  [ range eq reg 1 0x000010ac 0xffff1fac ]
 
 # ip daddr 192.168.3.1-192.168.4.250
 bridge test-bridge input 
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0103a8c0 ]
-  [ cmp lte reg 1 0xfa04a8c0 ]
+  [ range eq reg 1 0x0103a8c0 0xfa04a8c0 ]
 
 # ip daddr != 192.168.0.1-192.168.0.250
 bridge test-bridge input 
@@ -489,8 +480,7 @@ bridge test-bridge input
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0201a8c0 ]
-  [ cmp lte reg 1 0x3701a8c0 ]
+  [ range eq reg 1 0x0201a8c0 0x3701a8c0 ]
 
 # ip daddr != 192.168.1.2-192.168.1.55
 bridge test-bridge input 
@@ -504,8 +494,7 @@ bridge test-bridge input
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 12 => reg 1 ]
-  [ cmp gte reg 1 0x0301a8c0 ]
-  [ cmp lte reg 1 0x3721a8c0 ]
+  [ range eq reg 1 0x0301a8c0 0x3721a8c0 ]
 
 # ip saddr != 192.168.1.3-192.168.33.55
 bridge test-bridge input 
index 08674c98e022e023a0e13966cbdf5609a38b8109..16df241f5a411323a124858f77c385855bea1d31 100644 (file)
@@ -83,8 +83,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 2b @ network header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00004d01 ]
-  [ cmp lte reg 1 0x0000b301 ]
+  [ range eq reg 1 0x00004d01 0x0000b301 ]
 
 # ip length != 333-453
 inet test-inet input
@@ -132,8 +131,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 2b @ network header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip id != 33-45
 inet test-inet input
@@ -182,8 +180,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 2b @ network header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip frag-off != 0x21-0x2d
 inet test-inet input
@@ -256,8 +253,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 1b @ network header + 8 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x00000037 ]
+  [ range eq reg 1 0x00000021 0x00000037 ]
 
 # ip ttl != 45-50
 inet test-inet input
@@ -356,8 +352,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 2b @ network header + 10 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip checksum != 33-45
 inet test-inet input
@@ -428,32 +423,28 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0100a8c0 ]
-  [ cmp lte reg 1 0xfa00a8c0 ]
+  [ range eq reg 1 0x0100a8c0 0xfa00a8c0 ]
 
 # ip daddr 10.0.0.0-10.255.255.255
 inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0000000a ]
-  [ cmp lte reg 1 0xffffff0a ]
+  [ range eq reg 1 0x0000000a 0xffffff0a ]
 
 # ip daddr 172.16.0.0-172.31.255.255
 inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x000010ac ]
-  [ cmp lte reg 1 0xffff1fac ]
+  [ range eq reg 1 0x000010ac 0xffff1fac ]
 
 # ip daddr 192.168.3.1-192.168.4.250
 inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0103a8c0 ]
-  [ cmp lte reg 1 0xfa04a8c0 ]
+  [ range eq reg 1 0x0103a8c0 0xfa04a8c0 ]
 
 # ip daddr != 192.168.0.1-192.168.0.250
 inet test-inet input
@@ -489,8 +480,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0201a8c0 ]
-  [ cmp lte reg 1 0x3701a8c0 ]
+  [ range eq reg 1 0x0201a8c0 0x3701a8c0 ]
 
 # ip daddr != 192.168.1.2-192.168.1.55
 inet test-inet input
@@ -504,8 +494,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 4b @ network header + 12 => reg 1 ]
-  [ cmp gte reg 1 0x0301a8c0 ]
-  [ cmp lte reg 1 0x3721a8c0 ]
+  [ range eq reg 1 0x0301a8c0 0x3721a8c0 ]
 
 # ip saddr != 192.168.1.3-192.168.33.55
 inet test-inet input
index 8220b05d11c15926d4172c97a3b0320a7c809b37..0a80af343803fb0854ac1087a601f72b0dd2def3 100644 (file)
@@ -17,8 +17,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 2b @ network header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00004d01 ]
-  [ cmp lte reg 1 0x0000b301 ]
+  [ range eq reg 1 0x00004d01 0x0000b301 ]
 
 # ip length != 333-453
 netdev test-netdev ingress 
@@ -66,8 +65,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 2b @ network header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip id != 33-45
 netdev test-netdev ingress 
@@ -116,8 +114,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 2b @ network header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip frag-off != 0x21-0x2d
 netdev test-netdev ingress 
@@ -183,8 +180,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 1b @ network header + 8 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x00000037 ]
+  [ range eq reg 1 0x00000021 0x00000037 ]
 
 # ip ttl != 45-50
 netdev test-netdev ingress 
@@ -269,8 +265,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 2b @ network header + 10 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip checksum != 33-45
 netdev test-netdev ingress 
@@ -334,32 +329,28 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0100a8c0 ]
-  [ cmp lte reg 1 0xfa00a8c0 ]
+  [ range eq reg 1 0x0100a8c0 0xfa00a8c0 ]
 
 # ip daddr 10.0.0.0-10.255.255.255
 netdev test-netdev ingress 
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0000000a ]
-  [ cmp lte reg 1 0xffffff0a ]
+  [ range eq reg 1 0x0000000a 0xffffff0a ]
 
 # ip daddr 172.16.0.0-172.31.255.255
 netdev test-netdev ingress 
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x000010ac ]
-  [ cmp lte reg 1 0xffff1fac ]
+  [ range eq reg 1 0x000010ac 0xffff1fac ]
 
 # ip daddr 192.168.3.1-192.168.4.250
 netdev test-netdev ingress 
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0103a8c0 ]
-  [ cmp lte reg 1 0xfa04a8c0 ]
+  [ range eq reg 1 0x0103a8c0 0xfa04a8c0 ]
 
 # ip daddr != 192.168.0.1-192.168.0.250
 netdev test-netdev ingress 
@@ -395,8 +386,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0201a8c0 ]
-  [ cmp lte reg 1 0x3701a8c0 ]
+  [ range eq reg 1 0x0201a8c0 0x3701a8c0 ]
 
 # ip daddr != 192.168.1.2-192.168.1.55
 netdev test-netdev ingress 
@@ -410,8 +400,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x00000008 ]
   [ payload load 4b @ network header + 12 => reg 1 ]
-  [ cmp gte reg 1 0x0301a8c0 ]
-  [ cmp lte reg 1 0x3721a8c0 ]
+  [ range eq reg 1 0x0301a8c0 0x3721a8c0 ]
 
 # ip saddr != 192.168.1.3-192.168.33.55
 netdev test-netdev ingress 
index 79e52856a22d3d36d98ba49caa659ec4e7e4115f..c4957fd74f8f3e8d0dba3ce76657e4eed8bd0dea 100644 (file)
@@ -100,8 +100,7 @@ ip test-ip4 postrouting
 # ip daddr 10.0.0.0-10.2.3.4 udp dport 53 counter masquerade
 ip test-ip4 postrouting
   [ payload load 4b @ network header + 16 => reg 1 ]
-  [ cmp gte reg 1 0x0000000a ]
-  [ cmp lte reg 1 0x0403020a ]
+  [ range eq reg 1 0x0000000a 0x0403020a ]
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000011 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
index 4bed47c18ef94396deb79b08bd386e75004b71d3..8a543057e76a07f481dac88a09e0195c24a965fc 100644 (file)
@@ -182,8 +182,7 @@ ip test-ip4 output
 # 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 ]
+  [ range eq reg 1 0x0000000a 0x0403020a ]
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000011 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
index 71a5e2f1a54e0a80f0a230faba2660d5af8ed18c..7044d7b023bb79c2b3b86f34bb9c59158d090965 100644 (file)
@@ -5,8 +5,7 @@ ip test-ip4 postrouting
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000006 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00005000 ]
-  [ cmp lte reg 1 0x00005a00 ]
+  [ range eq reg 1 0x00005000 0x00005a00 ]
   [ immediate reg 1 0x0203a8c0 ]
   [ nat snat ip addr_min reg 1 ]
 
@@ -67,8 +66,7 @@ ip
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000006 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00005000 ]
-  [ cmp lte reg 1 0x00005a00 ]
+  [ range eq reg 1 0x00005000 0x00005a00 ]
   [ immediate reg 1 0x0003a8c0 ]
   [ immediate reg 2 0xff03a8c0 ]
   [ nat snat ip addr_min reg 1 addr_max reg 2 ]
@@ -80,8 +78,7 @@ ip
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000006 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00005000 ]
-  [ cmp lte reg 1 0x00005a00 ]
+  [ range eq reg 1 0x00005000 0x00005a00 ]
   [ immediate reg 1 0x0f03a8c0 ]
   [ immediate reg 2 0xf003a8c0 ]
   [ nat snat ip addr_min reg 1 addr_max reg 2 ]
index 004ffdeb3171baaaf933001e35612e34afd81956..fe6e0422f074b2391f1f58360a3e025ff5021bee 100644 (file)
@@ -3,8 +3,7 @@ ip6 test-ip6 prerouting
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000006 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00005000 ]
-  [ cmp lte reg 1 0x00005a00 ]
+  [ range eq reg 1 0x00005000 0x00005a00 ]
   [ immediate reg 1 0x38080120 0x01005f03 0x00000000 0x00000000 ]
   [ immediate reg 2 0x38080120 0x02005f03 0x00000000 0x00000000 ]
   [ immediate reg 3 0x00005000 ]
@@ -16,8 +15,7 @@ ip6 test-ip6 prerouting
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000006 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00005000 ]
-  [ cmp lte reg 1 0x00005a00 ]
+  [ range eq reg 1 0x00005000 0x00005a00 ]
   [ immediate reg 1 0x38080120 0x01005f03 0x00000000 0x00000000 ]
   [ immediate reg 2 0x38080120 0x02005f03 0x00000000 0x00000000 ]
   [ immediate reg 3 0x00006400 ]
@@ -28,8 +26,7 @@ ip6 test-ip6 prerouting
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000006 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00005000 ]
-  [ cmp lte reg 1 0x00005a00 ]
+  [ range eq reg 1 0x00005000 0x00005a00 ]
   [ immediate reg 1 0x38080120 0x01005f03 0x00000000 0x00000000 ]
   [ immediate reg 2 0x00005000 ]
   [ nat dnat ip6 addr_min reg 1 proto_min reg 2 flags 0x2 ]
index 90d6bda1e0b452d8a81b647e2c3562c635922857..476fdbcd73630e64680634d32d4fd3db95530466 100644 (file)
@@ -17,8 +17,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # dst nexthdr != 33-45
 inet test-inet input
@@ -100,8 +99,7 @@ ip6 test-ip6 input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # dst hdrlength != 33-45
 ip6 test-ip6 input
index 941140d0c0e78833db53d6627900ccec03652b8b..af3bab9b1f75f151d4f1935798c07f3f9049b1b8 100644 (file)
@@ -11,8 +11,7 @@ ip6 test-ip6 input
 # dst nexthdr 33-45
 ip6 test-ip6 input
   [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # dst nexthdr != 33-45
 ip6 test-ip6 input
@@ -74,8 +73,7 @@ ip6 test-ip6 input
 # dst hdrlength 33-45
 ip6 test-ip6 input
   [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # dst hdrlength != 33-45
 ip6 test-ip6 input
index 20334f441158d3207383752ac08cd95a036baf9a..1100896eb61c015a99d0ee4441d43fb65a65bbe8 100644 (file)
@@ -65,8 +65,7 @@ inet test-inet output
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # frag reserved != 33-45
 inet test-inet output
@@ -117,8 +116,7 @@ inet test-inet output
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
   [ bitwise reg 1 = ( reg 1 & 0x0000f8ff ) ^ 0x00000000 ]
-  [ cmp gte reg 1 0x00000801 ]
-  [ cmp lte reg 1 0x00006801 ]
+  [ range eq reg 1 0x00000801 0x00006801 ]
 
 # frag frag-off != 33-45
 inet test-inet output
@@ -176,8 +174,7 @@ inet test-inet output
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
-  [ cmp gte reg 1 0x21000000 ]
-  [ cmp lte reg 1 0x2d000000 ]
+  [ range eq reg 1 0x21000000 0x2d000000 ]
 
 # frag id != 33-45
 inet test-inet output
index 7c3e7a4e7264dffef76a4c453dd1519aaf478fb3..0556395a87ca45192f840a968344ac215570a550 100644 (file)
@@ -47,8 +47,7 @@ ip6 test-ip6 output
 # frag reserved 33-45
 ip6 test-ip6 output
   [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # frag reserved != 33-45
 ip6 test-ip6 output
@@ -87,8 +86,7 @@ ip6 test-ip6 output
 ip6 test-ip6 output
   [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
   [ bitwise reg 1 = ( reg 1 & 0x0000f8ff ) ^ 0x00000000 ]
-  [ cmp gte reg 1 0x00000801 ]
-  [ cmp lte reg 1 0x00006801 ]
+  [ range eq reg 1 0x00000801 0x00006801 ]
 
 # frag frag-off != 33-45
 ip6 test-ip6 output
@@ -132,8 +130,7 @@ ip6 test-ip6 output
 # frag id 33-45
 ip6 test-ip6 output
   [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
-  [ cmp gte reg 1 0x21000000 ]
-  [ cmp lte reg 1 0x2d000000 ]
+  [ range eq reg 1 0x21000000 0x2d000000 ]
 
 # frag id != 33-45
 ip6 test-ip6 output
index 0562075447635bb177004ff67d9bb032ffd8386a..68257f5bcefe3271ef72b32dc615449d084937f5 100644 (file)
@@ -65,8 +65,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x0000dd86 ]
   [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # frag reserved != 33-45
 netdev test-netdev ingress
@@ -117,8 +116,7 @@ netdev test-netdev ingress
   [ cmp eq reg 1 0x0000dd86 ]
   [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
   [ bitwise reg 1 = ( reg 1 & 0x0000f8ff ) ^ 0x00000000 ]
-  [ cmp gte reg 1 0x00000801 ]
-  [ cmp lte reg 1 0x00006801 ]
+  [ range eq reg 1 0x00000801 0x00006801 ]
 
 # frag frag-off != 33-45
 netdev test-netdev ingress
@@ -200,8 +198,7 @@ netdev test-netdev ingress
   [ meta load protocol => reg 1 ]
   [ cmp eq reg 1 0x0000dd86 ]
   [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
-  [ cmp gte reg 1 0x21000000 ]
-  [ cmp lte reg 1 0x2d000000 ]
+  [ range eq reg 1 0x21000000 0x2d000000 ]
 
 # frag id != 33-45
 netdev test-netdev ingress
index 63afd832b235ff4c0f1b9d0e245306db648e7c8a..10f010aa57f592ac3e842bfc3a21b3df8a1fbd13 100644 (file)
@@ -17,8 +17,7 @@ inet test-inet filter-input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # hbh hdrlength != 33-45
 inet test-inet filter-input
@@ -86,8 +85,7 @@ inet test-inet filter-input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # hbh nexthdr != 33-45
 inet test-inet filter-input
index 913505a5b779deb6a9be4589e8ebc81b2a87cbc4..a6bc7ae65475d1e0b8857a7e664beed4d8f306a0 100644 (file)
@@ -11,8 +11,7 @@ ip6 test-ip6 filter-input
 # hbh hdrlength 33-45
 ip6 test-ip6 filter-input
   [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # hbh hdrlength != 33-45
 ip6 test-ip6 filter-input
@@ -64,8 +63,7 @@ ip6 test-ip6 filter-input
 # hbh nexthdr 33-45
 ip6 test-ip6 filter-input
   [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # hbh nexthdr != 33-45
 ip6 test-ip6 filter-input
index 5b6035d10f701661c03ff5dedfa5babeacc012c0..8a637afae7fb8611e7c8096afc648a8c58162237 100644 (file)
@@ -206,8 +206,7 @@ ip6 test-ip6 input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x0000003a ]
   [ payload load 1b @ transport header + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000003 ]
-  [ cmp lte reg 1 0x00000042 ]
+  [ range eq reg 1 0x00000003 0x00000042 ]
 
 # icmpv6 code {5, 6, 7} accept
 __set%d test-ip6 3
@@ -252,8 +251,7 @@ ip6 test-ip6 input
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x0000003a ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x0000de00 ]
-  [ cmp lte reg 1 0x0000e200 ]
+  [ range eq reg 1 0x0000de00 0x0000e200 ]
 
 # icmpv6 checksum != 222-226
 ip6
@@ -307,8 +305,7 @@ ip6 test-ip6 input
   [ payload load 1b @ transport header + 0 => reg 1 ]
   [ cmp eq reg 1 0x00000002 ]
   [ payload load 4b @ transport header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x21000000 ]
-  [ cmp lte reg 1 0x2d000000 ]
+  [ range eq reg 1 0x21000000 0x2d000000 ]
 
 # icmpv6 mtu != 33-45
 ip6 test-ip6 input
@@ -362,8 +359,7 @@ ip6 test-ip6 input
   [ payload load 1b @ transport header + 0 => reg 1 ]
   [ lookup reg 1 set __set%d ]
   [ payload load 2b @ transport header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # icmpv6 id != 33-45
 __set%d test-ip6 3
@@ -496,8 +492,7 @@ ip6 test-ip6 input
   [ payload load 1b @ transport header + 0 => reg 1 ]
   [ lookup reg 1 set __set%d ]
   [ payload load 2b @ transport header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00000200 ]
-  [ cmp lte reg 1 0x00000400 ]
+  [ range eq reg 1 0x00000200 0x00000400 ]
 
 # icmpv6 sequence != 2-4
 __set%d test-ip6 3
@@ -518,8 +513,7 @@ ip6 test-ip6 input
   [ payload load 1b @ transport header + 0 => reg 1 ]
   [ cmp eq reg 1 0x00000082 ]
   [ payload load 2b @ transport header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # icmpv6 max-delay != 33-45
 ip6 test-ip6 input
index dbb430af7ff66def86d6a8d4a96b8b7169f22315..f0c1843d4b3e1a8ddb9dba374567be8de25aa9d3 100644 (file)
@@ -165,8 +165,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ payload load 2b @ network header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip6 length != 33-45
 inet test-inet input
@@ -244,8 +243,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ payload load 1b @ network header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002c ]
+  [ range eq reg 1 0x00000021 0x0000002c ]
 
 # ip6 nexthdr != 33-44
 inet test-inet input
@@ -273,8 +271,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ payload load 1b @ network header + 7 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # ip6 hoplimit != 33-45
 inet test-inet input
index b1289232f932e50bdbc12e0a7cf35cf04778a298..5118d4f22be56ff6c45e49c993f4769887456327 100644 (file)
@@ -129,8 +129,7 @@ ip6 test-ip6 input
 # ip6 length 33-45
 ip6 test-ip6 input
   [ payload load 2b @ network header + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # ip6 length != 33-45
 ip6 test-ip6 input
@@ -190,8 +189,7 @@ ip6 test-ip6 input
 # ip6 nexthdr 33-44
 ip6 test-ip6 input
   [ payload load 1b @ network header + 6 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002c ]
+  [ range eq reg 1 0x00000021 0x0000002c ]
 
 # ip6 nexthdr != 33-44
 ip6 test-ip6 input
@@ -211,8 +209,7 @@ ip6 test-ip6 input
 # ip6 hoplimit 33-45
 ip6 test-ip6 input
   [ payload load 1b @ network header + 7 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # ip6 hoplimit != 33-45
 ip6 test-ip6 input
index 43ae2ae48244fb21087b9e4451e4bcfd099ed7de..086a6dda827463d88cdd652d5f38dd7ef9b52140 100644 (file)
@@ -100,8 +100,7 @@ ip6 test-ip6 postrouting
 # ip6 daddr fe00::1-fe00::200 udp dport 53 counter masquerade
 ip6 test-ip6 postrouting
   [ payload load 16b @ network header + 24 => reg 1 ]
-  [ cmp gte reg 1 0x000000fe 0x00000000 0x00000000 0x01000000 ]
-  [ cmp lte reg 1 0x000000fe 0x00000000 0x00000000 0x00020000 ]
+  [ range eq reg 1 0x000000fe 0x00000000 0x00000000 0x01000000 0x000000fe 0x00000000 0x00000000 0x00020000 ]
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000011 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
index 54eaa70ea6713229e4ec9493b6b79a1355421936..7ab9b75cedec7e4198b0e12430d2be629893afca 100644 (file)
@@ -65,8 +65,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # mh nexthdr != 33-45
 inet test-inet input
@@ -114,8 +113,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # mh hdrlength != 33-45
 inet test-inet input
@@ -187,8 +185,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # mh reserved != 33-45
 inet test-inet input
@@ -236,8 +233,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # mh checksum != 33-45
 inet test-inet input
index 73bd4226d7454488649eef4ba891fed101ce037e..7edde6e8a8ee6a6edb3419383a1b0b28313505fd 100644 (file)
@@ -47,8 +47,7 @@ ip6 test-ip6 input
 # mh nexthdr 33-45
 ip6 test-ip6 input
   [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # mh nexthdr != 33-45
 ip6 test-ip6 input
@@ -84,8 +83,7 @@ ip6 test-ip6 input
 # mh hdrlength 33-45
 ip6 test-ip6 input
   [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # mh hdrlength != 33-45
 ip6 test-ip6 input
@@ -139,8 +137,7 @@ ip6 test-ip6 input
 # mh reserved 33-45
 ip6 test-ip6 input
   [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # mh reserved != 33-45
 ip6 test-ip6 input
@@ -176,8 +173,7 @@ ip6 test-ip6 input
 # mh checksum 33-45
 ip6 test-ip6 input
   [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
-  [ cmp gte reg 1 0x00002100 ]
-  [ cmp lte reg 1 0x00002d00 ]
+  [ range eq reg 1 0x00002100 0x00002d00 ]
 
 # mh checksum != 33-45
 ip6 test-ip6 input
index cfc290137f923f5ff5d7365427e5c5cecbc90657..832c51da47a485de780b71100a7edcadd2db9aa2 100644 (file)
@@ -166,8 +166,7 @@ ip6 test-ip6 output
 # ip6 daddr fe00::1-fe00::200 udp dport 53 counter redirect
 ip6 test-ip6 output
   [ payload load 16b @ network header + 24 => reg 1 ]
-  [ cmp gte reg 1 0x000000fe 0x00000000 0x00000000 0x01000000 ]
-  [ cmp lte reg 1 0x000000fe 0x00000000 0x00000000 0x00020000 ]
+  [ range eq reg 1 0x000000fe 0x00000000 0x00000000 0x01000000 0x000000fe 0x00000000 0x00000000 0x00020000 ]
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000011 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
index 864d3114b930210cb33827c61d76aa05760e5d2f..6549ab786a43817a5f78c257f45cc4c01fcbc118 100644 (file)
@@ -65,8 +65,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # rt nexthdr != 33-45
 inet test-inet input
@@ -114,8 +113,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # rt hdrlength != 33-45
 inet test-inet input
@@ -163,8 +161,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # rt type != 33-45
 inet test-inet input
@@ -212,8 +209,7 @@ inet test-inet input
   [ meta load nfproto => reg 1 ]
   [ cmp eq reg 1 0x0000000a ]
   [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # rt seg-left != 33-45
 inet test-inet input
index c7b52f82dc281ec1dd2d0aef66d1b2178ea3de00..2b40159b749f9a3111eb958db499b61d56c92962 100644 (file)
@@ -47,8 +47,7 @@ ip6 test-ip6 input
 # rt nexthdr 33-45
 ip6 test-ip6 input
   [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # rt nexthdr != 33-45
 ip6 test-ip6 input
@@ -84,8 +83,7 @@ ip6 test-ip6 input
 # rt hdrlength 33-45
 ip6 test-ip6 input
   [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # rt hdrlength != 33-45
 ip6 test-ip6 input
@@ -121,8 +119,7 @@ ip6 test-ip6 input
 # rt type 33-45
 ip6 test-ip6 input
   [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # rt type != 33-45
 ip6 test-ip6 input
@@ -158,8 +155,7 @@ ip6 test-ip6 input
 # rt seg-left 33-45
 ip6 test-ip6 input
   [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
-  [ cmp gte reg 1 0x00000021 ]
-  [ cmp lte reg 1 0x0000002d ]
+  [ range eq reg 1 0x00000021 0x0000002d ]
 
 # rt seg-left != 33-45
 ip6 test-ip6 input
index 66a29672c61b0d7a5da9141936c8cd2a7125ed40..96a9ba0a3111d06090cee473a76a15e95b7aa7db 100644 (file)
@@ -3,8 +3,7 @@ ip6 test-ip6 postrouting
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000006 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00005000 ]
-  [ cmp lte reg 1 0x00005a00 ]
+  [ range eq reg 1 0x00005000 0x00005a00 ]
   [ immediate reg 1 0x38080120 0x01005f03 0x00000000 0x00000000 ]
   [ immediate reg 2 0x38080120 0x02005f03 0x00000000 0x00000000 ]
   [ immediate reg 3 0x00005000 ]
@@ -16,8 +15,7 @@ ip6 test-ip6 postrouting
   [ meta load l4proto => reg 1 ]
   [ cmp eq reg 1 0x00000006 ]
   [ payload load 2b @ transport header + 2 => reg 1 ]
-  [ cmp gte reg 1 0x00005000 ]
-  [ cmp lte reg 1 0x00005a00 ]
+  [ range eq reg 1 0x00005000 0x00005a00 ]
   [ immediate reg 1 0x38080120 0x01005f03 0x00000000 0x00000000 ]
   [ immediate reg 2 0x38080120 0x02005f03 0x00000000 0x00000000 ]
   [ immediate reg 3 0x00006400 ]