# ip6 dscp 0x38 [ { "match": { "left": { "payload": { "field": "dscp", "protocol": "ip6" } }, "op": "==", "right": "cs7" } } ] # ip6 dscp != 0x20 [ { "match": { "left": { "payload": { "field": "dscp", "protocol": "ip6" } }, "op": "!=", "right": "cs4" } } ] # 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" } }, "op": "==", "right": { "set": [ "cs0", "cs1", "af11", "af12", "af13", "cs2", "af21", "af22", "af23", "cs3", "af31", "af32", "af33", "cs4", "af41", "af42", "af43", "cs5", "ef", "cs6", "cs7" ] } } } ] # ip6 dscp vmap { 0x04 : accept, 0x3f : continue } counter [ { "vmap": { "key": { "payload": { "field": "dscp", "protocol": "ip6" } }, "data": { "set": [ [ 4, { "accept": null } ], [ 63, { "continue": null } ] ] } } }, { "counter": null } ] # ip6 nexthdr {udp, ah, comp, udplite, tcp, dccp, sctp} [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "op": "==", "right": { "set": [ 6, 17, 33, 51, 108, 132, 136 ] } } } ] # ip6 nexthdr {esp, ah, comp, udp, udplite, tcp, dccp, sctp, icmpv6} [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "op": "==", "right": { "set": [ 6, 17, 33, 50, 51, 58, 108, 132, 136 ] } } } ] # ip6 nexthdr != {esp, ah, comp, udp, udplite, tcp, dccp, sctp, icmpv6} [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "op": "!=", "right": { "set": [ 6, 17, 33, 50, 51, 58, 108, 132, 136 ] } } } ] # ip6 nexthdr esp [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "op": "==", "right": 50 } } ] # ip6 nexthdr != esp [ { "match": { "left": { "payload": { "field": "nexthdr", "protocol": "ip6" } }, "op": "!=", "right": 50 } } ] # ip6 saddr ::1234:1234:1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "op": "==", "right": "0:1234:1234:1234:1234:1234:1234:1234" } } ] # ip6 saddr 1234::1234:1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "op": "==", "right": "1234:0:1234:1234:1234:1234:1234:1234" } } ] # ip6 saddr 1234:1234::1234:1234:1234:1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "op": "==", "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" } }, "op": "==", "right": "1234:1234:1234:0:1234:1234:1234:1234" } } ] # ip6 saddr 1234:1234:1234:1234:1234::1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "op": "==", "right": "1234:1234:1234:1234:1234:0:1234:1234" } } ] # ip6 saddr 1234:1234:1234:1234:1234:1234:1234:: [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "op": "==", "right": "1234:1234:1234:1234:1234:1234:1234:0" } } ] # ip6 saddr ::1234:1234 [ { "match": { "left": { "payload": { "field": "saddr", "protocol": "ip6" } }, "op": "==", "right": "::18.52.18.52" } } ] # 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": [ "0:1234:1234:1234:1234:1234:1234:1234", "1234:1234:0: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": [ "0:1234:1234:1234:1234:1234:1234:1234", "1234:1234:0:1234:1234:1234:1234:1234" ] } } } ] # iif "lo" ip6 flowlabel set 0xfffff [ { "match": { "left": { "meta": { "key": "iif" } }, "op": "==", "right": "lo" } }, { "mangle": { "key": { "payload": { "field": "flowlabel", "protocol": "ip6" } }, "value": 1048575 } } ]