new file mode 100644
@@ -0,0 +1,1448 @@
+[
+ {
+ "id": "2c2f",
+ "name": "Create valid pipeline",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0,
+ 1,
+ 255
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 22,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 2,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "8a18",
+ "name": "Try to create pipeline without name",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0,
+ 1,
+ 255
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ pipeid 22 numtables 2",
+ "expExitCode": "255",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchPattern": "Error: Pipeline name not found.*",
+ "teardown": [
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "b103",
+ "name": "Create pipeline without numtables",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ptables pipeid 22",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 22,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 0,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "ceff",
+ "name": "Create pipeline with numtables = 0",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ptables pipeid 22 numtables 0",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 22,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 0,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "7a5a",
+ "name": "Try to create pipeline with numtables > 32",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ptables pipeid 22 numtables 33",
+ "expExitCode": "255",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchPattern": "Error: Pipeline name not found.*",
+ "teardown": [
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "5dd2",
+ "name": "Create pipeline with numtables = 32",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ptables pipeid 1 numtables 32",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 1,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 32,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "571e",
+ "name": "Create pipeline with numtables = 256",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ptables pipeid 1 numtables 2",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 1,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 2,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "f6f8",
+ "name": "Try to create pipeline with same name twice",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables pipeid 22",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ptables pipeid 22 numtables 4",
+ "expExitCode": "255",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 22,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 0,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "8e88",
+ "name": "Update numtables in existing pipeline",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables pipeid 1",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template update pipeline/ptables numtables 4",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 1,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 4,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "9e27",
+ "name": "Update numtables with 0",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables pipeid 1",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template update pipeline/ pipeid 1 numtables 0",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 1,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 0,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "01a3",
+ "name": "Try to update numtables with 33",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables pipeid 1",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template update pipeline/ pipeid 1 numtables 33",
+ "expExitCode": "255",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 1,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 0,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "db08",
+ "name": "Try to seal pipeline which is not ready",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables pipeid 1 numtables 1",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template update pipeline/ pipeid 1 state ready",
+ "expExitCode": "255",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 1,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 1,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "26",
+ "name": "Delete pipeline by name",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables pipeid 1",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template del pipeline/ptables",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchPattern": "Error: Pipeline name not found.*",
+ "teardown": [
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "8855",
+ "name": "Delete pipeline by id",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables pipeid 42",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template del pipeline/ pipeid 42",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/ pipeid 42",
+ "matchCount": "1",
+ "matchPattern": "Error: Unable to find pipeline by id.*",
+ "teardown": [
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "757e",
+ "name": "Try to delete inexistent pipeline by name",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [],
+ "cmdUnderTest": "$TC p4template del pipeline/ptables",
+ "expExitCode": "255",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchPattern": "Error: Pipeline name not found.*",
+ "teardown": []
+ },
+ {
+ "id": "4bff",
+ "name": "Try to delete inexistent pipeline by id",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [],
+ "cmdUnderTest": "$TC p4template del pipeline/ pipeid 1",
+ "expExitCode": "255",
+ "verifyCmd": "$TC -j p4template get pipeline/ pipeid 1",
+ "matchCount": "1",
+ "matchPattern": "Error: Unable to find pipeline by id.*",
+ "teardown": []
+ },
+ {
+ "id": "15b3",
+ "name": "Try to flush pipelines",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables pipeid 42",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template del pipeline/",
+ "expExitCode": "255",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 42,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 0,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "6051",
+ "name": "Dump pipeline list",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC actions add action pass index 3",
+ 0
+ ],
+ [
+ "$TC actions add action pass index 4",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables pipeid 42",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ptables2 pipeid 22",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pname": "ptables2"
+ },
+ {
+ "pname": "ptables"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables2",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "0944",
+ "name": "Check action bind and ref after pipeline deletion",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables pipeid 42",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template del pipeline/ pipeid 42",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j actions ls action gact",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "total acts": 2
+ },
+ {
+ "actions": [
+ {
+ "kind": "gact",
+ "index": 1,
+ "ref": 1,
+ "bind": 0
+ },
+ {
+ "kind": "gact",
+ "index": 2,
+ "ref": 1,
+ "bind": 0
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "6c15",
+ "name": "Try to create pipeline with same pipeid twice",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables pipeid 22",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ptables2 pipeid 22 numtables 4",
+ "expExitCode": "255",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "pname": "ptables",
+ "pipeid": 22,
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pnumtables": 0,
+ "pstate": "not ready"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "e32a",
+ "name": "Dump pipeline when amount of pipelines > P4TC_MSGBATCH_SIZE",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ],
+ [
+ "$TC actions add action pass index 3",
+ 0
+ ],
+ [
+ "$TC actions add action pass index 4",
+ 0
+ ],
+ [
+ "$TC actions add action pass index 5",
+ 0
+ ],
+ [
+ "$TC actions add action pass index 6",
+ 0
+ ],
+ [
+ "$TC actions add action pass index 7",
+ 0
+ ],
+ [
+ "$TC actions add action pass index 8",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables2",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables3",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables4",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables5",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables6",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables7",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables8",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables9",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables10",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables11",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables12",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables13",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables14",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables15",
+ 0
+ ],
+ [
+ "$TC p4template create pipeline/ptables16",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ptables17 pipeid 2147483647",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/",
+ "matchCount": "1",
+ "matchJSON": [
+ {
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pname": "ptables"
+ },
+ {
+ "pname": "ptables2"
+ },
+ {
+ "pname": "ptables3"
+ },
+ {
+ "pname": "ptables4"
+ },
+ {
+ "pname": "ptables5"
+ },
+ {
+ "pname": "ptables6"
+ },
+ {
+ "pname": "ptables7"
+ },
+ {
+ "pname": "ptables8"
+ },
+ {
+ "pname": "ptables9"
+ },
+ {
+ "pname": "ptables10"
+ },
+ {
+ "pname": "ptables11"
+ },
+ {
+ "pname": "ptables12"
+ },
+ {
+ "pname": "ptables13"
+ },
+ {
+ "pname": "ptables14"
+ },
+ {
+ "pname": "ptables15"
+ },
+ {
+ "pname": "ptables16"
+ }
+ ]
+ },
+ {
+ "obj": "pipeline"
+ },
+ {
+ "templates": [
+ {
+ "pname": "ptables17"
+ }
+ ]
+ }
+ ],
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables2",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables3",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables4",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables5",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables6",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables7",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables8",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables9",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables10",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables11",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables12",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables13",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables14",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables15",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables16",
+ 0
+ ],
+ [
+ "$TC p4template del pipeline/ptables17",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "398c",
+ "name": "Test overflow in pipeid when we search for inexistent pipeline and we have pipeid 2147483647 in idr",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/ptables pipeid 2147483647",
+ "expExitCode": "0",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables2",
+ "matchCount": "1",
+ "matchPattern": "Error: Pipeline name not found.*",
+ "teardown": [
+ [
+ "$TC p4template del pipeline/ptables",
+ 0
+ ],
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "cd4e",
+ "name": "Try to create pipeline without name or id",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/",
+ "expExitCode": "255",
+ "verifyCmd": "$TC -j p4template get pipeline/ptables",
+ "matchCount": "1",
+ "matchPattern": "Error: Pipeline name not found.*",
+ "teardown": [
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ },
+ {
+ "id": "6356",
+ "name": "Create pipeline with name length > PIPELINENAMSIZ",
+ "category": [
+ "p4tc",
+ "template",
+ "pipeline"
+ ],
+ "setup": [
+ [
+ "$TC actions flush action gact",
+ 0,
+ 1,
+ 255
+ ],
+ [
+ "$TC actions add action pass index 1",
+ 0
+ ],
+ [
+ "$TC actions add action drop index 2",
+ 0
+ ]
+ ],
+ "cmdUnderTest": "$TC p4template create pipeline/7eozFYyaqVCD7H0xS3M5sMnluUqPgZewfSLnYPf4s3k0lbx8lKoR32zSqiGsh84qJ32vnLPdl7f2XcUh5yIdEP7uJy2C3iPtyU7159s9CMB0EtTAlWTVz4U1jkQ5h2advwp3KCVsZ1jlGgStoJL2op5ZxoThTSUQLR61a5RNDovoSFcq86Brh6oW9DSmTbN6SYygbG3JLnEHzRC5hh0jGmJKHq5ivBK9Y9FlNZQXC9wVwX4qTFAd8ITUTj2Au2Jg1 pipeid 1",
+ "expExitCode": "255",
+ "verifyCmd": "$TC -j p4template get pipeline/ pipeid 1",
+ "matchCount": "1",
+ "matchPattern": "Error: Unable to find pipeline by id.*",
+ "teardown": [
+ [
+ "$TC actions flush action gact",
+ 0
+ ]
+ ]
+ }
+]