aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/Classify.py
diff options
context:
space:
mode:
authorselias <samelias@cisco.com>2016-07-12 16:19:05 +0200
committerSamuel Eliáš <samelias@cisco.com>2016-07-21 13:44:42 +0000
commit5d2ce55a8641a030ec6984089c51aa9313f46af1 (patch)
tree850db9abc3f1ca83a42c420eea158459fedd337c /resources/libraries/python/Classify.py
parent80532e03b9d223407c4b9d2245449dbdc4c03c1b (diff)
CSIT-49: HC Test: Policy - security groups
- add test suite for ACLs - add keywords used in tests - add resource file with variables used in ACL tests - add methods and VAT templates for reading VPP ACL data Change-Id: I98c78bfbce67309ae33ebb05c04640f5029bf4e2 Signed-off-by: selias <samelias@cisco.com>
Diffstat (limited to 'resources/libraries/python/Classify.py')
-rw-r--r--resources/libraries/python/Classify.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/resources/libraries/python/Classify.py b/resources/libraries/python/Classify.py
index d955a9cc8c..dfa5c3377d 100644
--- a/resources/libraries/python/Classify.py
+++ b/resources/libraries/python/Classify.py
@@ -280,3 +280,46 @@ class Classify(object):
# base value of classify hex table for IPv6 TCP/UDP ports
else:
raise ValueError("Invalid IP version!")
+
+ @staticmethod
+ def get_classify_table_data(node, table_index):
+ """Retrieve settings for classify table by ID.
+
+ :param node: VPP node to retrieve classify data from.
+ :param table_index: Index of a specific classify table.
+ :type node: dict
+ :type table_index: int
+ :return: Classify table settings.
+ :rtype: dict
+ """
+ with VatTerminal(node) as vat:
+ data = vat.vat_terminal_exec_cmd_from_template(
+ "classify_table_info.vat",
+ table_id=table_index
+ )
+ return data[0]
+
+ @staticmethod
+ def get_classify_session_data(node, table_index, session_index=None):
+ """Retrieve settings for all classify sessions in a table,
+ or for a specific classify session.
+
+ :param node: VPP node to retrieve classify data from.
+ :param table_index: Index of a classify table.
+ :param session_index: Index of a specific classify session. (Optional)
+ :type node: dict
+ :type table_index: int
+ :type session_index: int
+ :return: List of classify session settings, or a dictionary of settings
+ for a specific classify session.
+ :rtype: list or dict
+ """
+ with VatTerminal(node) as vat:
+ data = vat.vat_terminal_exec_cmd_from_template(
+ "classify_session_dump.vat",
+ table_id=table_index
+ )
+ if session_index is not None:
+ return data[0][session_index]
+ else:
+ return data[0]