18c2ecf20Sopenharmony_ci[
28c2ecf20Sopenharmony_ci    {
38c2ecf20Sopenharmony_ci        "id": "b1e9",
48c2ecf20Sopenharmony_ci        "name": "Test matching of source IP",
58c2ecf20Sopenharmony_ci        "category": [
68c2ecf20Sopenharmony_ci            "actions",
78c2ecf20Sopenharmony_ci            "scapy"
88c2ecf20Sopenharmony_ci        ],
98c2ecf20Sopenharmony_ci        "plugins": {
108c2ecf20Sopenharmony_ci            "requires": [
118c2ecf20Sopenharmony_ci                "nsPlugin",
128c2ecf20Sopenharmony_ci                "scapyPlugin"
138c2ecf20Sopenharmony_ci            ]
148c2ecf20Sopenharmony_ci        },
158c2ecf20Sopenharmony_ci        "setup": [
168c2ecf20Sopenharmony_ci            [
178c2ecf20Sopenharmony_ci                "$TC qdisc del dev $DEV1 ingress",
188c2ecf20Sopenharmony_ci                0,
198c2ecf20Sopenharmony_ci                1,
208c2ecf20Sopenharmony_ci                2,
218c2ecf20Sopenharmony_ci                255
228c2ecf20Sopenharmony_ci            ],
238c2ecf20Sopenharmony_ci            "$TC qdisc add dev $DEV1 ingress"
248c2ecf20Sopenharmony_ci        ],
258c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 3 protocol ip flower src_ip 16.61.16.61 flowid 1:1 action ok",
268c2ecf20Sopenharmony_ci        "scapy": {
278c2ecf20Sopenharmony_ci            "iface": "$DEV0",
288c2ecf20Sopenharmony_ci            "count": 1,
298c2ecf20Sopenharmony_ci            "packet": "Ether(type=0x800)/IP(src='16.61.16.61')/ICMP()"
308c2ecf20Sopenharmony_ci        },
318c2ecf20Sopenharmony_ci        "expExitCode": "0",
328c2ecf20Sopenharmony_ci        "verifyCmd": "$TC -s -j filter ls dev $DEV1 ingress prio 3",
338c2ecf20Sopenharmony_ci        "matchJSON": [
348c2ecf20Sopenharmony_ci            {
358c2ecf20Sopenharmony_ci                "path": [
368c2ecf20Sopenharmony_ci                    1,
378c2ecf20Sopenharmony_ci                    "options",
388c2ecf20Sopenharmony_ci                    "actions",
398c2ecf20Sopenharmony_ci                    0,
408c2ecf20Sopenharmony_ci                    "stats",
418c2ecf20Sopenharmony_ci                    "packets"
428c2ecf20Sopenharmony_ci                ],
438c2ecf20Sopenharmony_ci                "value": 1
448c2ecf20Sopenharmony_ci            }
458c2ecf20Sopenharmony_ci        ],
468c2ecf20Sopenharmony_ci        "teardown": [
478c2ecf20Sopenharmony_ci            "$TC qdisc del dev $DEV1 ingress"
488c2ecf20Sopenharmony_ci        ]
498c2ecf20Sopenharmony_ci    },
508c2ecf20Sopenharmony_ci    {
518c2ecf20Sopenharmony_ci        "id": "e9c4",
528c2ecf20Sopenharmony_ci        "name": "Test matching of source IP with wrong count",
538c2ecf20Sopenharmony_ci        "category": [
548c2ecf20Sopenharmony_ci            "actions",
558c2ecf20Sopenharmony_ci            "scapy"
568c2ecf20Sopenharmony_ci        ],
578c2ecf20Sopenharmony_ci        "plugins": {
588c2ecf20Sopenharmony_ci            "requires": [
598c2ecf20Sopenharmony_ci                "nsPlugin",
608c2ecf20Sopenharmony_ci                "scapyPlugin"
618c2ecf20Sopenharmony_ci            ]
628c2ecf20Sopenharmony_ci        },
638c2ecf20Sopenharmony_ci        "setup": [
648c2ecf20Sopenharmony_ci            [
658c2ecf20Sopenharmony_ci                "$TC qdisc del dev $DEV1 ingress",
668c2ecf20Sopenharmony_ci                0,
678c2ecf20Sopenharmony_ci                1,
688c2ecf20Sopenharmony_ci                2,
698c2ecf20Sopenharmony_ci                255
708c2ecf20Sopenharmony_ci            ],
718c2ecf20Sopenharmony_ci            "$TC qdisc add dev $DEV1 ingress"
728c2ecf20Sopenharmony_ci        ],
738c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 3 protocol ip flower src_ip 16.61.16.61 flowid 1:1 action ok",
748c2ecf20Sopenharmony_ci        "scapy": {
758c2ecf20Sopenharmony_ci            "iface": "$DEV0",
768c2ecf20Sopenharmony_ci            "count": 3,
778c2ecf20Sopenharmony_ci            "packet": "Ether(type=0x800)/IP(src='16.61.16.61')/ICMP()"
788c2ecf20Sopenharmony_ci        },
798c2ecf20Sopenharmony_ci        "expExitCode": "0",
808c2ecf20Sopenharmony_ci        "verifyCmd": "$TC -s -j filter ls dev $DEV1 parent ffff:",
818c2ecf20Sopenharmony_ci        "matchJSON": [
828c2ecf20Sopenharmony_ci            {
838c2ecf20Sopenharmony_ci                "path": [
848c2ecf20Sopenharmony_ci                    1,
858c2ecf20Sopenharmony_ci                    "options",
868c2ecf20Sopenharmony_ci                    "actions",
878c2ecf20Sopenharmony_ci                    0,
888c2ecf20Sopenharmony_ci                    "stats",
898c2ecf20Sopenharmony_ci                    "packets"
908c2ecf20Sopenharmony_ci                ],
918c2ecf20Sopenharmony_ci                "value": 1
928c2ecf20Sopenharmony_ci            }
938c2ecf20Sopenharmony_ci        ],
948c2ecf20Sopenharmony_ci        "teardown": [
958c2ecf20Sopenharmony_ci            "$TC qdisc del dev $DEV1 ingress"
968c2ecf20Sopenharmony_ci        ]
978c2ecf20Sopenharmony_ci    }
988c2ecf20Sopenharmony_ci]
99