[
    {
        "id": "c826",
        "name": "Add ctinfo action with default setting",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC action flush action ctinfo",
                0,
                1,
                255
            ]
        ],
        "cmdUnderTest": "$TC action add action ctinfo index 10",
        "expExitCode": "0",
        "verifyCmd": "$TC action get action ctinfo index 10",
        "matchPattern": "action order [0-9]*: ctinfo zone 0 pipe.*index 10 ref",
        "matchCount": "1",
        "teardown": [
            "$TC action flush action ctinfo"
        ]
    },
    {
        "id": "0286",
        "name": "Add ctinfo action with dscp",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC actions flush action ctinfo",
                0,
                1,
                255
            ]
        ],
        "cmdUnderTest": "$TC action add action ctinfo dscp 0xfc000000 0x01000000 index 100",
        "expExitCode": "0",
        "verifyCmd": "$TC action ls action ctinfo",
        "matchPattern": "action order [0-9]*: ctinfo zone 0 pipe.*index 100 ref.*dscp 0xfc000000 0x01000000",
        "matchCount": "1",
        "teardown": [
            "$TC actions flush action ctinfo"
        ]
    },
    {
        "id": "4938",
        "name": "Add ctinfo action with valid cpmark and zone",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC action flush action ctinfo",
                0,
                1,
                255
            ]
        ],
        "cmdUnderTest": "$TC action add action ctinfo cpmark 0x01000000 zone 1 index 1",
        "expExitCode": "0",
        "verifyCmd": "$TC action get action ctinfo index 1",
        "matchPattern": "action order [0-9]*: ctinfo zone 1 pipe.*index 1 ref.*cpmark 0x01000000",
        "matchCount": "1",
        "teardown": [
            "$TC action flush action ctinfo"
        ]
    },
    {
        "id": "7593",
        "name": "Add ctinfo action with drop control",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC action flush action ctinfo",
                0,
                1,
                255
            ]
        ],
        "cmdUnderTest": "$TC action add action ctinfo drop index 1000",
        "expExitCode": "0",
        "verifyCmd": "$TC action ls action ctinfo",
        "matchPattern": "action order [0-9]*: ctinfo zone 0 drop.*index 1000 ref",
        "matchCount": "1",
        "teardown": [
            "$TC action flush action ctinfo"
        ]
    },
    {
        "id": "2961",
        "name": "Replace ctinfo action zone and action control",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC actions flush action ctinfo",
                0,
                1,
                255
            ],
            [
                "$TC action add action ctinfo zone 1 drop index 1",
                0,
                1,
                255
            ]
        ],
        "cmdUnderTest": "$TC action replace action ctinfo zone 200 pass index 1",
        "expExitCode": "0",
        "verifyCmd": "$TC action get action ctinfo index 1",
        "matchPattern": "action order [0-9]*: ctinfo zone 200 pass.*index 1 ref",
        "matchCount": "1",
        "teardown": [
            "$TC action flush action ctinfo"
        ]
    },
    {
        "id": "e567",
        "name": "Delete ctinfo action with valid index",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC actions flush action ctinfo",
                0,
                1,
                255
            ],
            [
                "$TC action add action ctinfo zone 200 pass index 1",
                0,
                1,
                255
            ]
        ],
        "cmdUnderTest": "$TC action delete action ctinfo index 1",
        "expExitCode": "0",
        "verifyCmd": "$TC action get action ctinfo index 1",
        "matchPattern": "action order [0-9]*: ctinfo zone 200 pass.*index 1 ref",
        "matchCount": "0",
        "teardown": [
            "$TC action flush action ctinfo"
        ]
    },
    {
        "id": "6a91",
        "name": "Delete ctinfo action with invalid index",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC actions flush action ctinfo",
                0,
                1,
                255
            ],
            [
                "$TC action add action ctinfo zone 200 pass index 1",
                0,
                1,
                255
            ]
        ],
        "cmdUnderTest": "$TC action delete action ctinfo index 333",
        "expExitCode": "255",
        "verifyCmd": "$TC action get action ctinfo index 1",
        "matchPattern": "action order [0-9]*: ctinfo zone 200 pass.*index 1 ref",
        "matchCount": "1",
        "teardown": [
            "$TC action flush action ctinfo"
        ]
    },
    {
        "id": "5232",
        "name": "List ctinfo actions",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC action flush action ctinfo",
                0,
                1,
                255
            ],
            "$TC action add action ctinfo zone 20 pass index 101",
            "$TC action add action ctinfo cpmark 0x02000000 drop index 102",
            "$TC action add action ctinfo continue index 103"
        ],
        "cmdUnderTest": "$TC action list action ctinfo",
        "expExitCode": "0",
        "verifyCmd": "$TC action list action ctinfo",
        "matchPattern": "action order [0-9]*: ctinfo",
        "matchCount": "3",
        "teardown": [
            "$TC actions flush action ctinfo"
        ]
    },
    {
        "id": "7702",
        "name": "Flush ctinfo actions",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC actions flush action ctinfo",
                0,
                1,
                255
            ],
	    "$TC action add action ctinfo zone 20 pass index 101",
            "$TC action add action ctinfo cpmark 0x02000000 drop index 102",
            "$TC action add action ctinfo continue index 103"
        ],
        "cmdUnderTest": "$TC action flush action ctinfo",
        "expExitCode": "0",
        "verifyCmd": "$TC action list action ctinfo",
        "matchPattern": "action order [0-9]*: ctinfo",
        "matchCount": "0",
        "teardown": [
            "$TC actions flush action ctinfo"
        ]
    },
    {
        "id": "3201",
        "name": "Add ctinfo action with duplicate index",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC actions flush action ctinfo",
                0,
                1,
                255
            ],
            "$TC action add action ctinfo zone 20 pass index 101"
        ],
        "cmdUnderTest": "$TC action add action ctinfo cpmark 0x02000000 drop index 101",
        "expExitCode": "255",
        "verifyCmd": "$TC action get action ctinfo index 101",
        "matchPattern": "action order [0-9]*: ctinfo zone 20 pass.*index 101",
        "matchCount": "1",
        "teardown": [
            "$TC action flush action ctinfo"
        ]
    },
    {
        "id": "8295",
        "name": "Add ctinfo action with invalid index",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC actions flush action ctinfo",
                0,
                1,
                255
            ]
        ],
        "cmdUnderTest": "$TC action add action ctinfo zone 20 index 4294967296",
        "expExitCode": "255",
        "verifyCmd": "$TC action ls action ctinfo",
        "matchPattern": "action order [0-9]*: ctinfo",
        "matchCount": "0",
        "teardown": [
            "$TC action flush action ctinfo"
        ]
    },
    {
        "id": "3964",
        "name": "Replace ctinfo action with invalid goto_chain control",
        "category": [
            "actions",
            "ctinfo"
        ],
        "plugins": {
           "requires": "nsPlugin"
        },
        "setup": [
            [
                "$TC actions flush action ctinfo",
                0,
                1,
                255
            ],
            "$TC action add action ctinfo pass index 90"
        ],
        "cmdUnderTest": "$TC action replace action ctinfo goto chain 42 index 90",
        "expExitCode": "255",
        "verifyCmd": "$TC action list action ctinfo",
        "matchPattern": "action order [0-9]*: ctinfo.*pass.*index 90",
        "matchCount": "1",
        "teardown": [
            "$TC action flush action ctinfo"
        ]
    }
]
