# ip6 dscp cs1 [ { "match": { "left": { "payload": { "field": "dscp", "protocol": "ip6" } }, "right": "cs1" } } ] # ip6 dscp != cs1 [ { "match": { "left": { "payload": { "field": "dscp", "protocol": "ip6" } }, "op": "!=", "right": "cs1" } } ] # ip6 dscp 0x38 [ { "match": { "left": { "payload": { "field": "dscp", "protocol": "ip6" } }, "right": "0x38" } } ] # ip6 dscp != 0x20 [ { "match": { "left": { "payload": { "field": "dscp", "protocol": "ip6" } }, "op": "!=", "right": "0x20" } } ] # ip6 dscp {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7, af11, af12, af13, af21, af22, af23, af31, af32, af33, af41, af42, af43, ef} [ { "match": { "left": { "payload": { "field": "dscp", "protocol": "ip6" } }, "right": { "set": [ "cs0", "cs1", "cs2", "cs3", "cs4", "cs5", "cs6", "cs7", "af11", "af12", "af13", "af21", "af22", "af23", "af31", "af32", "af33", "af41", "af42", "af43", "ef" ] } } } ] # ip6 dscp vmap { 0x04 : accept, 0x3f : continue } counter [ { "vmap": { "key": { "payload": { "field": "dscp", "protocol": "ip6" } }, "data": { "set": [ [ "0x04", { "accept": null } ], [ "0x3f", { "continue": null } ] ] } } }, { "counter": null } ] # ip6 flowlabel 22 [ { "match": { "left": { "payload": { "field": "flowlabel", "protocol": "ip6" } }, "right": 22 } } ] # ip6 flowlabel != 233 [ { "match": { "left": { "payload": { "field": "flowlabel", "protocol": "ip6" } }, "op": "!=", "right": 233 } } ] # ip6 flowlabel { 33, 55, 67, 88} [ { "match": { "left": { "payload": { "field": "flowlabel", "protocol": "ip6" } }, "right": { "set": [ 33, 55, 67, 88 ] } } } ] # ip6 flowlabel != { 33, 55, 67, 88} [ { "match": { "left": { "payload": { "field": "flowlabel", "protocol": "ip6" } }, "op": "!=", "right": { "set": [ 33, 55, 67, 88 ] } } } ] # ip6 flowlabel { 33-55} [ { "match": { "left": { "payload": { "field": "flowlabel", "protocol": "ip6" } }, "right": { "set": [ { "range": [ 33, 55 ] } ] } } } ] # ip6 flowlabel != { 33-55} [ { "match": { "left": { "payload": { "field": "flowlabel", "protocol": "ip6" } }, "op": "!=", "right": { "set": [ { "range": [ 33, 55 ] } ] } } } ] # ip6 flowlabel vmap { 0 : accept, 2 : continue } [ { "vmap": { "key": { "payload": { "field": "flowlabel", "protocol": "ip6" } }, "data": { "set": [ [ 0, { "accept": null } ], [ 2, { "continue": null } ] ] } } } ] # ip6 length 22 [ { "match": { "left": { "payload": { "field": "length", "protocol": "ip6" } }, "right": 22 } } ] # ip6 length != 233 [ { "match": { "left": { "payload": { "field": "length", "protocol": "ip6" } }, "op": "!=", "right": 233 } } ] # ip6 length 33-45 [ { "match": { "left": { "payload": { "field": "length", "protocol": "ip6" } }, "right": { "range": [ 33, 45 ] } } } ] # ip6 length != 33-45 [ { "match": { "left": { "payload": { "field": "length", "protocol": "ip6" } }, "op": "!=", "right": { "range": [ 33, 45 ] } } } ] # ip6 length { 33, 55, 67, 88} [ { "match": { "left": { "payload": { "field": "length", "protocol": "ip6" } }, "right": { "set": [ 33, 55, 67, 88 ] } } } ] # ip6 length != {33, 55, 67, 88} [ { "match": { "left": { "payload": { "field": "length", "protocol": "ip6" } }, "op": "!=", "right": { "set": [ 33, 55, 67, 88 ] } } } ] # ip6 length { 33-55} [ { "match": { "left": { "payload": { "field": "length", "protocol": "ip6" } }, "right": { "set": [ { "range": [ 33, 55 ] } ] } } } ] # ip6 length != { 33-55} [ { "match": { "left": { "payload": { "field": "length", "protocol": "ip6" } }, "op": "!=", "right": { "set": [ { "range": [ 33, 55 ] } ] } } } ] # ip6 nexthdr {udp, ah, comp, udplite, tcp, dccp, sctp} [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "right": { "set": [ "udp", "ah", "comp", "udplite", "tcp", "dccp", "sctp" ] } } } ] # ip6 nexthdr {esp, ah, comp, udp, udplite, tcp, dccp, sctp, icmpv6} [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "right": { "set": [ "esp", "ah", "comp", "udp", "udplite", "tcp", "dccp", "sctp", "icmpv6" ] } } } ] # ip6 nexthdr != {esp, ah, comp, udp, udplite, tcp, dccp, sctp, icmpv6} [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "op": "!=", "right": { "set": [ "esp", "ah", "comp", "udp", "udplite", "tcp", "dccp", "sctp", "icmpv6" ] } } } ] # ip6 nexthdr esp [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "right": "esp" } } ] # ip6 nexthdr != esp [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "op": "!=", "right": "esp" } } ] # ip6 nexthdr { 33-44} [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "right": { "set": [ { "range": [ 33, 44 ] } ] } } } ] # ip6 nexthdr != { 33-44} [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "op": "!=", "right": { "set": [ { "range": [ 33, 44 ] } ] } } } ] # ip6 nexthdr 33-44 [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "right": { "range": [ 33, 44 ] } } } ] # ip6 nexthdr != 33-44 [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "op": "!=", "right": { "range": [ 33, 44 ] } } } ] # ip6 hoplimit 1 [ { "match": { "left": { "payload": { "field": "hoplimit", "protocol": "ip6" } }, "right": 1 } } ] # ip6 hoplimit != 233 [ { "match": { "left": { "payload": { "field": "hoplimit", "protocol": "ip6" } }, "op": "!=", "right": 233 } } ] # ip6 hoplimit 33-45 [ { "match": { "left": { "payload": { "field": "hoplimit", "protocol": "ip6" } }, "right": { "range": [ 33, 45 ] } } } ] # ip6 hoplimit != 33-45 [ { "match": { "left": { "payload": { "field": "hoplimit", "protocol": "ip6" } }, "op": "!=", "right": { "range": [ 33, 45 ] } } } ] # ip6 hoplimit {33, 55, 67, 88} [ { "match": { "left": { "payload": { "field": "hoplimit", "protocol": "ip6" } }, "right": { "set": [ 33, 55, 67, 88 ] } } } ] # ip6 hoplimit != {33, 55, 67, 88} [ { "match": { "left": { "payload": { "field": "hoplimit", "protocol": "ip6" } }, "op": "!=", "right": { "set": [ 33, 55, 67, 88 ] } } } ] # ip6 hoplimit {33-55} [ { "match": { "left": { "payload": { "field": "hoplimit", "protocol": "ip6" } }, "right": { "set": [ { "range": [ 33, 55 ] } ] } } } ] # ip6 hoplimit != {33-55} [ { "match": { "left": { "payload": { "field": "hoplimit", "protocol": "ip6" } }, "op": "!=", "right": { "set": [ { "range": [ 33, 55 ] } ] } } } ] # ip6 saddr 1234:1234:1234:1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234:1234:1234:1234:1234:1234" } } ] # ip6 saddr ::1234:1234:1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "::1234:1234:1234:1234:1234:1234:1234" } } ] # ip6 saddr 1234::1234:1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234::1234:1234:1234:1234:1234:1234" } } ] # ip6 saddr 1234:1234::1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234::1234:1234:1234:1234:1234" } } ] # ip6 saddr 1234:1234:0:1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:0:1234:1234:1234:1234:1234" } } ] # ip6 saddr 1234:1234:1234::1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234::1234:1234:1234:1234" } } ] # ip6 saddr 1234:1234:1234:1234:0:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234:1234:0:1234:1234:1234" } } ] # ip6 saddr 1234:1234:1234:1234:1234::1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234:1234:1234::1234:1234" } } ] # ip6 saddr 1234:1234:1234:1234:1234:1234:0:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234:1234:1234:1234:0:1234" } } ] # ip6 saddr 1234:1234:1234:1234:1234:1234:1234:: [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234:1234:1234:1234:1234::" } } ] # ip6 saddr ::1234:1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "::1234:1234:1234:1234:1234:1234" } } ] # ip6 saddr 1234::1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234::1234:1234:1234:1234:1234" } } ] # ip6 saddr 1234:1234::1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234::1234:1234:1234:1234" } } ] # ip6 saddr 1234:1234:1234::1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234::1234:1234:1234" } } ] # ip6 saddr 1234:1234:1234:1234::1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234:1234::1234:1234" } } ] # ip6 saddr 1234:1234:1234:1234:1234::1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234:1234:1234::1234" } } ] # ip6 saddr 1234:1234:1234:1234:1234:1234:: [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234:1234:1234:1234::" } } ] # ip6 saddr ::1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "::1234:1234:1234:1234:1234" } } ] # ip6 saddr 1234::1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234::1234:1234:1234:1234" } } ] # ip6 saddr 1234:1234::1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234::1234:1234:1234" } } ] # ip6 saddr 1234:1234:1234::1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234::1234:1234" } } ] # ip6 saddr 1234:1234:1234:1234::1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234:1234::1234" } } ] # ip6 saddr 1234:1234:1234:1234:1234:: [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234:1234:1234::" } } ] # ip6 saddr ::1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "::1234:1234:1234:1234" } } ] # ip6 saddr 1234::1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234::1234:1234:1234" } } ] # ip6 saddr 1234:1234::1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234::1234:1234" } } ] # ip6 saddr 1234:1234:1234::1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234::1234" } } ] # ip6 saddr 1234:1234:1234:1234:: [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234:1234::" } } ] # ip6 saddr ::1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "::1234:1234:1234" } } ] # ip6 saddr 1234::1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234::1234:1234" } } ] # ip6 saddr 1234:1234::1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234::1234" } } ] # ip6 saddr 1234:1234:1234:: [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234:1234::" } } ] # ip6 saddr ::1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "::1234:1234" } } ] # ip6 saddr 1234::1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234::1234" } } ] # ip6 saddr 1234:1234:: [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234:1234::" } } ] # ip6 saddr ::1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "::1234" } } ] # ip6 saddr 1234:: [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "1234::" } } ] # ip6 saddr ::/64 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": { "prefix": { "addr": "::", "len": 64 } } } } ] # ip6 saddr ::1 ip6 daddr ::2 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "right": "::1" } }, { "match": { "left": { "payload": { "field": "daddr", "protocol": "ip6" } }, "right": "::2" } } ] # ip6 daddr != {::1234:1234:1234:1234:1234:1234:1234, 1234:1234::1234:1234:1234:1234:1234 } [ { "match": { "left": { "payload": { "field": "daddr", "protocol": "ip6" } }, "op": "!=", "right": { "set": [ "::1234:1234:1234:1234:1234:1234:1234", "1234:1234::1234:1234:1234:1234:1234" ] } } } ] # ip6 daddr != ::1234:1234:1234:1234:1234:1234:1234-1234:1234::1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "daddr", "protocol": "ip6" } }, "op": "!=", "right": { "range": [ "::1234:1234:1234:1234:1234:1234:1234", "1234:1234::1234:1234:1234:1234:1234" ] } } } ] # iif "lo" ip6 daddr set ::1 [ { "match": { "left": { "meta": { "key": "iif" } }, "right": "lo" } }, { "mangle": { "left": { "payload": { "field": "daddr", "protocol": "ip6" } }, "right": "::1" } } ] # iif "lo" ip6 hoplimit set 1 [ { "match": { "left": { "meta": { "key": "iif" } }, "right": "lo" } }, { "mangle": { "left": { "payload": { "field": "hoplimit", "protocol": "ip6" } }, "right": 1 } } ] # iif "lo" ip6 dscp set af42 [ { "match": { "left": { "meta": { "key": "iif" } }, "right": "lo" } }, { "mangle": { "left": { "payload": { "field": "dscp", "protocol": "ip6" } }, "right": "af42" } } ] # iif "lo" ip6 dscp set 63 [ { "match": { "left": { "meta": { "key": "iif" } }, "right": "lo" } }, { "mangle": { "left": { "payload": { "field": "dscp", "protocol": "ip6" } }, "right": 63 } } ] # iif "lo" ip6 ecn set ect0 [ { "match": { "left": { "meta": { "key": "iif" } }, "right": "lo" } }, { "mangle": { "left": { "payload": { "field": "ecn", "protocol": "ip6" } }, "right": "ect0" } } ] # iif "lo" ip6 ecn set ce [ { "match": { "left": { "meta": { "key": "iif" } }, "right": "lo" } }, { "mangle": { "left": { "payload": { "field": "ecn", "protocol": "ip6" } }, "right": "ce" } } ] # iif "lo" ip6 flowlabel set 0 [ { "match": { "left": { "meta": { "key": "iif" } }, "right": "lo" } }, { "mangle": { "left": { "payload": { "field": "flowlabel", "protocol": "ip6" } }, "right": 0 } } ] # iif "lo" ip6 flowlabel set 12345 [ { "match": { "left": { "meta": { "key": "iif" } }, "right": "lo" } }, { "mangle": { "left": { "payload": { "field": "flowlabel", "protocol": "ip6" } }, "right": 12345 } } ] # iif "lo" ip6 flowlabel set 0xfffff [ { "match": { "left": { "meta": { "key": "iif" } }, "right": "lo" } }, { "mangle": { "left": { "payload": { "field": "flowlabel", "protocol": "ip6" } }, "right": "0xfffff" } } ]