diff --git a/tools/testing/selftests/tc-testing/tc-tests/p4tc/action_templates.json b/tools/testing/selftests/tc-testing/tc-tests/p4tc/action_templates.json
new file mode 100644
index 000000000..162a1e007
--- /dev/null
+++ b/tools/testing/selftests/tc-testing/tc-tests/p4tc/action_templates.json
@@ -0,0 +1,3937 @@
+[
+    {
+        "id": "c494",
+        "name": "Create valid action template with param type bit32",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit32",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "4964",
+        "name": "Create valid action template with param type bit8",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test param param1 type bit8",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit8",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "2ed6",
+        "name": "Create valid action template with param type bit16",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test param param1 type bit16",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit16",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "ec54",
+        "name": "Create valid action template with param type bit64",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test param param1 type bit64",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit64",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "6c74",
+        "name": "Create valid action template with param type mac",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test param param1 type macaddr",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "macaddr",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "bf9c",
+        "name": "Create valid action template with param type ipv4",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test param param1 type ipv4",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "ipv4",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "03f3",
+        "name": "Create valid action template with param type bit32 and create an instance of action",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions add action ptables/test param param1 type bit32 id 1 4294967295",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "total acts": 0
+            },
+            {
+                "actions": [
+                    {
+                        "order": 1,
+                        "kind": "ptables/test",
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit32",
+                                "value": 4294967295,
+                                "id": 1
+                            }
+                        ],
+                        "index": 1,
+                        "ref": 1,
+                        "bind": 0,
+                        "not_in_hw": true
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "80f5",
+        "name": "Create valid action template with param type bit32 and try to add it to table_acts_list of another pipeline",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC actions add action pass index 3",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC actions add action pass index 4",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ],
+            [
+                "$TC p4template create pipeline/ptables2 pipeid 23 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create table/ptables2/cb/tname tblid 22 keysz 16 table_acts act name ptables/test",
+        "expExitCode": "255",
+        "verifyCmd": "$TC p4template get table/ptables2/cb/tname",
+        "matchCount": "1",
+        "matchPattern": "Error: Table name not found",
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables2",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "782e",
+        "name": "Create valid action template with param type bit8 and create an instance of action",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit8",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions add action ptables/test param param1 type bit8 id 1 255",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "total acts": 0
+            },
+            {
+                "actions": [
+                    {
+                        "order": 1,
+                        "kind": "ptables/test",
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit8",
+                                "value": 255,
+                                "id": 1
+                            }
+                        ],
+                        "index": 1,
+                        "ref": 1,
+                        "bind": 0,
+                        "not_in_hw": true
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "e250",
+        "name": "Create valid action template with param type bit16 and create an instance of action",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit16",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions add action ptables/test param param1 type bit16 id 1 65535",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "total acts": 0
+            },
+            {
+                "actions": [
+                    {
+                        "order": 1,
+                        "kind": "ptables/test",
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit16",
+                                "value": 65535,
+                                "id": 1
+                            }
+                        ],
+                        "index": 1,
+                        "ref": 1,
+                        "bind": 0,
+                        "not_in_hw": true
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "99b7",
+        "name": "Create valid action template with param type bit64 and create an instance of action",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit64",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions add action ptables/test param param1 type bit64 id 1 4294967295",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "total acts": 0
+            },
+            {
+                "actions": [
+                    {
+                        "order": 1,
+                        "kind": "ptables/test",
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit64",
+                                "value": 4294967295,
+                                "id": 1
+                            }
+                        ],
+                        "index": 1,
+                        "ref": 1,
+                        "bind": 0,
+                        "not_in_hw": true
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "367c",
+        "name": "Create valid action template with param type mac and create an instance of action",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type macaddr",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions add action ptables/test param param1 type macaddr id 1 AA:BB:CC:DD:EE:FF",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "total acts": 0
+            },
+            {
+                "actions": [
+                    {
+                        "order": 1,
+                        "kind": "ptables/test",
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "macaddr",
+                                "value": "aa:bb:cc:dd:ee:ff",
+                                "id": 1
+                            }
+                        ],
+                        "index": 1,
+                        "ref": 1,
+                        "bind": 0,
+                        "not_in_hw": true
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "315c",
+        "name": "Create valid action template with param type ipv4 and create an instance of action",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type ipv4",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions add action ptables/test param param1 type ipv4 id 1 10.10.10.0/24",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "total acts": 0
+            },
+            {
+                "actions": [
+                    {
+                        "order": 1,
+                        "kind": "ptables/test",
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "ipv4",
+                                "value": "10.10.10.0/24",
+                                "id": 1
+                            }
+                        ],
+                        "index": 1,
+                        "ref": 1,
+                        "bind": 0,
+                        "not_in_hw": true
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "62b1",
+        "name": "Create valid action template with two params",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test param param1 type bit32 param param2 type bit16",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit32",
+                                "id": 1
+                            },
+                            {
+                                "name": "param2",
+                                "type": "bit16",
+                                "id": 2
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "73a5",
+        "name": "Create valid action template with no params",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": []
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "c403",
+        "name": "Try to create action template with param of unknown type",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test param param1 type notvalid",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchPattern": "Error: Action name not found.*",
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "d21f",
+        "name": "Try to create action template with two params and one of unknown type",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test param param1 type bit32 param param2 type notvalid",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchPattern": "Error: Action name not found.*",
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "164e",
+        "name": "Try to create action template with same name twice",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test param param1 type bit64",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit32",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "de27",
+        "name": "Try to create action template with same id twice",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test2 actid 1 param param1 type bit64",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/ actid 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit32",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "b711",
+        "name": "Try to create action template with name > IFNAMSIZ",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/CMPCQGOzcLG8HILTQxsQYKfDg4zQQdtmNfosyAhQxhqDTC8cg10QediAAzIMvel2Y actid 1 param param1 type bit32",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/ actid 1",
+        "matchCount": "1",
+        "matchPattern": "Error: Unable to find action by id.*",
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "17f3",
+        "name": "Try to create action template with param name > ACTPARAMNAMSIZ",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test actid 1 param oDXNP48egpqbhrFfRZxEMcJu4p2932zuTVO7ab81kXaYsLfJJWx1qF4QbohzvlLfBgS7j2Xo5wR3jQ9yuRARyFMNvGilXoufpvvwr8Z5bBaD8H80Lav8LleO5Qss5CjmE8l34Vomvn7LEEfeRTAzOCbPew7L2DuoQz2JQtyGFsZ8dEORnjFaZBZ6CGDPh68strQiFwEHUs6lUpbIxhxB6xarZGpwktZOyascnZLbc901mqrx96gnx939LpDkaNLij type bit32",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/ actid 1",
+        "matchCount": "1",
+        "matchPattern": "Error: Unable to find action by id.*",
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "5bbe",
+        "name": "Update action template param type to bit16",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template update action/ptables/test param param1 type bit16",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/ actid 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit16",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "e596",
+        "name": "Update action template param type to bit8",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template update action/ptables/test param param1 type bit8",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/ actid 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit8",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "b74b",
+        "name": "Update action template param type to bit64",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template update action/ptables/test param param1 type bit64",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/ actid 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit64",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "5d74",
+        "name": "Update action template param type to ipv4",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template update action/ptables/test param param1 type ipv4",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/ actid 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "ipv4",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "3b81",
+        "name": "Update action template param type to mac",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template update action/ptables/test param param1 type macaddr",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/ actid 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "macaddr",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "cc31",
+        "name": "Try to add new param during update",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template update action/ptables/test param param1 type bit16 param param2 type bit8",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/ actid 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit32",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "03b7",
+        "name": "Update action template param by id",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32 id 1",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template update action/ptables/test param param1 type bit16 id 1",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/ actid 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit16",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "c695",
+        "name": "Try to update inexistent action template by id",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template update action/ptables/ actid 1 param param1 type bit16 id 1",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/ actid 1",
+        "matchCount": "1",
+        "matchPattern": "Error: Unable to find action by id.*",
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "86ef",
+        "name": "Try to update inexistent action template by name",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template update action/ptables/test param param1 type bit16 id 1",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchPattern": "Error: Action name not found.*",
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "636f",
+        "name": "Create valid action template with param type bit32, create an instance of action and update it",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ],
+            [
+                "$TC actions add action ptables/test param param1 type bit32 id 1 4294967295 index 1",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions replace action ptables/test param param1 type bit32 id 1 22 index 1",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "total acts": 0
+            },
+            {
+                "actions": [
+                    {
+                        "order": 1,
+                        "kind": "ptables/test",
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit32",
+                                "value": 22,
+                                "id": 1
+                            }
+                        ],
+                        "index": 1,
+                        "ref": 1,
+                        "bind": 0,
+                        "not_in_hw": true
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "f13d",
+        "name": "Create valid action template with param type bit32, create an instance of action and delete it",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ],
+            [
+                "$TC actions add action ptables/test param param1 type bit32 id 1 4294967295 index 1",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions del action ptables/test index 1",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchPattern": "Error: TC action with specified index not found.*",
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state inactive",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "11f8",
+        "name": "Create valid action template with two params, create an instance of action and delete it",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32 param param2 type bit32",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ],
+            [
+                "$TC actions add action ptables/test param param1 type bit32 4294967295 param param2 type bit32 22 index 1",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions del action ptables/test index 1",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchPattern": "Error: TC action with specified index not found.*",
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state inactive",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "cccb",
+        "name": "Create valid action template with no params, create an instance of action and delete it",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ],
+            [
+                "$TC actions add action ptables/test index 1",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions del action ptables/test index 1",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchPattern": "Error: TC action with specified index not found.*",
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state inactive",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "8523",
+        "name": "Create valid action template with param type bit32, create two instances of action and dump",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ],
+            [
+                "$TC actions add action ptables/test param param1 type bit32 id 1 4294967295 index 1",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions add action ptables/test param param1 type bit32 id 1 42 index 2",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j actions ls action ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "total acts": 2
+            },
+            {
+                "actions": [
+                    {
+                        "order": 0,
+                        "kind": "ptables/test",
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit32",
+                                "value": 4294967295,
+                                "id": 1
+                            }
+                        ],
+                        "index": 1,
+                        "ref": 1,
+                        "bind": 0,
+                        "not_in_hw": true
+                    },
+                    {
+                        "order": 1,
+                        "kind": "ptables/test",
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit32",
+                                "value": 42,
+                                "id": 1
+                            }
+                        ],
+                        "index": 2,
+                        "ref": 1,
+                        "bind": 0,
+                        "not_in_hw": true
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state inactive",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "cc14",
+        "name": "Create action template, add instance and try to bind action to filter",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "plugins": {
+            "requires": "nsPlugin"
+        },
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32 id 1",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ],
+            [
+                "$TC actions add action ptables/test param param1 type bit32 id 1 4294967295",
+                0
+            ],
+            [
+                "$TC qdisc add dev $DEV1 ingress",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 65535 protocol ip matchall action ptables/test index 1",
+        "expExitCode": "2",
+        "verifyCmd": "$TC -j filter get dev $DEV1 parent ffff: handle 1 prio 65535 protocol ip matchall",
+        "matchCount": "1",
+        "matchPattern": "Error: Cannot find specified filter chain.*",
+        "teardown": [
+            [
+                "$TC qdisc del dev $DEV1 ingress",
+                0
+            ],
+            [
+                "sleep 1",
+                0
+            ],
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state inactive",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "e3e4",
+        "name": "Dump action templates using pname to find pipeline",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test2 actid 2 param param1 type bit64",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test3 param param1 type bit64",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "pname": "ptables",
+                "pipeid": 22,
+                "obj": "action template"
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test"
+                    },
+                    {
+                        "aname": "ptables/test2"
+                    },
+                    {
+                        "aname": "ptables/test3"
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "25bc",
+        "name": "Dump action templates using pipeid to find pipeline",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test2 actid 2 param param1 type bit64",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test3 param param1 type bit64",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ pipeid 22",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "pname": "ptables",
+                "pipeid": 22,
+                "obj": "action template"
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test"
+                    },
+                    {
+                        "aname": "ptables/test2"
+                    },
+                    {
+                        "aname": "ptables/test3"
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "f1e1",
+        "name": "Dump action templates without specifying pipeid or pname",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test2 actid 2 param param1 type bit64",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test3 param param1 type bit64",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/",
+        "matchCount": "1",
+        "matchPattern": "Error: Must specify pipeline name or id.*",
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "dc67",
+        "name": "Dump action templates IDR with more than P4TC_MAXMSG_COUNT elements",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test2 param param1 type bit64",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test3 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test4 param param1 type bit64",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test5 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test6 param param1 type bit64",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test7 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test8 param param1 type bit64",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test9 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test10 param param1 type bit64",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test11 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test12 param param1 type bit64",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test13 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test14 param param1 type bit64",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test15 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test16 param param1 type bit64",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template create action/ptables/test17 param param1 type bit64",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ pipeid 22",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "pname": "ptables",
+                "pipeid": 22,
+                "obj": "action template"
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test"
+                    },
+                    {
+                        "aname": "ptables/test2"
+                    },
+                    {
+                        "aname": "ptables/test3"
+                    },
+                    {
+                        "aname": "ptables/test4"
+                    },
+                    {
+                        "aname": "ptables/test5"
+                    },
+                    {
+                        "aname": "ptables/test6"
+                    },
+                    {
+                        "aname": "ptables/test7"
+                    },
+                    {
+                        "aname": "ptables/test8"
+                    },
+                    {
+                        "aname": "ptables/test9"
+                    },
+                    {
+                        "aname": "ptables/test10"
+                    },
+                    {
+                        "aname": "ptables/test11"
+                    },
+                    {
+                        "aname": "ptables/test12"
+                    },
+                    {
+                        "aname": "ptables/test13"
+                    },
+                    {
+                        "aname": "ptables/test14"
+                    },
+                    {
+                        "aname": "ptables/test15"
+                    },
+                    {
+                        "aname": "ptables/test16"
+                    }
+                ]
+            },
+            {
+                "pname": "ptables",
+                "pipeid": 22,
+                "obj": "action template"
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test17"
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "fd55",
+        "name": "Flush action templates using pname to find pipeline",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test2 actid 2 param param1 type bit64",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template del action/ptables/",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/",
+        "matchCount": "1",
+        "matchJSON": [],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "7e85",
+        "name": "Flush action templates using pipeid to find pipeline",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test2 actid 2 param param1 type bit64",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template del action/ pipeid 22",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/",
+        "matchCount": "1",
+        "matchJSON": [],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "f444",
+        "name": "Try to flush action templates without specifying pname or pipeid",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test2 actid 2 param param1 type bit64",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template del action/",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "pname": "ptables",
+                "pipeid": 22,
+                "obj": "action template"
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test"
+                    },
+                    {
+                        "aname": "ptables/test2"
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "fced",
+        "name": "Delete action template using action name",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template del action/ptables/test",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchPattern": "Error: Action name not found.*",
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "049e",
+        "name": "Delete template action by actid",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template del action/ pipeid 22 actid 1",
+        "expExitCode": "0",
+        "verifyCmd": "$TC -j p4template get action/ pipeid 22 actid 1",
+        "matchCount": "1",
+        "matchPattern": "Error: Unable to find action by id.*",
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "e6e9",
+        "name": "Try to delete inexistent action template",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template del action/ pipeid 22 actid 1",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ pipeid 22 actid 1",
+        "matchCount": "1",
+        "matchPattern": "Error: Unable to find action by id.*",
+        "teardown": [
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "4817",
+        "name": "Create valid action template with param type bit32, create an instance of action and try to delete action",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ],
+            [
+                "$TC actions add action ptables/test param param1 type bit32 id 1 4294967295",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template del action ptables/test",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "total acts": 0
+            },
+            {
+                "actions": [
+                    {
+                        "order": 1,
+                        "kind": "ptables/test",
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "bit32",
+                                "value": 4294967295,
+                                "id": 1
+                            }
+                        ],
+                        "index": 1,
+                        "ref": 1,
+                        "bind": 0,
+                        "not_in_hw": true
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state inactive",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "4c0f",
+        "name": "Create valid action template and try to instantiate it without making it active",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type macaddr",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions add action ptables/test param param1 type macaddr id 1 AA:BB:CC:DD:EE:FF",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "macaddr",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "6756",
+        "name": "Create valid action template, make it active and try to update it",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type macaddr",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC p4template update action/ptables/test param param1 type bit64",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j p4template get action/ptables/test",
+        "matchCount": "1",
+        "matchJSON": [
+            {
+                "obj": "action template",
+                "pname": "ptables",
+                "pipeid": 22
+            },
+            {
+                "templates": [
+                    {
+                        "aname": "ptables/test",
+                        "actid": 1,
+                        "params": [
+                            {
+                                "name": "param1",
+                                "type": "macaddr",
+                                "id": 1
+                            }
+                        ]
+                    }
+                ]
+            }
+        ],
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state inactive",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "a06b",
+        "name": "Create action template, and try to bind action to a filter",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "plugins": {
+            "requires": "nsPlugin"
+        },
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test actid 1 param param1 type bit32 id 1",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ],
+            [
+                "$TC qdisc add dev $DEV1 ingress",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 65535 protocol ip matchall action ptables/test param param1 type bit32 id 1 4294967295",
+        "expExitCode": "2",
+        "verifyCmd": "$TC -j filter get dev $DEV1 parent ffff: handle 1 prio 65535 protocol ip matchall",
+        "matchCount": "1",
+        "matchPattern": "Error: Cannot find specified filter chain.*",
+        "teardown": [
+            [
+                "$TC qdisc del dev $DEV1 ingress",
+                0
+            ],
+            [
+                "sleep 1",
+                0
+            ],
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state inactive",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    },
+    {
+        "id": "3495",
+        "name": "Create valid action template with param type bit32 and create an instance of action with incorrect param type",
+        "category": [
+            "p4tc",
+            "template"
+        ],
+        "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 pass index 2",
+                0,
+                1,
+                255
+            ],
+            [
+                "$TC p4template create pipeline/ptables pipeid 22 numtables 2",
+                0
+            ],
+            [
+                "$TC p4template create action/ptables/test param param1 type bit32",
+                0
+            ],
+            [
+                "$TC p4template update action/ptables/test state active",
+                0
+            ]
+        ],
+        "cmdUnderTest": "$TC actions add action ptables/test param param1 type bit64 id 1 4294967295",
+        "expExitCode": "255",
+        "verifyCmd": "$TC -j actions get action ptables/test index 1",
+        "matchCount": "1",
+        "matchPattern": "Error: TC action with specified index not found.*",
+        "teardown": [
+            [
+                "$TC actions flush action ptables/test",
+                0
+            ],
+            [
+                "$TC p4template del pipeline/ptables",
+                0
+            ],
+            [
+                "$TC actions flush action gact",
+                0
+            ]
+        ]
+    }
+]
