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);
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);
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
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
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
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
# 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
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
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
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
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
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
# 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
# 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
# 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
# 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
# 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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 ]
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
# 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 ]
# 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 ]
[ 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 ]
[ 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 ]
[ 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 ]
[ 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 ]
[ 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 ]
[ 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 ]
[ 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
[ 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
# 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
# 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
[ 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
[ 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
[ 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
# 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
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
# 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
[ 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
[ 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
[ 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
[ 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
[ 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
# 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
# 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
# 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
# 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
# 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
# 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 ]
[ 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
[ 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
[ 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
[ 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
# 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
# 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
# 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
# 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
# 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 ]
[ 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
[ 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
[ 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
[ 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
# 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
# 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
# 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
# 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
[ 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 ]
[ 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 ]