Use new range expression in the kernel to fix wrong bytecode generation.
This patch also adjust tests so we don't hit problems there.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
};
#define NFTA_CMP_MAX (__NFTA_CMP_MAX - 1)
+/**
+ * enum nft_range_ops - nf_tables range operator
+ *
+ * @NFT_RANGE_EQ: equal
+ * @NFT_RANGE_NEQ: not equal
+ */
+enum nft_range_ops {
+ NFT_RANGE_EQ,
+ NFT_RANGE_NEQ,
+};
+
+/**
+ * enum nft_range_attributes - nf_tables range expression netlink attributes
+ *
+ * @NFTA_RANGE_SREG: source register of data to compare (NLA_U32: nft_registers)
+ * @NFTA_RANGE_OP: cmp operation (NLA_U32: nft_cmp_ops)
+ * @NFTA_RANGE_FROM_DATA: data range from (NLA_NESTED: nft_data_attributes)
+ * @NFTA_RANGE_TO_DATA: data range to (NLA_NESTED: nft_data_attributes)
+ */
+enum nft_range_attributes {
+ NFTA_RANGE_UNSPEC,
+ NFTA_RANGE_SREG,
+ NFTA_RANGE_OP,
+ NFTA_RANGE_FROM_DATA,
+ NFTA_RANGE_TO_DATA,
+ __NFTA_RANGE_MAX
+};
+#define NFTA_RANGE_MAX (__NFTA_RANGE_MAX - 1)
+
enum nft_lookup_flags {
NFT_LOOKUP_F_INV = (1 << 0),
};
netlink_set_register(ctx, dreg, expr);
}
+static enum ops netlink_parse_range_op(const struct nftnl_expr *nle)
+{
+ switch (nftnl_expr_get_u32(nle, NFTNL_EXPR_RANGE_OP)) {
+ case NFT_RANGE_EQ:
+ return OP_EQ;
+ case NFT_RANGE_NEQ:
+ return OP_NEQ;
+ default:
+ return OP_INVALID;
+ }
+}
+
+static void netlink_parse_range(struct netlink_parse_ctx *ctx,
+ const struct location *loc,
+ const struct nftnl_expr *nle)
+{
+ struct expr *expr, *left, *right, *from, *to;
+ struct nft_data_delinearize nld;
+ enum nft_registers sreg;
+ enum ops op;
+
+ sreg = netlink_parse_register(nle, NFTNL_EXPR_RANGE_SREG);
+ left = netlink_get_register(ctx, loc, sreg);
+ if (left == NULL)
+ return netlink_error(ctx, loc,
+ "Relational expression has no left hand side");
+
+ op = netlink_parse_range_op(nle);
+
+ nld.value = nftnl_expr_get(nle, NFTNL_EXPR_RANGE_FROM_DATA, &nld.len);
+ from = netlink_alloc_value(loc, &nld);
+
+ nld.value = nftnl_expr_get(nle, NFTNL_EXPR_RANGE_TO_DATA, &nld.len);
+ to = netlink_alloc_value(loc, &nld);
+
+ right = range_expr_alloc(loc, from, to);
+ expr = relational_expr_alloc(loc, op, left, right);
+ ctx->stmt = expr_stmt_alloc(loc, expr);
+}
+
static enum ops netlink_parse_cmp_op(const struct nftnl_expr *nle)
{
switch (nftnl_expr_get_u32(nle, NFTNL_EXPR_CMP_OP)) {
{ .name = "counter", .parse = netlink_parse_counter },
{ .name = "log", .parse = netlink_parse_log },
{ .name = "limit", .parse = netlink_parse_limit },
+ { .name = "range", .parse = netlink_parse_range },
{ .name = "reject", .parse = netlink_parse_reject },
{ .name = "nat", .parse = netlink_parse_nat },
{ .name = "masq", .parse = netlink_parse_masq },
}
}
break;
+ case EXPR_RANGE:
+ binop_adjust_one(binop, right->left, shift);
+ binop_adjust_one(binop, right->right, shift);
+ break;
default:
BUG("unknown expression type %s\n", right->ops->name);
break;
sreg = get_register(ctx, expr->left);
netlink_gen_expr(ctx, expr->left, sreg);
- nle = alloc_nft_expr("cmp");
- netlink_put_register(nle, NFTNL_EXPR_CMP_SREG, sreg);
switch (expr->op) {
case OP_NEQ:
- nftnl_expr_set_u32(nle, NFTNL_EXPR_CMP_OP,
- netlink_gen_cmp_op(OP_LT));
+ 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);
+ netlink_gen_data(range->left, &nld);
+ nftnl_expr_set(nle, NFTNL_EXPR_RANGE_FROM_DATA,
+ nld.value, nld.len);
+ netlink_gen_data(range->right, &nld);
+ nftnl_expr_set(nle, NFTNL_EXPR_RANGE_TO_DATA,
+ nld.value, nld.len);
+ nftnl_rule_add_expr(ctx->nlr, nle);
break;
case OP_RANGE:
case OP_EQ:
+ 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));
- break;
- default:
- BUG("invalid range operation %u\n", expr->op);
- }
-
- netlink_gen_data(range->left, &nld);
- nftnl_expr_set(nle, NFTNL_EXPR_CMP_DATA, nld.value, nld.len);
- nftnl_rule_add_expr(ctx->nlr, nle);
+ netlink_gen_data(range->left, &nld);
+ nftnl_expr_set(nle, NFTNL_EXPR_CMP_DATA, nld.value, nld.len);
+ nftnl_rule_add_expr(ctx->nlr, nle);
- nle = alloc_nft_expr("cmp");
- netlink_put_register(nle, NFTNL_EXPR_CMP_SREG, sreg);
- switch (expr->op) {
- case OP_NEQ:
- nftnl_expr_set_u32(nle, NFTNL_EXPR_CMP_OP,
- netlink_gen_cmp_op(OP_GT));
- break;
- case OP_RANGE:
- case OP_EQ:
+ 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);
+ nftnl_rule_add_expr(ctx->nlr, nle);
break;
default:
BUG("invalid range operation %u\n", expr->op);
- }
- netlink_gen_data(range->right, &nld);
- nftnl_expr_set(nle, NFTNL_EXPR_CMP_DATA, nld.value, nld.len);
- nftnl_rule_add_expr(ctx->nlr, nle);
+ }
release_register(ctx, expr->left);
}
ip test-ip4 output
[ ct load mark => reg 1 ]
[ byteorder reg 1 = hton(reg 1, 4, 4) ]
- [ cmp lt reg 1 0x32000000 ]
- [ cmp gt reg 1 0x45000000 ]
+ [ range neq reg 1 0x32000000 0x45000000 ]
# ct mark {0x32, 0x2222, 0x42de3}
__set%d test-ip4 3
ip test-ip4 output
[ ct load expiration => reg 1 ]
[ byteorder reg 1 = hton(reg 1, 4, 4) ]
- [ cmp lt reg 1 0xe8800000 ]
- [ cmp gt reg 1 0xc8af0000 ]
+ [ range neq reg 1 0xe8800000 0xc8af0000 ]
# ct expiration {33, 55, 67, 88}
__set%d test-ip4 3
ip test-ip4 input
[ meta load len => reg 1 ]
[ byteorder reg 1 = hton(reg 1, 4, 4) ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# meta length { 33, 55, 67, 88}
__set%d test-ip4 3
ip test-ip4 input
[ meta load l4proto => reg 1 ]
[ byteorder reg 1 = hton(reg 1, 2, 1) ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# meta l4proto { 33, 55, 67, 88}
__set%d test-ip4 3
ip test-ip4 input
[ meta load skuid => reg 1 ]
[ byteorder reg 1 = hton(reg 1, 4, 4) ]
- [ cmp lt reg 1 0xd1070000 ]
- [ cmp gt reg 1 0xd5070000 ]
+ [ range neq reg 1 0xd1070000 0xd5070000 ]
[ 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 lt reg 1 0xd1070000 ]
- [ cmp gt reg 1 0xd5070000 ]
+ [ range neq 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 lt reg 1 0x01000000 ]
- [ cmp gt reg 1 0x02000000 ]
+ [ range neq reg 1 0x01000000 0x02000000 ]
# meta cpu { 2,3}
__set%d test-ip4 3
ip test-ip4 input
[ meta load cgroup => reg 1 ]
[ byteorder reg 1 = hton(reg 1, 4, 4) ]
- [ cmp lt reg 1 0x01001000 ]
- [ cmp gt reg 1 0x02001000 ]
+ [ range neq reg 1 0x01001000 0x02001000 ]
# meta cgroup {1048577-1048578}
__set%d test-ip4 7
ip test-ip4 input
[ meta load priority => reg 1 ]
[ byteorder reg 1 = hton(reg 1, 4, 4) ]
- [ cmp lt reg 1 0xdadaadbc ]
- [ cmp gt reg 1 0xdcdaadbc ]
+ [ range neq reg 1 0xdadaadbc 0xdcdaadbc ]
# meta priority {bcad:dada, bcad:dadc, aaaa:bbbb}
__set%d test-ip4 3
# arp htype != 33-45
arp test-arp input
[ payload load 2b @ network header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# arp htype { 33, 55, 67, 88}
__set%d test-arp 3
# arp hlen != 33-45
arp test-arp input
[ payload load 1b @ network header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# arp hlen { 33, 55, 67, 88}
__set%d test-arp 3
# arp plen != 33-45
arp test-arp input
[ payload load 1b @ network header + 5 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# arp plen { 33, 55, 67, 88}
__set%d test-arp 3
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000608 ]
[ payload load 2b @ network header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# arp htype { 33, 55, 67, 88}
__set%d test-netdev 3
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000608 ]
[ payload load 1b @ network header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# arp hlen { 33, 55, 67, 88}
__set%d test-netdev 3
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000608 ]
[ payload load 1b @ network header + 5 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# arp plen { 33, 55, 67, 88}
__set%d test-netdev 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 1b @ transport header + 1 => reg 1 ]
- [ cmp lt reg 1 0x0000000b ]
- [ cmp gt reg 1 0x00000017 ]
+ [ range neq reg 1 0x0000000b 0x00000017 ]
# ah hdrlength { 11-23}
__set%d test-inet 7
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ah reserved {23, 100}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x6f000000 ]
- [ cmp gt reg 1 0xde000000 ]
+ [ range neq reg 1 0x6f000000 0xde000000 ]
# ah spi {111, 122}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x17000000 ]
- [ cmp gt reg 1 0x21000000 ]
+ [ range neq reg 1 0x17000000 0x21000000 ]
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 1b @ transport header + 1 => reg 1 ]
- [ cmp lt reg 1 0x0000000b ]
- [ cmp gt reg 1 0x00000017 ]
+ [ range neq reg 1 0x0000000b 0x00000017 ]
# ah hdrlength { 11-23}
__set%d test-ip4 7
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ah reserved {23, 100}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x6f000000 ]
- [ cmp gt reg 1 0xde000000 ]
+ [ range neq reg 1 0x6f000000 0xde000000 ]
# ah spi {111, 122}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x17000000 ]
- [ cmp gt reg 1 0x21000000 ]
+ [ range neq reg 1 0x17000000 0x21000000 ]
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 1b @ transport header + 1 => reg 1 ]
- [ cmp lt reg 1 0x0000000b ]
- [ cmp gt reg 1 0x00000017 ]
+ [ range neq reg 1 0x0000000b 0x00000017 ]
# ah hdrlength { 11-23}
__set%d test-ip6 7
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ah reserved {23, 100}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x6f000000 ]
- [ cmp gt reg 1 0xde000000 ]
+ [ range neq reg 1 0x6f000000 0xde000000 ]
# ah spi {111, 122}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x17000000 ]
- [ cmp gt reg 1 0x21000000 ]
+ [ range neq reg 1 0x17000000 0x21000000 ]
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 1b @ transport header + 1 => reg 1 ]
- [ cmp lt reg 1 0x0000000b ]
- [ cmp gt reg 1 0x00000017 ]
+ [ range neq reg 1 0x0000000b 0x00000017 ]
# ah hdrlength { 11-23}
__set%d test-netdev 7
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ah reserved {23, 100}
__set%d test-netdev 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x6f000000 ]
- [ cmp gt reg 1 0xde000000 ]
+ [ range neq reg 1 0x6f000000 0xde000000 ]
# ah spi {111, 122}
__set%d test-netdev 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x17000000 ]
- [ cmp gt reg 1 0x21000000 ]
+ [ range neq reg 1 0x17000000 0x21000000 ]
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x0000006c ]
[ payload load 1b @ transport header + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000033 ]
- [ cmp gt reg 1 0x00000045 ]
+ [ range neq reg 1 0x00000033 0x00000045 ]
# comp flags {0x33, 0x55, 0x67, 0x88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x0000006c ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# comp cpi {33, 55, 67, 88}
__set%d test-inet 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x0000006c ]
[ payload load 1b @ transport header + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000033 ]
- [ cmp gt reg 1 0x00000045 ]
+ [ range neq reg 1 0x00000033 0x00000045 ]
# comp flags {0x33, 0x55, 0x67, 0x88}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x0000006c ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# comp cpi {33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x0000006c ]
[ payload load 1b @ transport header + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000033 ]
- [ cmp gt reg 1 0x00000045 ]
+ [ range neq reg 1 0x00000033 0x00000045 ]
# comp flags {0x33, 0x55, 0x67, 0x88}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x0000006c ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# comp cpi {33, 55, 67, 88}
__set%d test-ip6 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x0000006c ]
[ payload load 1b @ transport header + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000033 ]
- [ cmp gt reg 1 0x00000045 ]
+ [ range neq reg 1 0x00000033 0x00000045 ]
# comp flags {0x33, 0x55, 0x67, 0x88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x0000006c ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# comp cpi {33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000021 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00001500 ]
- [ cmp gt reg 1 0x00002300 ]
+ [ range neq reg 1 0x00001500 0x00002300 ]
# dccp sport {23, 24, 25}
__set%d test-inet 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000021 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00001500 ]
- [ cmp gt reg 1 0x00002300 ]
+ [ range neq reg 1 0x00001500 0x00002300 ]
# dccp sport {23, 24, 25}
__set%d test-ip4 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000021 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00001500 ]
- [ cmp gt reg 1 0x00002300 ]
+ [ range neq reg 1 0x00001500 0x00002300 ]
# dccp sport {23, 24, 25}
__set%d test-ip4 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000021 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00001500 ]
- [ cmp gt reg 1 0x00002300 ]
+ [ range neq reg 1 0x00001500 0x00002300 ]
# dccp sport {23, 24, 25}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000032 ]
[ payload load 4b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x6f000000 ]
- [ cmp gt reg 1 0xde000000 ]
+ [ range neq reg 1 0x6f000000 0xde000000 ]
# esp spi { 100, 102}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000032 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x16000000 ]
- [ cmp gt reg 1 0x18000000 ]
+ [ range neq reg 1 0x16000000 0x18000000 ]
# esp sequence { 22, 24}
__set%d test-inet 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000032 ]
[ payload load 4b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x6f000000 ]
- [ cmp gt reg 1 0xde000000 ]
+ [ range neq reg 1 0x6f000000 0xde000000 ]
# esp spi { 100, 102}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000032 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x16000000 ]
- [ cmp gt reg 1 0x18000000 ]
+ [ range neq reg 1 0x16000000 0x18000000 ]
# esp sequence { 22, 24}
__set%d test-ip4 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000032 ]
[ payload load 4b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x6f000000 ]
- [ cmp gt reg 1 0xde000000 ]
+ [ range neq reg 1 0x6f000000 0xde000000 ]
# esp spi { 100, 102}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000032 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x16000000 ]
- [ cmp gt reg 1 0x18000000 ]
+ [ range neq reg 1 0x16000000 0x18000000 ]
# esp sequence { 22, 24}
__set%d test-ip6 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000032 ]
[ payload load 4b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x6f000000 ]
- [ cmp gt reg 1 0xde000000 ]
+ [ range neq reg 1 0x6f000000 0xde000000 ]
# esp spi { 100, 102}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000032 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x16000000 ]
- [ cmp gt reg 1 0x18000000 ]
+ [ range neq reg 1 0x16000000 0x18000000 ]
# esp sequence { 22, 24}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00001700 ]
- [ cmp gt reg 1 0x00002c00 ]
+ [ range neq reg 1 0x00001700 0x00002c00 ]
# sctp sport { 23, 24, 25}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00001700 ]
- [ cmp gt reg 1 0x00002c00 ]
+ [ range neq reg 1 0x00001700 0x00002c00 ]
# sctp dport { 23, 24, 25}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x20000000 ]
- [ cmp gt reg 1 0x6f000000 ]
+ [ range neq reg 1 0x20000000 0x6f000000 ]
# sctp checksum { 22, 33, 44}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# sctp vtag {33, 55, 67, 88}
__set%d test-inet 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00001700 ]
- [ cmp gt reg 1 0x00002c00 ]
+ [ range neq reg 1 0x00001700 0x00002c00 ]
# sctp sport { 23, 24, 25}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00001700 ]
- [ cmp gt reg 1 0x00002c00 ]
+ [ range neq reg 1 0x00001700 0x00002c00 ]
# sctp dport { 23, 24, 25}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x20000000 ]
- [ cmp gt reg 1 0x6f000000 ]
+ [ range neq reg 1 0x20000000 0x6f000000 ]
# sctp checksum { 22, 33, 44}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# sctp vtag {33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00001700 ]
- [ cmp gt reg 1 0x00002c00 ]
+ [ range neq reg 1 0x00001700 0x00002c00 ]
# sctp sport { 23, 24, 25}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00001700 ]
- [ cmp gt reg 1 0x00002c00 ]
+ [ range neq reg 1 0x00001700 0x00002c00 ]
# sctp dport { 23, 24, 25}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x20000000 ]
- [ cmp gt reg 1 0x6f000000 ]
+ [ range neq reg 1 0x20000000 0x6f000000 ]
# sctp checksum { 22, 33, 44}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# sctp vtag {33, 55, 67, 88}
__set%d test-ip6 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00001700 ]
- [ cmp gt reg 1 0x00002c00 ]
+ [ range neq reg 1 0x00001700 0x00002c00 ]
# sctp sport { 23, 24, 25}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00001700 ]
- [ cmp gt reg 1 0x00002c00 ]
+ [ range neq reg 1 0x00001700 0x00002c00 ]
# sctp dport { 23, 24, 25}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x20000000 ]
- [ cmp gt reg 1 0x6f000000 ]
+ [ range neq reg 1 0x20000000 0x6f000000 ]
# sctp checksum { 22, 33, 44}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000084 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# sctp vtag {33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp dport { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp sport { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# tcp sequence { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# tcp ackseq { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 14 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp window { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 16 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp checksum { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 18 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp urgptr { 33, 55, 67, 88}
__set%d test-inet 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp dport { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp sport { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# tcp sequence { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# tcp ackseq { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 14 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp window { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 16 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp checksum { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 18 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp urgptr { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp dport { 33, 55, 67, 88}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp sport { 33, 55, 67, 88}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# tcp sequence { 33, 55, 67, 88}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# tcp ackseq { 33, 55, 67, 88}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 14 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp window { 33, 55, 67, 88}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 16 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp checksum { 33, 55, 67, 88}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 18 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp urgptr { 33, 55, 67, 88}
__set%d test-ip6 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp dport { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp sport { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# tcp sequence { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 4b @ transport header + 8 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# tcp ackseq { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 14 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp window { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 16 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp checksum { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 18 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# tcp urgptr { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udp sport { 49, 50} drop
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udp dport { 49, 50} drop
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00004100 ]
+ [ range neq 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 lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# udp checksum { 33, 55, 67, 88}
__set%d test-inet 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udp sport { 49, 50} drop
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udp dport { 49, 50} drop
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00004100 ]
+ [ range neq reg 1 0x00003200 0x00004100 ]
[ immediate reg 0 accept ]
# udp length { 50, 65} accept
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# udp checksum { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udp sport { 49, 50} drop
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udp dport { 49, 50} drop
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00004100 ]
+ [ range neq reg 1 0x00003200 0x00004100 ]
[ immediate reg 0 accept ]
# udp length { 50, 65} accept
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# udp checksum { 33, 55, 67, 88}
__set%d test-ip6 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udp sport { 49, 50} drop
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udp dport { 49, 50} drop
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ payload load 2b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00004100 ]
+ [ range neq 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 lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# udp checksum { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udplite sport { 49, 50} drop
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udplite dport { 49, 50} drop
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# udplite checksum { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udplite sport { 49, 50} drop
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udplite dport { 49, 50} drop
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# udplite checksum { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udplite sport { 49, 50} drop
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udplite dport { 49, 50} drop
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# udplite checksum { 33, 55, 67, 88}
__set%d test-ip4 3
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 0 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udplite sport { 49, 50} drop
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00003200 ]
- [ cmp gt reg 1 0x00003c00 ]
+ [ range neq reg 1 0x00003200 0x00003c00 ]
[ immediate reg 0 accept ]
# udplite dport { 49, 50} drop
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000088 ]
[ payload load 2b @ transport header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# udplite checksum { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00005000 ]
- [ cmp gt reg 1 0x00005a00 ]
+ [ range neq reg 1 0x00005000 0x00005a00 ]
[ immediate reg 1 0x0203a8c0 ]
[ nat dnat ip addr_min reg 1 addr_max reg 0 ]
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00001700 ]
- [ cmp gt reg 1 0x00002200 ]
+ [ range neq reg 1 0x00001700 0x00002200 ]
[ immediate reg 1 0x0203a8c0 ]
[ nat dnat ip addr_min reg 1 addr_max reg 0 ]
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
[ payload load 1b @ transport header + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x00000037 ]
+ [ range neq reg 1 0x00000021 0x00000037 ]
# icmp code { 33-55}
__set%d test-ip4 7
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00000b00 ]
- [ cmp gt reg 1 0x00005701 ]
+ [ range neq reg 1 0x00000b00 0x00005701 ]
[ immediate reg 0 accept ]
# icmp checksum { 11-343} accept
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
[ payload load 2b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# icmp id { 33-55}
__set%d test-ip4 7
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
[ payload load 2b @ transport header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# icmp sequence { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
[ payload load 2b @ transport header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# icmp mtu { 33, 55, 67, 88}
__set%d test-ip4 3
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# icmp gateway { 33, 55, 67, 88}
__set%d test-ip4 3
# ip length != 333-453
ip test-ip4 input
[ payload load 2b @ network header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00004d01 ]
- [ cmp gt reg 1 0x0000c501 ]
+ [ range neq reg 1 0x00004d01 0x0000c501 ]
# ip length { 333, 553, 673, 838}
__set%d test-ip4 3
# ip id != 33-45
ip test-ip4 input
[ payload load 2b @ network header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ip id { 33, 55, 67, 88}
__set%d test-ip4 3
# ip frag-off != 33-45
ip test-ip4 input
[ payload load 2b @ network header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ip frag-off { 33, 55, 67, 88}
__set%d test-ip4 3
# ip ttl != 45-50
ip test-ip4 input
[ payload load 1b @ network header + 8 => reg 1 ]
- [ cmp lt reg 1 0x0000002d ]
- [ cmp gt reg 1 0x00000032 ]
+ [ range neq reg 1 0x0000002d 0x00000032 ]
# ip ttl {43, 53, 45 }
__set%d test-ip4 3
# ip checksum != 33-45
ip test-ip4 input
[ payload load 2b @ network header + 10 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ip checksum { 33, 55, 67, 88}
__set%d test-ip4 3
# ip daddr != 192.168.0.1-192.168.0.250
ip test-ip4 input
[ payload load 4b @ network header + 16 => reg 1 ]
- [ cmp lt reg 1 0x0100a8c0 ]
- [ cmp gt reg 1 0xfa00a8c0 ]
+ [ range neq reg 1 0x0100a8c0 0xfa00a8c0 ]
# ip daddr { 192.168.0.1-192.168.0.250}
__set%d test-ip4 7
# ip daddr != 192.168.1.2-192.168.1.55
ip test-ip4 input
[ payload load 4b @ network header + 16 => reg 1 ]
- [ cmp lt reg 1 0x0201a8c0 ]
- [ cmp gt reg 1 0x3701a8c0 ]
+ [ range neq reg 1 0x0201a8c0 0x3701a8c0 ]
# ip saddr 192.168.1.3-192.168.33.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 lt reg 1 0x0301a8c0 ]
- [ cmp gt reg 1 0x3721a8c0 ]
+ [ range neq reg 1 0x0301a8c0 0x3721a8c0 ]
# ip daddr 192.168.0.1
ip test-ip4 input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x00000002 ]
[ payload load 2b @ network header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00004d01 ]
- [ cmp gt reg 1 0x0000c501 ]
+ [ range neq reg 1 0x00004d01 0x0000c501 ]
# ip length { 333, 553, 673, 838}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x00000002 ]
[ payload load 2b @ network header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ip id { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x00000002 ]
[ payload load 2b @ network header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ip frag-off { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x00000002 ]
[ payload load 1b @ network header + 8 => reg 1 ]
- [ cmp lt reg 1 0x0000002d ]
- [ cmp gt reg 1 0x00000032 ]
+ [ range neq reg 1 0x0000002d 0x00000032 ]
# ip ttl {43, 53, 45 }
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x00000002 ]
[ payload load 2b @ network header + 10 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ip checksum { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x00000002 ]
[ payload load 4b @ network header + 16 => reg 1 ]
- [ cmp lt reg 1 0x0100a8c0 ]
- [ cmp gt reg 1 0xfa00a8c0 ]
+ [ range neq reg 1 0x0100a8c0 0xfa00a8c0 ]
# ip daddr { 192.168.0.1-192.168.0.250}
__set%d test-inet 7
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x00000002 ]
[ payload load 4b @ network header + 16 => reg 1 ]
- [ cmp lt reg 1 0x0201a8c0 ]
- [ cmp gt reg 1 0x3701a8c0 ]
+ [ range neq reg 1 0x0201a8c0 0x3701a8c0 ]
# ip saddr 192.168.1.3-192.168.33.55
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x00000002 ]
[ payload load 4b @ network header + 12 => reg 1 ]
- [ cmp lt reg 1 0x0301a8c0 ]
- [ cmp gt reg 1 0x3721a8c0 ]
+ [ range neq reg 1 0x0301a8c0 0x3721a8c0 ]
# ip daddr 192.168.0.1
inet test-inet input
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000008 ]
[ payload load 2b @ network header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00004d01 ]
- [ cmp gt reg 1 0x0000c501 ]
+ [ range neq reg 1 0x00004d01 0x0000c501 ]
# ip length { 333, 553, 673, 838}
__set%d test-netdev 3
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000008 ]
[ payload load 2b @ network header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ip id { 33, 55, 67, 88}
__set%d test-netdev 3
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000008 ]
[ payload load 2b @ network header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ip frag-off { 33, 55, 67, 88}
__set%d test-netdev 3
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000008 ]
[ payload load 1b @ network header + 8 => reg 1 ]
- [ cmp lt reg 1 0x0000002d ]
- [ cmp gt reg 1 0x00000032 ]
+ [ range neq reg 1 0x0000002d 0x00000032 ]
# ip ttl {43, 53, 45 }
__set%d test-netdev 3
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000008 ]
[ payload load 2b @ network header + 10 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ip checksum { 33, 55, 67, 88}
__set%d test-netdev 3
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000008 ]
[ payload load 4b @ network header + 16 => reg 1 ]
- [ cmp lt reg 1 0x0100a8c0 ]
- [ cmp gt reg 1 0xfa00a8c0 ]
+ [ range neq reg 1 0x0100a8c0 0xfa00a8c0 ]
# ip daddr { 192.168.0.1-192.168.0.250}
__set%d test-netdev 7
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000008 ]
[ payload load 4b @ network header + 16 => reg 1 ]
- [ cmp lt reg 1 0x0201a8c0 ]
- [ cmp gt reg 1 0x3701a8c0 ]
+ [ range neq reg 1 0x0201a8c0 0x3701a8c0 ]
# ip saddr 192.168.1.3-192.168.33.55
netdev test-netdev ingress
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000008 ]
[ payload load 4b @ network header + 12 => reg 1 ]
- [ cmp lt reg 1 0x0301a8c0 ]
- [ cmp gt reg 1 0x3721a8c0 ]
+ [ range neq reg 1 0x0301a8c0 0x3721a8c0 ]
# ip daddr 192.168.0.1
netdev test-netdev ingress
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00005000 ]
- [ cmp gt reg 1 0x00005a00 ]
+ [ range neq reg 1 0x00005000 0x00005a00 ]
[ immediate reg 1 0x0203a8c0 ]
[ nat snat ip addr_min reg 1 addr_max reg 0 ]
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
[ payload load 2b @ transport header + 2 => reg 1 ]
- [ cmp lt reg 1 0x00001700 ]
- [ cmp gt reg 1 0x00002200 ]
+ [ range neq reg 1 0x00001700 0x00002200 ]
[ immediate reg 1 0x0203a8c0 ]
[ nat snat ip addr_min reg 1 addr_max reg 0 ]
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 60 + 0 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# dst nexthdr { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 60 + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# dst hdrlength { 33, 55, 67, 88}
__set%d test-ip6 3
# dst nexthdr != 33-45
ip6 test-ip6 input
[ exthdr load 1b @ 60 + 0 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# dst nexthdr { 33, 55, 67, 88}
__set%d test-ip6 3
# dst hdrlength != 33-45
ip6 test-ip6 input
[ exthdr load 1b @ 60 + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# dst hdrlength { 33, 55, 67, 88}
__set%d test-ip6 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 44 + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# frag reserved { 33, 55, 67, 88}
__set%d test-inet 3
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
- [ cmp lt reg 1 0x00000801 ]
- [ cmp gt reg 1 0x00006801 ]
+ [ range neq reg 1 0x00000801 0x00006801 ]
# frag frag-off { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 4b @ 44 + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# frag id { 33, 55, 67, 88}
__set%d test-inet 3
# frag reserved != 33-45
ip6 test-ip6 output
[ exthdr load 1b @ 44 + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# frag reserved { 33, 55, 67, 88}
__set%d test-ip6 3
ip6 test-ip6 output
[ exthdr load 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
- [ cmp lt reg 1 0x00000801 ]
- [ cmp gt reg 1 0x00006801 ]
+ [ range neq reg 1 0x00000801 0x00006801 ]
# frag frag-off { 33, 55, 67, 88}
__set%d test-ip6 3
# frag id != 33-45
ip6 test-ip6 output
[ exthdr load 4b @ 44 + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# frag id { 33, 55, 67, 88}
__set%d test-ip6 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 0 + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# hbh hdrlength {33, 55, 67, 88}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 0 + 0 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# hbh nexthdr {33, 55, 67, 88}
__set%d test-inet 3
# hbh hdrlength != 33-45
ip6 test-ip6 filter-input
[ exthdr load 1b @ 0 + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# hbh hdrlength {33, 55, 67, 88}
__set%d test-ip6 3
# hbh nexthdr != 33-45
ip6 test-ip6 filter-input
[ exthdr load 1b @ 0 + 0 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# hbh nexthdr {33, 55, 67, 88}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x0000003a ]
[ payload load 4b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x21000000 ]
- [ cmp gt reg 1 0x2d000000 ]
+ [ range neq reg 1 0x21000000 0x2d000000 ]
# icmpv6 mtu {33, 55, 67, 88}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x0000003a ]
[ payload load 2b @ transport header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# icmpv6 id {33, 55, 67, 88}
__set%d test-ip6 3
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x0000003a ]
[ payload load 2b @ transport header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00000200 ]
- [ cmp gt reg 1 0x00000400 ]
+ [ range neq reg 1 0x00000200 0x00000400 ]
# icmpv6 sequence { 2-4}
__set%d test-ip6 7
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ payload load 2b @ network header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ip6 length { 33-55}
__set%d test-inet 7
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ payload load 1b @ network header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002c ]
+ [ range neq reg 1 0x00000021 0x0000002c ]
# ip6 hoplimit 1
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ payload load 1b @ network header + 7 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# ip6 hoplimit {33, 55, 67, 88}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ payload load 16b @ network header + 24 => reg 1 ]
- [ cmp lt reg 1 0x34120000 0x34123412 0x34123412 0x34123412 ]
- [ cmp gt reg 1 0x34123412 0x34120000 0x34123412 0x34123412 ]
+ [ range neq reg 1 0x34120000 0x34123412 0x34123412 0x34123412 0x34123412 0x34120000 0x34123412 0x34123412 ]
# iif "lo" ip6 daddr set ::1
inet test-inet input
# ip6 length != 33-45
ip6 test-ip6 input
[ payload load 2b @ network header + 4 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# ip6 length { 33-55}
__set%d test-ip6 7
# ip6 nexthdr != 33-44
ip6 test-ip6 input
[ payload load 1b @ network header + 6 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002c ]
+ [ range neq reg 1 0x00000021 0x0000002c ]
# ip6 hoplimit 1
ip6 test-ip6 input
# ip6 hoplimit != 33-45
ip6 test-ip6 input
[ payload load 1b @ network header + 7 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# ip6 hoplimit {33, 55, 67, 88}
__set%d test-ip6 3
# ip6 daddr != ::1234:1234:1234:1234:1234:1234:1234-1234:1234::1234:1234:1234:1234:1234
ip6 test-ip6 input
[ payload load 16b @ network header + 24 => reg 1 ]
- [ cmp lt reg 1 0x34120000 0x34123412 0x34123412 0x34123412 ]
- [ cmp gt reg 1 0x34123412 0x34120000 0x34123412 0x34123412 ]
+ [ range neq reg 1 0x34120000 0x34123412 0x34123412 0x34123412 0x34123412 0x34120000 0x34123412 0x34123412 ]
# iif "lo" ip6 daddr set ::1
ip6 test-ip6 input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 135 + 0 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# mh nexthdr { 33, 55, 67, 88 }
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 135 + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# mh hdrlength { 33, 55, 67, 88 }
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 135 + 3 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# mh reserved { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 2b @ 135 + 4 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# mh checksum { 33, 55, 67, 88}
__set%d test-inet 3
# mh nexthdr != 33-45
ip6 test-ip6 input
[ exthdr load 1b @ 135 + 0 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# mh nexthdr { 33, 55, 67, 88 }
__set%d test-ip6 3
# mh hdrlength != 33-45
ip6 test-ip6 input
[ exthdr load 1b @ 135 + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# mh hdrlength { 33, 55, 67, 88 }
__set%d test-ip6 3
# mh reserved != 33-45
ip6 test-ip6 input
[ exthdr load 1b @ 135 + 3 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# mh reserved { 33, 55, 67, 88}
__set%d test-ip6 3
# mh checksum != 33-45
ip6 test-ip6 input
[ exthdr load 2b @ 135 + 4 => reg 1 ]
- [ cmp lt reg 1 0x00002100 ]
- [ cmp gt reg 1 0x00002d00 ]
+ [ range neq reg 1 0x00002100 0x00002d00 ]
# mh checksum { 33, 55, 67, 88}
__set%d test-ip6 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 43 + 0 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# rt nexthdr { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 43 + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# rt hdrlength { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 43 + 2 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# rt type { 33, 55, 67, 88}
__set%d test-inet 3
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ exthdr load 1b @ 43 + 3 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# rt seg-left { 33, 55, 67, 88}
__set%d test-inet 3
# rt nexthdr != 33-45
ip6 test-ip6 input
[ exthdr load 1b @ 43 + 0 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# rt nexthdr { 33, 55, 67, 88}
__set%d test-ip6 3
# rt hdrlength != 33-45
ip6 test-ip6 input
[ exthdr load 1b @ 43 + 1 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# rt hdrlength { 33, 55, 67, 88}
__set%d test-ip6 3
# rt type != 33-45
ip6 test-ip6 input
[ exthdr load 1b @ 43 + 2 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# rt type { 33, 55, 67, 88}
__set%d test-ip6 3
# rt seg-left != 33-45
ip6 test-ip6 input
[ exthdr load 1b @ 43 + 3 => reg 1 ]
- [ cmp lt reg 1 0x00000021 ]
- [ cmp gt reg 1 0x0000002d ]
+ [ range neq reg 1 0x00000021 0x0000002d ]
# rt seg-left { 33, 55, 67, 88}
__set%d test-ip6 3