EXTENSION HEADER EXPRESSIONS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Extension header expressions refer to data from variable-sized protocol headers, such as IPv6 extension headers and TCP options.
+Extension header expressions refer to data from variable-sized protocol headers, such as IPv6 extension headers, TCP options and IPv4 options.
-nftables currently supports matching (finding) a given ipv6 extension header or TCP option.
+nftables currently supports matching (finding) a given ipv6 extension header, TCP option or IPv4 option.
[verse]
*hbh* {*nexthdr* | *hdrlength*}
*frag* {*nexthdr* | *frag-off* | *more-fragments* | *id*}
*mh* {*nexthdr* | *hdrlength* | *checksum* | *type*}
*srh* {*flags* | *tag* | *sid* | *seg-left*}
*tcp option* {*eol* | *noop* | *maxseg* | *window* | *sack-permitted* | *sack* | *sack0* | *sack1* | *sack2* | *sack3* | *timestamp*} 'tcp_option_field'
+*ip option* { lsrr | ra | rr | ssrr } 'ip_option_field'
The following syntaxes are valid only in a relational expression with boolean type on right-hand side for checking header existence only:
[verse]
*exthdr* {*hbh* | *frag* | *rt* | *dst* | *mh*}
*tcp option* {*eol* | *noop* | *maxseg* | *window* | *sack-permitted* | *sack* | *sack0* | *sack1* | *sack2* | *sack3* | *timestamp*}
+*ip option* { lsrr | ra | rr | ssrr }
.IPv6 extension headers
[options="header"]
kind, length, tsval, tsecr
|============================
+.IP Options
+[options="header"]
+|==================
+|Keyword| Description | IP option fields
+|lsrr|
+Loose Source Route |
+type, length, ptr, addr
+|ra|
+Router Alert |
+type, length, value
+|rr|
+Record Route |
+type, length, ptr, addr
+|ssrr|
+Strict Source Route |
+type, length, ptr, addr
+|============================
+
.finding TCP options
--------------------
filter input tcp option sack-permitted kind 1 counter
ip6 filter input frag more-fragments 1 counter
---------------------------------------
+.finding IP option
+------------------
+filter input ip option lsrr exists counter
+---------------------------------------
+
CONNTRACK EXPRESSIONS
~~~~~~~~~~~~~~~~~~~~~
Conntrack expressions refer to meta data of the connection tracking entry associated with a packet. +
expression.h \
fib.h \
hash.h \
+ ipopt.h \
json.h \
mini-gmp.h \
gmputil.h \
#include <proto.h>
#include <tcpopt.h>
+#include <ipopt.h>
/**
* struct exthdr_desc - extension header description
*
* @NFT_EXTHDR_OP_IPV6: match against ipv6 extension headers
* @NFT_EXTHDR_OP_TCP: match against tcp options
+ * @NFT_EXTHDR_OP_IPV4: match against ip options
*/
enum nft_exthdr_op {
NFT_EXTHDR_OP_IPV6,
NFT_EXTHDR_OP_TCPOPT,
+ NFT_EXTHDR_OP_IPV4,
__NFT_EXTHDR_OP_MAX
};
#define NFT_EXTHDR_OP_MAX (__NFT_EXTHDR_OP_MAX - 1)
exthdr.c \
fib.c \
hash.c \
+ ipopt.c \
meta.c \
rt.c \
numgen.c \
totlen, max_tcpoptlen);
break;
}
+ case NFT_EXTHDR_OP_IPV4: {
+ static const unsigned int max_ipoptlen = 40 * BITS_PER_BYTE;
+ unsigned int totlen = 0;
+
+ totlen += expr->exthdr.tmpl->offset;
+ totlen += expr->exthdr.tmpl->len;
+ totlen += expr->exthdr.offset;
+
+ if (totlen > max_ipoptlen)
+ return expr_error(ctx->msgs, expr,
+ "offset and size %u exceeds max ip option len (%u)",
+ totlen, max_ipoptlen);
+ break;
+ }
default:
break;
}
dependency = &proto_tcp;
pb = PROTO_BASE_TRANSPORT_HDR;
break;
+ case NFT_EXTHDR_OP_IPV4:
+ dependency = &proto_ip;
+ break;
case NFT_EXTHDR_OP_IPV6:
default:
dependency = &proto_ip6;
if (offset)
nft_print(octx, "%d", offset);
nft_print(octx, " %s", expr->exthdr.tmpl->token);
+ } else if (expr->exthdr.op == NFT_EXTHDR_OP_IPV4) {
+ nft_print(octx, "ip option %s", expr->exthdr.desc->name);
+ if (expr->exthdr.flags & NFT_EXTHDR_F_PRESENT)
+ return;
+ nft_print(octx, " %s", expr->exthdr.tmpl->token);
} else {
if (expr->exthdr.flags & NFT_EXTHDR_F_PRESENT)
nft_print(octx, "exthdr %s", expr->exthdr.desc->name);
assert(expr->etype == EXPR_EXTHDR);
if (op == NFT_EXTHDR_OP_TCPOPT)
return tcpopt_init_raw(expr, type, offset, len, flags);
+ if (op == NFT_EXTHDR_OP_IPV4)
+ return ipopt_init_raw(expr, type, offset, len, flags, true);
expr->len = len;
expr->exthdr.flags = flags;
{
unsigned int off, mask_offset, mask_len;
- if (expr->exthdr.tmpl != &exthdr_unknown_template)
+ if (expr->exthdr.op != NFT_EXTHDR_OP_IPV4 &&
+ expr->exthdr.tmpl != &exthdr_unknown_template)
return false;
/* In case we are handling tcp options instead of the default ipv6
off = expr->exthdr.offset;
off += round_up(mask->len, BITS_PER_BYTE) - mask_len;
+ /* Handle ip options after the offset and mask have been calculated. */
+ if (expr->exthdr.op == NFT_EXTHDR_OP_IPV4) {
+ if (ipopt_find_template(expr, off, mask_len - mask_offset)) {
+ *shift = mask_offset;
+ return true;
+ } else {
+ return false;
+ }
+ }
+
exthdr_init_raw(expr, expr->exthdr.desc->type,
- off, mask_len - mask_offset, NFT_EXTHDR_OP_IPV6, 0);
+ off, mask_len - mask_offset, expr->exthdr.op, 0);
/* still failed to find a template... Bug. */
if (expr->exthdr.tmpl == &exthdr_unknown_template)
return json_pack("{s:o}", "tcp option", root);
}
+ if (expr->exthdr.op == NFT_EXTHDR_OP_IPV4) {
+ root = json_pack("{s:s}", "name", desc);
+
+ if (!is_exists)
+ json_object_set_new(root, "field", json_string(field));
+
+ return json_pack("{s:o}", "ip option", root);
+ }
root = json_pack("{s:s}",
"name", desc);
%token PROTOCOL "protocol"
%token CHECKSUM "checksum"
+%token PTR "ptr"
+%token VALUE "value"
+
+%token LSRR "lsrr"
+%token RR "rr"
+%token SSRR "ssrr"
+%token RA "ra"
+
%token ICMP "icmp"
%token CODE "code"
%token SEQUENCE "seq"
%type <expr> ip_hdr_expr icmp_hdr_expr igmp_hdr_expr numgen_expr hash_expr
%destructor { expr_free($$); } ip_hdr_expr icmp_hdr_expr igmp_hdr_expr numgen_expr hash_expr
%type <val> ip_hdr_field icmp_hdr_field igmp_hdr_field
+%type <val> ip_option_type ip_option_field
%type <expr> ip6_hdr_expr icmp6_hdr_expr
%destructor { expr_free($$); } ip6_hdr_expr icmp6_hdr_expr
%type <val> ip6_hdr_field icmp6_hdr_field
{
$$ = payload_expr_alloc(&@$, &proto_ip, $2);
}
+ | IP OPTION ip_option_type ip_option_field
+ {
+ $$ = ipopt_expr_alloc(&@$, $3, $4, 0);
+ }
+ | IP OPTION ip_option_type
+ {
+ $$ = ipopt_expr_alloc(&@$, $3, IPOPT_FIELD_TYPE, 0);
+ $$->exthdr.flags = NFT_EXTHDR_F_PRESENT;
+ }
;
ip_hdr_field : HDRVERSION { $$ = IPHDR_VERSION; }
| DADDR { $$ = IPHDR_DADDR; }
;
+ip_option_type : LSRR { $$ = IPOPT_LSRR; }
+ | RR { $$ = IPOPT_RR; }
+ | SSRR { $$ = IPOPT_SSRR; }
+ | RA { $$ = IPOPT_RA; }
+ ;
+
+ip_option_field : TYPE { $$ = IPOPT_FIELD_TYPE; }
+ | LENGTH { $$ = IPOPT_FIELD_LENGTH; }
+ | VALUE { $$ = IPOPT_FIELD_VALUE; }
+ | PTR { $$ = IPOPT_FIELD_PTR; }
+ | ADDR { $$ = IPOPT_FIELD_ADDR_0; }
+ ;
+
icmp_hdr_expr : ICMP icmp_hdr_field
{
$$ = payload_expr_alloc(&@$, &proto_icmp, $2);
return tcpopt_expr_alloc(int_loc, descval, fieldval);
}
+static int json_parse_ip_option_type(const char *name, int *val)
+{
+ unsigned int i;
+
+ for (i = 0; i < array_size(ipopt_protocols); i++) {
+ if (ipopt_protocols[i] &&
+ !strcmp(ipopt_protocols[i]->name, name)) {
+ if (val)
+ *val = i;
+ return 0;
+ }
+ }
+ return 1;
+}
+
+static int json_parse_ip_option_field(int type, const char *name, int *val)
+{
+ unsigned int i;
+ const struct exthdr_desc *desc = ipopt_protocols[type];
+
+ for (i = 0; i < array_size(desc->templates); i++) {
+ if (desc->templates[i].token &&
+ !strcmp(desc->templates[i].token, name)) {
+ if (val)
+ *val = i;
+ return 0;
+ }
+ }
+ return 1;
+}
+
+static struct expr *json_parse_ip_option_expr(struct json_ctx *ctx,
+ const char *type, json_t *root)
+{
+ const char *desc, *field;
+ int descval, fieldval;
+ struct expr *expr;
+
+ if (json_unpack_err(ctx, root, "{s:s}", "name", &desc))
+ return NULL;
+
+ if (json_parse_ip_option_type(desc, &descval)) {
+ json_error(ctx, "Unknown ip option name '%s'.", desc);
+ return NULL;
+ }
+
+ if (json_unpack(root, "{s:s}", "field", &field)) {
+ expr = ipopt_expr_alloc(int_loc, descval,
+ IPOPT_FIELD_TYPE, 0);
+ expr->exthdr.flags = NFT_EXTHDR_F_PRESENT;
+
+ return expr;
+ }
+ if (json_parse_ip_option_field(descval, field, &fieldval)) {
+ json_error(ctx, "Unknown ip option field '%s'.", field);
+ return NULL;
+ }
+ return ipopt_expr_alloc(int_loc, descval, fieldval, 0);
+}
+
static const struct exthdr_desc *exthdr_lookup_byname(const char *name)
{
const struct exthdr_desc *exthdr_tbl[] = {
{ "payload", json_parse_payload_expr, CTX_F_STMT | CTX_F_PRIMARY | CTX_F_SET_RHS | CTX_F_MANGLE | CTX_F_SES | CTX_F_MAP },
{ "exthdr", json_parse_exthdr_expr, CTX_F_PRIMARY | CTX_F_SET_RHS | CTX_F_SES | CTX_F_MAP },
{ "tcp option", json_parse_tcp_option_expr, CTX_F_PRIMARY | CTX_F_SET_RHS | CTX_F_MANGLE | CTX_F_SES },
+ { "ip option", json_parse_ip_option_expr, CTX_F_PRIMARY | CTX_F_SET_RHS | CTX_F_MANGLE | CTX_F_SES },
{ "meta", json_parse_meta_expr, CTX_F_STMT | CTX_F_PRIMARY | CTX_F_SET_RHS | CTX_F_MANGLE | CTX_F_SES | CTX_F_MAP },
{ "osf", json_parse_osf_expr, CTX_F_STMT | CTX_F_PRIMARY | CTX_F_MAP },
{ "ipsec", json_parse_xfrm_expr, CTX_F_PRIMARY | CTX_F_MAP },
if (payload_dependency_exists(ctx, PROTO_BASE_NETWORK_HDR))
payload_dependency_release(ctx);
break;
+ case NFT_EXTHDR_OP_IPV4:
+ if (payload_dependency_exists(ctx, PROTO_BASE_NETWORK_HDR))
+ payload_dependency_release(ctx);
+ break;
default:
break;
}
"protocol" { return PROTOCOL; }
"checksum" { return CHECKSUM; }
+"lsrr" { return LSRR; }
+"rr" { return RR; }
+"ssrr" { return SSRR; }
+"ra" { return RA; }
+
+"value" { return VALUE; }
+"ptr" { return PTR; }
+
"echo" { return ECHO; }
"eol" { return EOL; }
"maxseg" { return MAXSEG; }
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# dst nexthdr != 233
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# dst nexthdr 33-45
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# dst nexthdr { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# dst nexthdr != { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# dst nexthdr { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# dst nexthdr != { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# dst nexthdr { udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# dst nexthdr != { udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# dst nexthdr icmp
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# dst nexthdr != icmp
ip6 test-ip6 input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# dst hdrlength 22
ip6 test-ip6 input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# dst hdrlength != 233
ip6 test-ip6 input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# dst hdrlength 33-45
ip6 test-ip6 input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
ip6 test-ip6 input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# dst hdrlength { 33, 55, 67, 88}
ip6 test-ip6 input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# dst hdrlength != { 33, 55, 67, 88}
ip6 test-ip6 input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# dst hdrlength { 33-55}
ip6 test-ip6 input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# dst hdrlength != { 33-55}
ip6 test-ip6 input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# dst nexthdr 22
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# dst nexthdr != 233
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# dst nexthdr 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# dst nexthdr != 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# dst nexthdr { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# dst nexthdr != { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# dst nexthdr { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# dst nexthdr != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# dst nexthdr { udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp}
__set%d test-ip6 0
element 00000088 : 0 [end] element 0000006c : 0 [end] element 00000011 : 0 [end] element 00000033 : 0 [end] element 00000084 : 0 [end] element 00000032 : 0 [end] element 00000021 : 0 [end] element 00000006 : 0 [end] element 0000003a : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# dst nexthdr != { udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp}
__set%d test-ip6 0
element 00000088 : 0 [end] element 0000006c : 0 [end] element 00000011 : 0 [end] element 00000033 : 0 [end] element 00000084 : 0 [end] element 00000032 : 0 [end] element 00000021 : 0 [end] element 00000006 : 0 [end] element 0000003a : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# dst nexthdr icmp
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# dst nexthdr != icmp
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# dst hdrlength 22
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# dst hdrlength != 233
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# dst hdrlength 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# dst hdrlength != 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# dst hdrlength { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# dst hdrlength != { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# dst hdrlength { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# dst hdrlength != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# exthdr hbh exists
ip6 test-ip6 input
- [ exthdr load 1b @ 0 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 present => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# exthdr rt exists
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 present => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# exthdr frag exists
ip6 test-ip6 input
- [ exthdr load 1b @ 44 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 present => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# exthdr dst exists
ip6 test-ip6 input
- [ exthdr load 1b @ 60 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 60 + 0 present => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# exthdr mh exists
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 present => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# exthdr hbh missing
ip6 test-ip6 input
- [ exthdr load 1b @ 0 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 present => reg 1 ]
[ cmp eq reg 1 0x00000000 ]
# exthdr hbh == exists
ip6 test-ip6 input
- [ exthdr load 1b @ 0 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 present => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# exthdr hbh == missing
ip6 test-ip6 input
- [ exthdr load 1b @ 0 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 present => reg 1 ]
[ cmp eq reg 1 0x00000000 ]
# exthdr hbh != exists
ip6 test-ip6 input
- [ exthdr load 1b @ 0 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 present => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# exthdr hbh != missing
ip6 test-ip6 input
- [ exthdr load 1b @ 0 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 present => reg 1 ]
[ cmp neq reg 1 0x00000000 ]
# exthdr hbh 1
ip6 test-ip6 input
- [ exthdr load 1b @ 0 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 present => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# exthdr hbh 0
ip6 test-ip6 input
- [ exthdr load 1b @ 0 + 0 present => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 present => reg 1 ]
[ cmp eq reg 1 0x00000000 ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
# frag nexthdr != icmp
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# frag nexthdr {esp, ah, comp, udp, udplite, tcp, dccp, sctp}
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# frag nexthdr != {esp, ah, comp, udp, udplite, tcp, dccp, sctp}
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# frag nexthdr esp
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000032 ]
# frag nexthdr ah
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
# frag reserved 22
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# frag reserved != 233
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# frag reserved 33-45
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# frag reserved { 33, 55, 67, 88}
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# frag reserved != { 33, 55, 67, 88}
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# frag reserved { 33-55}
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# frag reserved != { 33-55}
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# frag frag-off 22
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ cmp eq reg 1 0x0000b000 ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ cmp neq reg 1 0x00004807 ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ 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 ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ range neq reg 1 0x00000801 0x00006801 ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ lookup reg 1 set __set%d ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ lookup reg 1 set __set%d 0x1 ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ lookup reg 1 set __set%d ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ lookup reg 1 set __set%d 0x1 ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 3 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00000001 ) ^ 0x00000000 ]
[ cmp eq reg 1 0x00000001 ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ cmp eq reg 1 0x01000000 ]
# frag id 22
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ cmp eq reg 1 0x16000000 ]
# frag id != 33
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ cmp neq reg 1 0x21000000 ]
# frag id 33-45
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ cmp gte reg 1 0x21000000 ]
[ cmp lte reg 1 0x2d000000 ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ range neq reg 1 0x21000000 0x2d000000 ]
# frag id { 33, 55, 67, 88}
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ lookup reg 1 set __set%d ]
# frag id != { 33, 55, 67, 88}
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# frag id { 33-55}
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ lookup reg 1 set __set%d ]
# frag id != { 33-55}
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# frag reserved2 1
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 3 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00000006 ) ^ 0x00000000 ]
[ cmp eq reg 1 0x00000002 ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 3 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00000001 ) ^ 0x00000000 ]
[ cmp eq reg 1 0x00000000 ]
inet test-inet output
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 44 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 3 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00000001 ) ^ 0x00000000 ]
[ cmp eq reg 1 0x00000001 ]
# frag nexthdr tcp
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000006 ]
# frag nexthdr != icmp
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# frag nexthdr {esp, ah, comp, udp, udplite, tcp, dccp, sctp}
__set%d test-ip6 0
element 00000032 : 0 [end] element 00000033 : 0 [end] element 0000006c : 0 [end] element 00000011 : 0 [end] element 00000088 : 0 [end] element 00000006 : 0 [end] element 00000021 : 0 [end] element 00000084 : 0 [end]
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# frag nexthdr != {esp, ah, comp, udp, udplite, tcp, dccp, sctp}
__set%d test-ip6 0
element 00000032 : 0 [end] element 00000033 : 0 [end] element 0000006c : 0 [end] element 00000011 : 0 [end] element 00000088 : 0 [end] element 00000006 : 0 [end] element 00000021 : 0 [end] element 00000084 : 0 [end]
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# frag nexthdr esp
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000032 ]
# frag nexthdr ah
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000033 ]
# frag reserved 22
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# frag reserved != 233
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# frag reserved 33-45
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# frag reserved != 33-45
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# frag reserved { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# frag reserved != { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# frag reserved { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# frag reserved != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# frag frag-off 22
ip6 test-ip6 output
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ cmp eq reg 1 0x0000b000 ]
# frag frag-off != 233
ip6 test-ip6 output
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ cmp neq reg 1 0x00004807 ]
# frag frag-off 33-45
ip6 test-ip6 output
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ 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 ]
# frag frag-off != 33-45
ip6 test-ip6 output
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ range neq reg 1 0x00000801 0x00006801 ]
__set%d test-ip6 0
element 00000801 : 0 [end] element 0000b801 : 0 [end] element 00001802 : 0 [end] element 0000c002 : 0 [end]
ip6 test-ip6 output
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ lookup reg 1 set __set%d ]
__set%d test-ip6 0
element 00000801 : 0 [end] element 0000b801 : 0 [end] element 00001802 : 0 [end] element 0000c002 : 0 [end]
ip6 test-ip6 output
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ lookup reg 1 set __set%d 0x1 ]
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000801 : 0 [end] element 0000b901 : 1 [end]
ip6 test-ip6 output
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ lookup reg 1 set __set%d ]
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000801 : 0 [end] element 0000b901 : 1 [end]
ip6 test-ip6 output
- [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ exthdr load ipv6 2b @ 44 + 2 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ lookup reg 1 set __set%d 0x1 ]
# frag more-fragments 1
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 3 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00000001 ) ^ 0x00000000 ]
[ cmp eq reg 1 0x00000001 ]
# frag id 1
ip6 test-ip6 output
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ cmp eq reg 1 0x01000000 ]
# frag id 22
ip6 test-ip6 output
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ cmp eq reg 1 0x16000000 ]
# frag id != 33
ip6 test-ip6 output
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ cmp neq reg 1 0x21000000 ]
# frag id 33-45
ip6 test-ip6 output
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ cmp gte reg 1 0x21000000 ]
[ cmp lte reg 1 0x2d000000 ]
# frag id != 33-45
ip6 test-ip6 output
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ range neq reg 1 0x21000000 0x2d000000 ]
# frag id { 33, 55, 67, 88}
__set%d test-ip6 0
element 21000000 : 0 [end] element 37000000 : 0 [end] element 43000000 : 0 [end] element 58000000 : 0 [end]
ip6 test-ip6 output
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ lookup reg 1 set __set%d ]
# frag id != { 33, 55, 67, 88}
__set%d test-ip6 0
element 21000000 : 0 [end] element 37000000 : 0 [end] element 43000000 : 0 [end] element 58000000 : 0 [end]
ip6 test-ip6 output
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# frag id { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 21000000 : 0 [end] element 38000000 : 1 [end]
ip6 test-ip6 output
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ lookup reg 1 set __set%d ]
# frag id != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 21000000 : 0 [end] element 38000000 : 1 [end]
ip6 test-ip6 output
- [ exthdr load 4b @ 44 + 4 => reg 1 ]
+ [ exthdr load ipv6 4b @ 44 + 4 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# frag reserved2 1
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 3 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00000006 ) ^ 0x00000000 ]
[ cmp eq reg 1 0x00000002 ]
# frag more-fragments 0
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 3 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00000001 ) ^ 0x00000000 ]
[ cmp eq reg 1 0x00000000 ]
# frag more-fragments 1
ip6 test-ip6 output
- [ exthdr load 1b @ 44 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 44 + 3 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00000001 ) ^ 0x00000000 ]
[ cmp eq reg 1 0x00000001 ]
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# hbh hdrlength != 233
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# hbh hdrlength 33-45
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# hbh hdrlength {33, 55, 67, 88}
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# hbh hdrlength != {33, 55, 67, 88}
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# hbh hdrlength { 33-55}
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# hbh hdrlength != { 33-55}
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# hbh nexthdr {esp, ah, comp, udp, udplite, tcp, dccp, sctp, icmpv6}
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# hbh nexthdr != {esp, ah, comp, udp, udplite, tcp, dccp, sctp, icmpv6}
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# hbh nexthdr 22
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# hbh nexthdr != 233
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# hbh nexthdr 33-45
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# hbh nexthdr {33, 55, 67, 88}
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# hbh nexthdr != {33, 55, 67, 88}
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# hbh nexthdr { 33-55}
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# hbh nexthdr != { 33-55}
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# hbh nexthdr ip
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000000 ]
# hbh nexthdr != ip
inet test-inet filter-input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000000 ]
# hbh hdrlength 22
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# hbh hdrlength != 233
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# hbh hdrlength 33-45
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# hbh hdrlength != 33-45
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# hbh hdrlength {33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# hbh hdrlength != {33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# hbh hdrlength { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# hbh hdrlength != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# hbh nexthdr {esp, ah, comp, udp, udplite, tcp, dccp, sctp, icmpv6}
__set%d test-ip6 0
element 00000032 : 0 [end] element 00000033 : 0 [end] element 0000006c : 0 [end] element 00000011 : 0 [end] element 00000088 : 0 [end] element 00000006 : 0 [end] element 00000021 : 0 [end] element 00000084 : 0 [end] element 0000003a : 0 [end]
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# hbh nexthdr != {esp, ah, comp, udp, udplite, tcp, dccp, sctp, icmpv6}
__set%d test-ip6 0
element 00000032 : 0 [end] element 00000033 : 0 [end] element 0000006c : 0 [end] element 00000011 : 0 [end] element 00000088 : 0 [end] element 00000006 : 0 [end] element 00000021 : 0 [end] element 00000084 : 0 [end] element 0000003a : 0 [end]
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# hbh nexthdr 22
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# hbh nexthdr != 233
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# hbh nexthdr 33-45
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# hbh nexthdr != 33-45
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# hbh nexthdr {33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# hbh nexthdr != {33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# hbh nexthdr { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# hbh nexthdr != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# hbh nexthdr ip
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000000 ]
# hbh nexthdr != ip
ip6 test-ip6 filter-input
- [ exthdr load 1b @ 0 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 0 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000000 ]
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# mh nexthdr != 1
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# mh nexthdr { udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp }
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh nexthdr != { udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp }
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh nexthdr icmp
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# mh nexthdr != icmp
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# mh nexthdr 22
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# mh nexthdr != 233
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# mh nexthdr 33-45
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# mh nexthdr { 33, 55, 67, 88 }
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh nexthdr != { 33, 55, 67, 88 }
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh nexthdr { 33-55 }
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh nexthdr != { 33-55 }
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh hdrlength 22
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# mh hdrlength != 233
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# mh hdrlength 33-45
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# mh hdrlength { 33, 55, 67, 88 }
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh hdrlength != { 33, 55, 67, 88 }
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh hdrlength { 33-55 }
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh hdrlength != { 33-55 }
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh type {binding-refresh-request, home-test-init, careof-test-init, home-test, careof-test, binding-update, binding-acknowledgement, binding-error, fast-binding-update, fast-binding-acknowledgement, fast-binding-advertisement, experimental-mobility-header, home-agent-switch-message}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 2 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh type home-agent-switch-message
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 2 => reg 1 ]
[ cmp eq reg 1 0x0000000c ]
# mh type != home-agent-switch-message
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 2 => reg 1 ]
[ cmp neq reg 1 0x0000000c ]
# mh reserved 22
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# mh reserved != 233
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# mh reserved 33-45
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# mh reserved { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh reserved != { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh reserved { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh reserved != { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh checksum 22
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ cmp eq reg 1 0x00001600 ]
# mh checksum != 233
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ cmp neq reg 1 0x0000e900 ]
# mh checksum 33-45
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ cmp gte reg 1 0x00002100 ]
[ cmp lte reg 1 0x00002d00 ]
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ range neq reg 1 0x00002100 0x00002d00 ]
# mh checksum { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh checksum != { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh checksum { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh checksum != { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh nexthdr 1
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# mh nexthdr != 1
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# mh nexthdr { udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp }
__set%d test-ip6 0
element 00000088 : 0 [end] element 0000006c : 0 [end] element 00000011 : 0 [end] element 00000033 : 0 [end] element 00000084 : 0 [end] element 00000032 : 0 [end] element 00000021 : 0 [end] element 00000006 : 0 [end] element 0000003a : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh nexthdr != { udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp }
__set%d test-ip6 0
element 00000088 : 0 [end] element 0000006c : 0 [end] element 00000011 : 0 [end] element 00000033 : 0 [end] element 00000084 : 0 [end] element 00000032 : 0 [end] element 00000021 : 0 [end] element 00000006 : 0 [end] element 0000003a : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh nexthdr icmp
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# mh nexthdr != icmp
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# mh nexthdr 22
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# mh nexthdr != 233
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# mh nexthdr 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# mh nexthdr != 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# mh nexthdr { 33, 55, 67, 88 }
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh nexthdr != { 33, 55, 67, 88 }
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh nexthdr { 33-55 }
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh nexthdr != { 33-55 }
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh hdrlength 22
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# mh hdrlength != 233
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# mh hdrlength 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# mh hdrlength != 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# mh hdrlength { 33, 55, 67, 88 }
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh hdrlength != { 33, 55, 67, 88 }
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh hdrlength { 33-55 }
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh hdrlength != { 33-55 }
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh type {binding-refresh-request, home-test-init, careof-test-init, home-test, careof-test, binding-update, binding-acknowledgement, binding-error, fast-binding-update, fast-binding-acknowledgement, fast-binding-advertisement, experimental-mobility-header, home-agent-switch-message}
__set%d test-ip6 0
element 00000000 : 0 [end] element 00000001 : 0 [end] element 00000002 : 0 [end] element 00000003 : 0 [end] element 00000004 : 0 [end] element 00000005 : 0 [end] element 00000006 : 0 [end] element 00000007 : 0 [end] element 00000008 : 0 [end] element 00000009 : 0 [end] element 0000000a : 0 [end] element 0000000b : 0 [end] element 0000000c : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 2 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh type home-agent-switch-message
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 2 => reg 1 ]
[ cmp eq reg 1 0x0000000c ]
# mh type != home-agent-switch-message
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 2 => reg 1 ]
[ cmp neq reg 1 0x0000000c ]
# mh reserved 22
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# mh reserved != 233
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# mh reserved 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# mh reserved != 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# mh reserved { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh reserved != { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh reserved { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh reserved != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 135 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 135 + 3 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh checksum 22
ip6 test-ip6 input
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ cmp eq reg 1 0x00001600 ]
# mh checksum != 233
ip6 test-ip6 input
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ cmp neq reg 1 0x0000e900 ]
# mh checksum 33-45
ip6 test-ip6 input
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ cmp gte reg 1 0x00002100 ]
[ cmp lte reg 1 0x00002d00 ]
# mh checksum != 33-45
ip6 test-ip6 input
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ range neq reg 1 0x00002100 0x00002d00 ]
# mh checksum { 33, 55, 67, 88}
__set%d test-ip6 0
element 00002100 : 0 [end] element 00003700 : 0 [end] element 00004300 : 0 [end] element 00005800 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh checksum != { 33, 55, 67, 88}
__set%d test-ip6 0
element 00002100 : 0 [end] element 00003700 : 0 [end] element 00004300 : 0 [end] element 00005800 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# mh checksum { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00002100 : 0 [end] element 00003800 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ lookup reg 1 set __set%d ]
# mh checksum != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00002100 : 0 [end] element 00003800 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 2b @ 135 + 4 => reg 1 ]
+ [ exthdr load ipv6 2b @ 135 + 4 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# rt nexthdr != 1
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# rt nexthdr {udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt nexthdr != {udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt nexthdr icmp
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# rt nexthdr != icmp
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# rt nexthdr 22
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# rt nexthdr != 233
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# rt nexthdr 33-45
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# rt nexthdr { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt nexthdr != { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt nexthdr { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt nexthdr != { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt hdrlength 22
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# rt hdrlength != 233
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# rt hdrlength 33-45
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# rt hdrlength { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt hdrlength != { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt hdrlength { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt hdrlength != { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt type 22
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# rt type != 233
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# rt type 33-45
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# rt type { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt type != { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt type { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt type != { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt seg-left 22
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# rt seg-left != 233
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# rt seg-left 33-45
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# rt seg-left { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt seg-left != { 33, 55, 67, 88}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt seg-left { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt seg-left != { 33-55}
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt nexthdr 1
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# rt nexthdr != 1
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# rt nexthdr {udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp}
__set%d test-ip6 0
element 00000088 : 0 [end] element 0000006c : 0 [end] element 00000011 : 0 [end] element 00000033 : 0 [end] element 00000084 : 0 [end] element 00000032 : 0 [end] element 00000021 : 0 [end] element 00000006 : 0 [end] element 0000003a : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt nexthdr != {udplite, ipcomp, udp, ah, sctp, esp, dccp, tcp, ipv6-icmp}
__set%d test-ip6 0
element 00000088 : 0 [end] element 0000006c : 0 [end] element 00000011 : 0 [end] element 00000033 : 0 [end] element 00000084 : 0 [end] element 00000032 : 0 [end] element 00000021 : 0 [end] element 00000006 : 0 [end] element 0000003a : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt nexthdr icmp
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
# rt nexthdr != icmp
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp neq reg 1 0x00000001 ]
# rt nexthdr 22
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# rt nexthdr != 233
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# rt nexthdr 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# rt nexthdr != 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# rt nexthdr { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt nexthdr != { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt nexthdr { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt nexthdr != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 0 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 0 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt hdrlength 22
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# rt hdrlength != 233
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# rt hdrlength 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# rt hdrlength != 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# rt hdrlength { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt hdrlength != { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt hdrlength { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt hdrlength != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 1 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 1 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt type 22
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# rt type != 233
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# rt type 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# rt type != 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# rt type { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt type != { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt type { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt type != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 2 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 2 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt seg-left 22
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ cmp eq reg 1 0x00000016 ]
# rt seg-left != 233
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ cmp neq reg 1 0x000000e9 ]
# rt seg-left 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ cmp gte reg 1 0x00000021 ]
[ cmp lte reg 1 0x0000002d ]
# rt seg-left != 33-45
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ range neq reg 1 0x00000021 0x0000002d ]
# rt seg-left { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt seg-left != { 33, 55, 67, 88}
__set%d test-ip6 0
element 00000021 : 0 [end] element 00000037 : 0 [end] element 00000043 : 0 [end] element 00000058 : 0 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# rt seg-left { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ lookup reg 1 set __set%d ]
# rt seg-left != { 33-55}
__set%d test-ip6 0
element 00000000 : 1 [end] element 00000021 : 0 [end] element 00000038 : 1 [end]
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 3 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 3 => reg 1 ]
[ lookup reg 1 set __set%d 0x1 ]
# srh last-entry 0
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 4 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 4 => reg 1 ]
[ cmp eq reg 1 0x00000000 ]
# srh last-entry 127
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 4 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 4 => reg 1 ]
[ cmp eq reg 1 0x0000007f ]
# srh last-entry { 0, 4-127, 255 }
__set%d test-ip6 0
element 00000000 : 0 [end] element 00000001 : 1 [end] element 00000004 : 0 [end] element 00000080 : 1 [end] element 000000ff : 0 [end] userdata = {
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 4 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 4 => reg 1 ]
[ lookup reg 1 set __set%d ]
# srh flags 0
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 5 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 5 => reg 1 ]
[ cmp eq reg 1 0x00000000 ]
# srh flags 127
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 5 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 5 => reg 1 ]
[ cmp eq reg 1 0x0000007f ]
# srh flags { 0, 4-127, 255 }
__set%d test-ip6 0
element 00000000 : 0 [end] element 00000001 : 1 [end] element 00000004 : 0 [end] element 00000080 : 1 [end] element 000000ff : 0 [end] userdata = {
ip6 test-ip6 input
- [ exthdr load 1b @ 43 + 5 => reg 1 ]
+ [ exthdr load ipv6 1b @ 43 + 5 => reg 1 ]
[ lookup reg 1 set __set%d ]
# srh tag 0
ip6 test-ip6 input
- [ exthdr load 2b @ 43 + 6 => reg 1 ]
+ [ exthdr load ipv6 2b @ 43 + 6 => reg 1 ]
[ cmp eq reg 1 0x00000000 ]
# srh tag 127
ip6 test-ip6 input
- [ exthdr load 2b @ 43 + 6 => reg 1 ]
+ [ exthdr load ipv6 2b @ 43 + 6 => reg 1 ]
[ cmp eq reg 1 0x00007f00 ]
# srh tag { 0, 4-127, 0xffff }
__set%d test-ip6 0
element 00000000 : 0 [end] element 00000100 : 1 [end] element 00000400 : 0 [end] element 00008000 : 1 [end] element 0000ffff : 0 [end] userdata = {
ip6 test-ip6 input
- [ exthdr load 2b @ 43 + 6 => reg 1 ]
+ [ exthdr load ipv6 2b @ 43 + 6 => reg 1 ]
[ lookup reg 1 set __set%d ]
# srh sid[1] dead::beef
ip6 test-ip6 input
- [ exthdr load 16b @ 43 + 8 => reg 1 ]
+ [ exthdr load ipv6 16b @ 43 + 8 => reg 1 ]
[ cmp eq reg 1 0x0000adde 0x00000000 0x00000000 0xefbe0000 ]
# srh sid[2] dead::beef
ip6 test-ip6 input
- [ exthdr load 16b @ 43 + 24 => reg 1 ]
+ [ exthdr load ipv6 16b @ 43 + 24 => reg 1 ]
[ cmp eq reg 1 0x0000adde 0x00000000 0x00000000 0xefbe0000 ]