Lisp enable/disable test 16/1416/8
authorAndrej Kozemcak <akozemca@cisco.com>
Thu, 26 May 2016 13:35:02 +0000 (15:35 +0200)
committerMatej Klotton <mklotton@cisco.com>
Fri, 17 Jun 2016 13:56:56 +0000 (13:56 +0000)
Test lisp enable/disable API.
Test disable lisp, re-enable it and check if everthing is still working.
Enable lisp before every lisp API test
Reformat source data

Change-Id: I7bace01535562814d85d7b5f6035436d583abf53
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
resources/libraries/python/LispSetup.py
resources/libraries/python/LispUtil.py
resources/libraries/robot/lisp/lisp_api.robot
resources/libraries/robot/lisp/lisp_static_mapping.robot
resources/templates/vat/lisp/lisp_status.vat [moved from resources/templates/vat/lisp/lisp.vat with 100% similarity]
tests/suites/lisp/lisp_api_untagged.robot
tests/suites/lisp/lisp_dataplane_untagged.robot
tests/suites/lisp/resources/lisp_api_resources.py [new file with mode: 0644]

index 88fcfac..14f9929 100644 (file)
@@ -17,7 +17,7 @@ from resources.libraries.python.topology import NodeType
 from resources.libraries.python.VatExecutor import VatExecutor
 
 
 from resources.libraries.python.VatExecutor import VatExecutor
 
 
-class Lisp(object):
+class LispStatus(object):
     """Class for lisp API."""
 
     def __init__(self):
     """Class for lisp API."""
 
     def __init__(self):
@@ -34,7 +34,7 @@ class Lisp(object):
         """
 
         VatExecutor.cmd_from_template(node,
         """
 
         VatExecutor.cmd_from_template(node,
-                                      'lisp/lisp.vat',
+                                      'lisp/lisp_status.vat',
                                       state=state)
 
 
                                       state=state)
 
 
@@ -494,16 +494,3 @@ class LispSetup(object):
 
         lgi = LispGpeIface()
         lgi.vpp_lisp_gpe_iface(node, state)
 
         lgi = LispGpeIface()
         lgi.vpp_lisp_gpe_iface(node, state)
-
-    @staticmethod
-    def vpp_lisp_state(node, state):
-        """Enable/Disable lisp on VPP node in topology.
-
-        :param node: VPP node.
-        :param state: State of the lisp, enable or disable
-        :type node: dict
-        :type state: str
-        """
-
-        lgi = Lisp()
-        lgi.vpp_lisp_enable_disable(node, state)
index 17a46cd..219d2c7 100644 (file)
@@ -24,6 +24,21 @@ class LispUtil(object):
     def __init__(self):
         pass
 
     def __init__(self):
         pass
 
+    @staticmethod
+    def vpp_show_lisp_state(node):
+        """Get lisp state from VPP node.
+
+        :param node: VPP node.
+        :type node: dict
+        :return: Lisp gpe state.
+        :rtype: list
+        """
+
+        vat = VatExecutor()
+        vat.execute_script_json_out('lisp/show_lisp_enable_disable.vat',
+                                    node)
+        return JsonParser().parse_data(vat.get_script_stdout())
+
     @staticmethod
     def vpp_show_lisp_locator_set(node):
         """Get lisp locator_set from VPP node.
     @staticmethod
     def vpp_show_lisp_locator_set(node):
         """Get lisp locator_set from VPP node.
@@ -191,62 +206,6 @@ class LispUtil(object):
         loc_type = {'reset': locator_set_list}
         return loc_type
 
         loc_type = {'reset': locator_set_list}
         return loc_type
 
-    @staticmethod
-    def generate_lisp_local_eid_data(ipv4_num, ipv6_num):
-        """Generate a list of lisp local eid we want set to VPP and
-        then check if is set correct.
-
-        :param ipv4_num: Generate n ipv4 eid address.
-        :param ipv6_num: Generate n ipv6 eid address.
-        :type ipv4_num: str
-        :type ipv6_num: str
-        :return: list of lisp local eid.
-        :rtype: list
-        """
-
-        eid_table = []
-        for num in range(0, int(ipv4_num)):
-            addrr = '192.168.{}.1'.format(num)
-            eid = {'eid address': addrr,
-                   'eid prefix len': 24,
-                   'locator-set': 'ls1'}
-            eid_table.append(eid)
-
-        for num in range(0, int(ipv6_num)):
-            addrr = '10:{}::1'.format(num + 1)
-            eid = {'eid address': addrr,
-                   'eid prefix len': 32,
-                   'locator-set': 'ls1'}
-            eid_table.append(eid)
-
-        return eid_table
-
-    @staticmethod
-    def generate_lisp_map_resolver_data(ipv4_num, ipv6_num):
-        """Generate a list of lisp map resolvers we want set to VPP and
-        then check if is set correct.
-
-        :param ipv4_num: Generate n ipv4 map resolver address.
-        :param ipv6_num: Generate n ipv6 map resolver address.
-        :type ipv4_num: str
-        :type ipv6_num: str
-        :return: list of lisp map resolver.
-        :rtype: list
-        """
-
-        map_resolver = []
-        for i in range(0, int(ipv4_num)):
-            addr = '192.169.{}.1'.format(i)
-            resolver = {'map resolver': addr}
-            map_resolver.append(resolver)
-
-        for i in range(0, int(ipv6_num)):
-            addr = '12:{}::1'.format(i + 1)
-            resolver = {'map resolver': addr}
-            map_resolver.append(resolver)
-
-        return map_resolver
-
     def lisp_is_empty(self, lisp_params):
         """Check if the input param are empty.
 
     def lisp_is_empty(self, lisp_params):
         """Check if the input param are empty.
 
index 43471a9..54ba6b7 100644 (file)
@@ -14,6 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/interfaces.robot
 | Library  | resources.libraries.python.NodePath
 *** Settings ***
 | Resource | resources/libraries/robot/interfaces.robot
 | Library  | resources.libraries.python.NodePath
+| Library  | resources.libraries.python.LispSetup.LispStatus
 | Library  | resources.libraries.python.LispSetup.LispSetup
 | Library  | resources.libraries.python.LispUtil
 
 | Library  | resources.libraries.python.LispSetup.LispSetup
 | Library  | resources.libraries.python.LispUtil
 
 | | ...             | the lisp locator_set and locator API.
 | | ...
 | | ... | *Arguments:*
 | | ...             | the lisp locator_set and locator API.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
-| | ... | - ${locator_set_number} - Number how many locator_set data
-| | ... |                           will be generated. Type: integer
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ... | - locator_set_number - Number how many locator_set data
+| | ... |                        will be generated. Type: integer
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW sets following test case variables:
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW sets following test case variables:
-| | ... | - ${locator_set_values} - New generated locator_set data.
+| | ... | - locator_set_values - New generated locator_set data.
 | | ...
 | | ... | *Example:*
 | | ... | \| Given Lisp locator_set data is prepared \| ${nodes['DUT1']} \
 | | ...
 | | ... | *Example:*
 | | ... | \| Given Lisp locator_set data is prepared \| ${nodes['DUT1']} \
 | | [Documentation] | Set the lisp locator_set and locator on the VPP node.
 | | ...
 | | ... | *Arguments:*
 | | [Documentation] | Set the lisp locator_set and locator on the VPP node.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW requires following test case variables:
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW requires following test case variables:
-| | ... | - ${locator_set_values} - Generated locator_set data from
-| | ... |                           KW locator_set data is prepared,
-| | ... |                           which will be set on the VPP node.
+| | ... | - locator_set_values - Generated locator_set data from
+| | ... |                        KW locator_set data is prepared,
+| | ... |                        which will be set on the VPP node.
 | | ...
 | | ... | *Example:*
 | | ... | \| When Lisp locator_set data is set \| ${nodes['DUT1']} \|
 | | ...
 | | ... | *Example:*
 | | ... | \| When Lisp locator_set data is set \| ${nodes['DUT1']} \|
 | | [Arguments] | ${dut_node}
 | | Vpp Set Lisp Locator Set | ${dut_node} | ${locator_set_values}
 
 | | [Arguments] | ${dut_node}
 | | Vpp Set Lisp Locator Set | ${dut_node} | ${locator_set_values}
 
-| Lisp locator_set is set correct
-| | [Documentation] | Test if the locator_set is set correct on the VPP node.
+| Lisp locator_set is set correctly
+| | [Documentation] | Test if the locator_set is set correctly on the VPP node.
 | | ...
 | | ... | *Arguments:*
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW requires following test case variables:
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW requires following test case variables:
-| | ... | - ${locator_set_values} - Generated locator_set data from
-| | ... |                           KW locator_set data is prepared,
-| | ... |                           which were set to VPP node.
+| | ... | - locator_set_values - Generated locator_set data from
+| | ... |                        KW locator_set data is prepared,
+| | ... |                        which were set to VPP node.
 | | ...
 | | ... | *Example:*
 | | ...
 | | ... | *Example:*
-| | ... | \| Then Lisp locator_set is set correct \| ${nodes['DUT1']} \|
+| | ... | \| Then Lisp locator_set is set correctly \| ${nodes['DUT1']} \|
 | | ...
 | | [Arguments] | ${dut_node}
 | | ${show_locator_set}= | Vpp Show Lisp Locator Set | ${dut_node}
 | | ...
 | | [Arguments] | ${dut_node}
 | | ${show_locator_set}= | Vpp Show Lisp Locator Set | ${dut_node}
 | | [Documentation] | Delete all lisp locator_set on the VPP node.
 | | ...
 | | ... | *Arguments:*
 | | [Documentation] | Delete all lisp locator_set on the VPP node.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW requires following test case variables:
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW requires following test case variables:
-| | ... | - ${locator_set_values} - Generated locator_set data from
-| | ... |                           KW locator_set data is prepared,
-| | ... |                           which was set on the VPP node.
+| | ... | - locator_set_values - Generated locator_set data from
+| | ... |                        KW locator_set data is prepared,
+| | ... |                        which was set on the VPP node.
 | | ...
 | | ... | *Example:*
 | | ... | \| When Delete all lisp locator_set from VPP \
 | | ...
 | | ... | *Example:*
 | | ... | \| When Delete all lisp locator_set from VPP \
 | | [Documentation] | Test if all locator_set are unset from VPP node.
 | | ...
 | | ... | *Arguments:*
 | | [Documentation] | Test if all locator_set are unset from VPP node.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...             | This data will be use for test reset locator_set.
 | | ...
 | | ... | *Arguments:*
 | | ...             | This data will be use for test reset locator_set.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
-| | ... | - ${locator_set_number} - Number how many locator_set data
-| | ...                          | it will generate. Type: int
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ... | - locator_set_number - Number how many locator_set data
+| | ... |                        it will generate. Type: int
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW sets following test case variables:
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW sets following test case variables:
-| | ... | - ${locator_set_values} - New generate locator_set data.
+| | ... | - locator_set_values - New generate locator_set data.
 | | ...
 | | ... | *Example:*
 | | ... | \| Given Lisp locator_set data use for test reset locator_set \
 | | ...
 | | ... | *Example:*
 | | ... | \| Given Lisp locator_set data use for test reset locator_set \
 | | [Documentation] | Generate lisp eid address for testing lisp eid API.
 | | ...
 | | ... | *Arguments:*
 | | [Documentation] | Generate lisp eid address for testing lisp eid API.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
-| | ... | - ${eid_ipv4_num} - Number of generate ipv4 address. Type: int
-| | ... | - ${eid_ipv6_num} - Number of generate ipv6 address. Type: int
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ... | - eid_ipv4_num - Number of generate ipv4 address. Type: int
+| | ... | - eid_ipv6_num - Number of generate ipv6 address. Type: int
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW sets following test case variables:
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW sets following test case variables:
-| | ... | - ${set_eid} - New generate eid data.
+| | ... | - set_eid - New generate eid data.
 | | ...
 | | ... | *Example:*
 | | ... | \| Given Lisp eid address is prepared \| ${nodes['DUT1']} \
 | | ...
 | | ... | *Example:*
 | | ... | \| Given Lisp eid address is prepared \| ${nodes['DUT1']} \
 | | [Documentation] | Set the lisp eid address on the VPP node.
 | | ...
 | | ... | *Arguments:*
 | | [Documentation] | Set the lisp eid address on the VPP node.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ... | - set_eid - Test eid data. Type: list
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
-| | ... | _NOTE:_ This KW requires following test case variables:
-| | ... | - ${set_eid} - Generated eid data which will be set to VPP.
-| | ...
 | | ... | *Example:*
 | | ... | *Example:*
-| | ... | \| When Lisp eid address is set \| ${nodes['DUT1']} \|
+| | ... | \| When Lisp eid address is set \| ${nodes['DUT1']} \| ${eid_table} |\
 | | ...
 | | ...
-| | [Arguments] | ${dut_node}
+| | [Arguments] | ${dut_node} | ${set_eid}
 | | Vpp Set Lisp Eid Table | ${dut_node} | ${set_eid}
 
 | | Vpp Set Lisp Eid Table | ${dut_node} | ${set_eid}
 
-| Lisp eid address is set correct to eid table
-| | [Documentation] | Test if the locator_set is set correct on the VPP node.
+| Lisp eid address is set correctly to eid table
+| | [Documentation] | Test if the locator_set is set correctly on the VPP node.
 | | ...
 | | ... | *Arguments:*
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ... | - set_eid - Example eid data, which was set to the VPP node.
+| | ... |                Type: list
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW requires following test case variables:
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | _NOTE:_ This KW requires following test case variables:
-| | ... | - ${set_eid} - Generated eid data which will be set to the VPP node.
+| | ... | - set_eid - Generated eid data, which will be set to the VPP node.
 | | ...
 | | ... | *Example:*
 | | ...
 | | ... | *Example:*
-| | ... | \| Then Lisp eid address is set correct to eid table \
-| | ... | \| ${nodes['DUT1']} \|
+| | ... | \| Then Lisp eid address is set correctly to eid table \
+| | ... | \| ${nodes['DUT1']} \| ${eid_table} \|
 | | ...
 | | ...
-| | [Arguments] | ${dut_node}
+| | [Arguments] | ${dut_node} | ${set_eid}
 | | ${show_eid}= | Vpp Show Lisp Local Eid Table | ${dut_node}
 | | Lisp Should Be Equal | ${set_eid} | ${show_eid}
 
 | | ${show_eid}= | Vpp Show Lisp Local Eid Table | ${dut_node}
 | | Lisp Should Be Equal | ${set_eid} | ${show_eid}
 
 | | [Documentation] | Delete all lisp eid address from the VPP node.
 | | ...
 | | ... | *Arguments:*
 | | [Documentation] | Delete all lisp eid address from the VPP node.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ... | - set_eid - Eid data which will be removed from the VPP node.
+| | ... |             Type: list
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
-| | ... | _NOTE:_ This KW requires following test case variables:
-| | ... | - ${set_eid} - Generated eid data which was set to the VPP node.
-| | ...
 | | ... | *Example:*
 | | ... | \| When Delete all lisp eid address from VPP \
 | | ... | *Example:*
 | | ... | \| When Delete all lisp eid address from VPP \
-| | ... | \| ${nodes['DUT1']} \|
+| | ... | \| ${nodes['DUT1']} \| ${eid_table} \|
 | | ...
 | | ...
-| | [Arguments] | ${dut_node}
+| | [Arguments] | ${dut_node} | ${set_eid}
 | | Vpp Unset Lisp Eid Table | ${dut_node} | ${set_eid}
 
 | Lisp eid table should be empty
 | | [Documentation] | Test if the eid table is empty.
 | | ...
 | | ... | *Arguments:*
 | | Vpp Unset Lisp Eid Table | ${dut_node} | ${set_eid}
 
 | Lisp eid table should be empty
 | | [Documentation] | Test if the eid table is empty.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ${show_eid}= | Vpp Show Lisp Local Eid Table | ${dut_node}
 | | Lisp Is Empty | ${show_eid}
 
 | | ${show_eid}= | Vpp Show Lisp Local Eid Table | ${dut_node}
 | | Lisp Is Empty | ${show_eid}
 
-| Lisp map resolver address is prepared
-| | [Documentation] | Generate map resolver address for testing
-| | ...             | lisp map resolver API.
-| | ...
-| | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
-| | ... | - ${map_resolver_ipv4_num} - Number of generate ipv4 address.
-| | ... |                              Type: int
-| | ... | - ${map_resolver_ipv6_num} - Number of generate ipv6 address.
-| | ... |                              Type: int
-| | ...
-| | ... | *Return:*
-| | ... | - No value returned
-| | ...
-| | ... | _NOTE:_ This KW sets following test case variables:
-| | ... | - ${set_map_resolver} - Generate map resolver data.
-| | ...
-| | ... | *Example:*
-| | ... | \| Given Lisp map resolver address is prepared \
-| | ... | \| ${nodes['DUT1']} \| ${map_resolver_ipv4_num} \
-| | ... | \| ${map_resolver_ipv6_num} \|
-| | ...
-| | [Arguments] | ${dut_node} | ${map_resolver_ipv4_num} | ${map_resolver_ipv6_num}
-| | ${set_map_resolver} = | Generate Lisp Map Resolver Data
-| | ... | ${map_resolver_ipv4_num} | ${map_resolver_ipv6_num}
-| | Set Test Variable | ${set_map_resolver}
-
 | Lisp map resolver address is set
 | | [Documentation] | Set the lisp map resolver address in the VPP node.
 | | ...
 | | ... | *Arguments:*
 | Lisp map resolver address is set
 | | [Documentation] | Set the lisp map resolver address in the VPP node.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ... | - set_map_resolver - Map resolver data, which will be set on
+| | ... |                      the VPP node. Type: list
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
-| | ... | _NOTE:_ This KW requires following test case variables:
-| | ... | - ${set_map_resolver} - Map resolver data which will be set
-| | ... |                         to the VPP node.
-| | ...
 | | ... | *Example:*
 | | ... | *Example:*
-| | ... | \| When Lisp map resolver address is set \| ${nodes['DUT1']} \|
+| | ... | \| When Lisp map resolver address is set \| ${nodes['DUT1']} \
+| | ... | \| ${map_resolver} \|
 | | ...
 | | ...
-| | [Arguments] | ${dut_node}
+| | [Arguments] | ${dut_node} | ${set_map_resolver}
 | | Vpp Set Lisp Map Resolver | ${dut_node} | ${set_map_resolver}
 
 | | Vpp Set Lisp Map Resolver | ${dut_node} | ${set_map_resolver}
 
-| Lisp map resolver address is set correct
-| | [Documentation] | Test if the map resolver address is set correct
+| Lisp map resolver address is set correctly
+| | [Documentation] | Test if the map resolver address is set correctly
 | | ...             | on the VPP node.
 | | ...
 | | ... | *Arguments:*
 | | ...             | on the VPP node.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ... | - set_map_resolver - Map resolver data, which was set on
+| | ... |                      the VPP node. Type: list
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
-| | ... | _NOTE:_ This KW requires following test case variables:
-| | ... | - ${set_map_resolver} - Map resolver data which was set
-| | ... |                         to the VPP node.
-| | ...
 | | ... | *Example:*
 | | ... | *Example:*
-| | ... | \| Then Lisp map resolver address is set correct \
-| | ... | \| ${nodes['DUT1']} \|
+| | ... | \| Then Lisp map resolver address is set correctly \
+| | ... | \| ${nodes['DUT1']} \| ${map_resolver} \|
 | | ...
 | | ...
-| | [Arguments] | ${dut_node}
+| | [Arguments] | ${dut_node} | ${set_map_resolver}
 | | ${show_map_resolver}= | Vpp Show Lisp Map Resolver | ${dut_node}
 | | Lisp Should Be Equal | ${set_map_resolver} | ${show_map_resolver}
 
 | | ${show_map_resolver}= | Vpp Show Lisp Map Resolver | ${dut_node}
 | | Lisp Should Be Equal | ${set_map_resolver} | ${show_map_resolver}
 
 | | [Documentation] | Delete all lisp map resolver address on the VPP node.
 | | ...
 | | ... | *Arguments:*
 | | [Documentation] | Delete all lisp map resolver address on the VPP node.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ... | - map_resolver - Map resolver data, which will be remove from
+| | ... |                  the VPP. Type: list
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
-| | ... | _NOTE:_ This KW requires following test case variables:
-| | ... | - ${set_map_resolver} - Map resolver data which was set
-| | ... |                         to the VPP node.
-| | ...
 | | ... | *Example:*
 | | ... | \| When Delete all lisp map resolver address from VPP \
 | | ... | *Example:*
 | | ... | \| When Delete all lisp map resolver address from VPP \
-| | ... | \| ${nodes['DUT1']} \|
+| | ... | \| ${nodes['DUT1']} \| ${map_resolver} \|
 | | ...
 | | ...
-| | [Arguments] | ${dut_node}
+| | [Arguments] | ${dut_node} | ${set_map_resolver}
 | | Vpp Unset Lisp Map Resolver | ${dut_node} | ${set_map_resolver}
 
 | Lip map resolver address should be empty
 | | [Documentation] | Test if the map resolver are empty.
 | | ...
 | | ... | *Arguments:*
 | | Vpp Unset Lisp Map Resolver | ${dut_node} | ${set_map_resolver}
 
 | Lip map resolver address should be empty
 | | [Documentation] | Test if the map resolver are empty.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - dut_node - DUT node. Type: dictionary
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | [Arguments] | ${dut_node}
 | | ${show_map_resolver}= | Vpp Show Lisp Map Resolver | ${dut_node}
 | | Lisp Is Empty | ${show_map_resolver}
 | | [Arguments] | ${dut_node}
 | | ${show_map_resolver}= | Vpp Show Lisp Map Resolver | ${dut_node}
 | | Lisp Is Empty | ${show_map_resolver}
+
+| Enable lisp
+| | [Documentation] | Enable lisp on VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | *Example:*
+| | ... | \| Enable lisp \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | Vpp Lisp Enable Disable | ${dut_node} | enable
+
+| Check if lisp is enabled
+| | [Documentation] | Check if the lisp is enabled.
+| | ...
+| | ... | *Arguments:*
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ... | - lisp_status_data - Lisp status data, which was set on
+| | ... |                      the VPP node. Type: list
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | *Example:*
+| | ... | \| Check if lisp is enabled \| ${nodes['DUT1']} \
+| | ... | \| ${lisp_status_data} \|
+| | ...
+| | [Arguments] | ${dut_node} | ${lisp_status_data}
+| | ${show_lisp_stat}= | Vpp Show Lisp State | ${dut_node}
+| | Lisp Should Be Equal | ${show_lisp_stat} | ${lisp_status_data[1]}
+
+| Disable lisp
+| | [Documentation] | Disable lisp on VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | *Example:*
+| | ... | \| Disable lisp \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${dut_node}
+| | Vpp Lisp Enable Disable | ${dut_node} | disable
+
+| Check if lisp is disabled
+| | [Documentation] | Check if lisp is disabled.
+| | ...
+| | ... | *Arguments:*
+| | ... | - dut_node - DUT node. Type: dictionary
+| | ... | - lisp_status_data - Lisp status data, which was set on
+| | ... |                      the VPP node. Type: list
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | *Example:*
+| | ... | \| Check if lisp is disabled \| ${nodes['DUT1']} \
+| | ... | \| ${lisp_status_data} \|
+| | ...
+| | [Arguments] | ${dut_node} | ${lisp_status_data}
+| | ${show_lisp_stat}= | Vpp Show Lisp State | ${dut_node}
+| | Lisp Should Be Equal | ${show_lisp_stat} | ${lisp_status_data[0]}
index 8d6bf31..b6c0e79 100644 (file)
 
 *** Settings ***
 | Documentation | Lisp State mapping suite keywords
 
 *** Settings ***
 | Documentation | Lisp State mapping suite keywords
-| Resource | resources/libraries/robot/interfaces.robot
-| Library  | resources.libraries.python.NodePath
+| Resource | resources/libraries/robot/lisp/lisp_api.robot
 | Library  | resources.libraries.python.LispSetup.LispLocatorSet
 | Library  | resources.libraries.python.LispSetup.LispLocator
 | Library  | resources.libraries.python.LispSetup.LispLocalEid
 | Library  | resources.libraries.python.LispSetup.LispRemoteMapping
 | Library  | resources.libraries.python.LispSetup.LispLocatorSet
 | Library  | resources.libraries.python.LispSetup.LispLocator
 | Library  | resources.libraries.python.LispSetup.LispLocalEid
 | Library  | resources.libraries.python.LispSetup.LispRemoteMapping
-| Library  | resources.libraries.python.LispSetup.LispSetup
-| Library  | resources.libraries.python.LispUtil
 
 *** Keywords ***
 | Set up Lisp topology
 | | [Documentation] | Set up Lisp static remote mapping topology.
 | | ...
 | | ... | *Arguments:*
 
 *** Keywords ***
 | Set up Lisp topology
 | | [Documentation] | Set up Lisp static remote mapping topology.
 | | ...
 | | ... | *Arguments:*
-| | ... | - ${dut1_node} - DUT1 node. Type: dictionary
-| | ... | - ${dut1_int_name} - DUT1 node interface name. Type: string
-| | ... | - ${dut1_int_index} - DUT1 node interface index. Type: integer
-| | ... | - ${dut2_node} - DUT2 node. Type: dictionary
-| | ... | - ${dut2_int_name} - DUT2 node interface name. Type: string
-| | ... | - ${dut2_int_index} - DUT2 node interface index. Type: integer
-| | ... | - ${locator_set} - Locator set values. Type: dict
-| | ... | - ${dut1_eid} - Dut1 node eid address. Type: dict
-| | ... | - ${dut2_eid} - Dut2 node eid address. Type: dict
-| | ... | - ${dut1_static_mapping} - Dut1 static mapping address. Type: dict
-| | ... | - ${dut2_static_mapping} - Dut2 static mapping address. Type: dict
+| | ... | - dut1_node - DUT1 node. Type: dictionary
+| | ... | - dut1_int_name - DUT1 node interface name. Type: string
+| | ... | - dut1_int_index - DUT1 node interface index. Type: integer
+| | ... | - dut2_node - DUT2 node. Type: dictionary
+| | ... | - dut2_int_name - DUT2 node interface name. Type: string
+| | ... | - dut2_int_index - DUT2 node interface index. Type: integer
+| | ... | - locator_set - Locator set values. Type: dict
+| | ... | - dut1_eid - Dut1 node eid address. Type: dict
+| | ... | - dut2_eid - Dut2 node eid address. Type: dict
+| | ... | - dut1_static_mapping - Dut1 static mapping address. Type: dict
+| | ... | - dut2_static_mapping - Dut2 static mapping address. Type: dict
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
 | | ...
 | | ... | *Return:*
 | | ... | - No value returned
@@ -60,7 +57,7 @@
 | |                    | ... | Get Interface Sw Index | ${dut2_node}
 | |                    | ...                          | ${dut2_int_name}
 | |                    | ... | ELSE | Set Variable | ${dut2_int_index}
 | |                    | ... | Get Interface Sw Index | ${dut2_node}
 | |                    | ...                          | ${dut2_int_name}
 | |                    | ... | ELSE | Set Variable | ${dut2_int_index}
-| | Vpp lisp state | ${dut1_node} | enable
+| | Enable Lisp | ${dut1_node}
 | | Vpp Add Lisp Locator Set | ${dut1_node} | ${locator_set['locator_name']}
 | | Vpp Add Lisp Locator | ${dut1_node} | ${locator_set['locator_name']}
 | | ...                  | ${dut1_int_index} | ${locator_set['priority']}
 | | Vpp Add Lisp Locator Set | ${dut1_node} | ${locator_set['locator_name']}
 | | Vpp Add Lisp Locator | ${dut1_node} | ${locator_set['locator_name']}
 | | ...                  | ${dut1_int_index} | ${locator_set['priority']}
@@ -73,7 +70,7 @@
 | | ...                         | ${dut1_static_mapping['seid']}
 | | ...                         | ${dut1_static_mapping['prefix']}
 | | ...                         | ${dut1_static_mapping['rloc']}
 | | ...                         | ${dut1_static_mapping['seid']}
 | | ...                         | ${dut1_static_mapping['prefix']}
 | | ...                         | ${dut1_static_mapping['rloc']}
-| | Vpp Lisp State | ${dut2_node} | enable
+| | Enable Lisp | ${dut2_node}
 | | Vpp Add Lisp Locator Set | ${dut2_node} | ${locator_set['locator_name']}
 | | Vpp Add Lisp Locator | ${dut2_node} | ${locator_set['locator_name']}
 | | ...                  | ${dut2_int_index} | ${locator_set['priority']}
 | | Vpp Add Lisp Locator Set | ${dut2_node} | ${locator_set['locator_name']}
 | | Vpp Add Lisp Locator | ${dut2_node} | ${locator_set['locator_name']}
 | | ...                  | ${dut2_int_index} | ${locator_set['priority']}
index 1a0c309..8769b17 100644 (file)
@@ -20,6 +20,8 @@
 | Resource | resources/libraries/robot/default.robot
 | Resource | resources/libraries/robot/interfaces.robot
 | Resource | resources/libraries/robot/lisp/lisp_api.robot
 | Resource | resources/libraries/robot/default.robot
 | Resource | resources/libraries/robot/interfaces.robot
 | Resource | resources/libraries/robot/lisp/lisp_api.robot
+# import additional Lisp settings from resource file
+| Variables | tests/suites/lisp/resources/lisp_api_resources.py
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
 | ... | VM_ENV | HW_ENV
 | Test Setup | Run Keywords | Setup all DUTs before test
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
 | ... | VM_ENV | HW_ENV
 | Test Setup | Run Keywords | Setup all DUTs before test
 
 *** Variables ***
 | ${locator_set_num}= | 3
 
 *** Variables ***
 | ${locator_set_num}= | 3
-| ${eid_ipv4_num}= | 4
-| ${eid_ipv6_num}= | 3
-| ${map_resolver_ipv4_num}= | 3
-| ${map_resolver_ipv6_num}= | 2
 
 *** Test Cases ***
 
 
 *** Test Cases ***
 
+Vpp can enable and disable Lisp
+| | [Documentation] | Test lisp enable/disable API.
+| | ...             | Enable lisp on the VPP node,
+| | ...             | check if the lisp on the vpp node is enabled.
+| | ...             | Then disable lisp on the vpp node and check if
+| | ...             | the lisp is disabled on the vpp node.
+| | When Enable lisp | ${nodes['DUT1']}
+| | Then Check if lisp is enabled | ${nodes['DUT1']} | ${lisp_status}
+| | When Disable lisp | ${nodes['DUT1']}
+| | Then Check if lisp is disabled | ${nodes['DUT1']} | ${lisp_status}
+
 | VPP can add and delete locator_set
 | | [Documentation] | Test lisp locator_set API
 | | ...             | Set locator_set and locator on the VPP node,
 | VPP can add and delete locator_set
 | | [Documentation] | Test lisp locator_set API
 | | ...             | Set locator_set and locator on the VPP node,
@@ -45,8 +54,9 @@
 | | ...
 | | Given Lisp locator_set data is prepared
 | | ... | ${nodes['DUT1']} | ${locator_set_num}
 | | ...
 | | Given Lisp locator_set data is prepared
 | | ... | ${nodes['DUT1']} | ${locator_set_num}
+| | And   Enable lisp | ${nodes['DUT1']}
 | | When Lisp locator_set data is set | ${nodes['DUT1']}
 | | When Lisp locator_set data is set | ${nodes['DUT1']}
-| | Then Lisp locator_set is set correct | ${nodes['DUT1']}
+| | Then Lisp locator_set is set correctly | ${nodes['DUT1']}
 | | When Delete all lisp locator_set from VPP | ${nodes['DUT1']}
 | | Then Lisp locator_set should be unset | ${nodes['DUT1']}
 
 | | When Delete all lisp locator_set from VPP | ${nodes['DUT1']}
 | | Then Lisp locator_set should be unset | ${nodes['DUT1']}
 
@@ -60,8 +70,9 @@
 | | ...
 | | Given Lisp locator_set data use for test reset locator_set are prepared
 | | ... | ${nodes['DUT1']} | ${locator_set_num}
 | | ...
 | | Given Lisp locator_set data use for test reset locator_set are prepared
 | | ... | ${nodes['DUT1']} | ${locator_set_num}
+| | And   Enable lisp | ${nodes['DUT1']}
 | | When Lisp locator_set data is set | ${nodes['DUT1']}
 | | When Lisp locator_set data is set | ${nodes['DUT1']}
-| | Then Lisp locator_set is set correct | ${nodes['DUT1']}
+| | Then Lisp locator_set is set correctly | ${nodes['DUT1']}
 | | When Delete all lisp locator_set from VPP | ${nodes['DUT1']}
 | | Then Lisp locator_set should be unset | ${nodes['DUT1']}
 
 | | When Delete all lisp locator_set from VPP | ${nodes['DUT1']}
 | | Then Lisp locator_set should be unset | ${nodes['DUT1']}
 
 | | ...             | Check if all eid IP address was unset
 | | ...             | from the VPP node.
 | | ...
 | | ...             | Check if all eid IP address was unset
 | | ...             | from the VPP node.
 | | ...
-| | Given Lisp eid address is prepared
-| | ... | ${nodes['DUT1']} | ${eid_ipv4_num} | ${eid_ipv6_num}
-| | When Lisp eid address is set | ${nodes['DUT1']}
-| | Then Lisp eid address is set correct to eid table | ${nodes['DUT1']}
-| | When Delete all lisp eid address from VPP | ${nodes['DUT1']}
+| | Given Enable lisp | ${nodes['DUT1']}
+| | When Lisp eid address is set | ${nodes['DUT1']} | ${eid_table}
+| | Then Lisp eid address is set correctly to eid table | ${nodes['DUT1']}
+| | ...                                                 | ${eid_table}
+| | When Delete all lisp eid address from VPP | ${nodes['DUT1']} | ${eid_table}
 | | Then Lisp eid table should be empty | ${nodes['DUT1']}
 
 | Vpp can add and delete lisp map resolver address
 | | Then Lisp eid table should be empty | ${nodes['DUT1']}
 
 | Vpp can add and delete lisp map resolver address
 | | ...             | Check if all map resolver address was unset
 | | ...             | from the VPP node.
 | | ...
 | | ...             | Check if all map resolver address was unset
 | | ...             | from the VPP node.
 | | ...
-| | Given Lisp map resolver address is prepared | ${nodes['DUT1']}
-| | ... | ${map_resolver_ipv4_num} | ${map_resolver_ipv6_num}
-| | When Lisp map resolver address is set | ${nodes['DUT1']}
-| | Then Lisp map resolver address is set correct | ${nodes['DUT1']}
+| | Given Enable lisp | ${nodes['DUT1']}
+| | When Lisp map resolver address is set | ${nodes['DUT1']} | ${map_resolver}
+| | Then Lisp map resolver address is set correctly | ${nodes['DUT1']}
+| | ...                                             | ${map_resolver}
 | | When Delete all lisp map resolver address from VPP | ${nodes['DUT1']}
 | | When Delete all lisp map resolver address from VPP | ${nodes['DUT1']}
+| | ...                                                | ${map_resolver}
 | | Then Lip map resolver address should be empty | ${nodes['DUT1']}
 | | Then Lip map resolver address should be empty | ${nodes['DUT1']}
index bdf2909..7e95225 100644 (file)
 | |      ... | ${tg_node} | ${tg2_ip6o4} | ${tg1_ip6o4}
 | |      ... | ${tg_to_dut2} | ${tg_to_dut2_mac} | ${dut2_to_tg_mac}
 | |      ... | ${tg_to_dut1} | ${dut1_to_tg_mac} | ${tg_to_dut1_mac}
 | |      ... | ${tg_node} | ${tg2_ip6o4} | ${tg1_ip6o4}
 | |      ... | ${tg_to_dut2} | ${tg_to_dut2_mac} | ${dut2_to_tg_mac}
 | |      ... | ${tg_to_dut1} | ${dut1_to_tg_mac} | ${tg_to_dut1_mac}
+
+| VPP can disable lisp and then re-enable it and everything should work
+| | [Documentation] | Test disable and enable Lisp.
+| | ...             | Set Lisp and check if lisp work. Then disable Lisp
+| | ...             | and check if it is disabled. At the end re-enable lisp
+| | ...             | and check if Lisp is working.
+| | Given Path for 3-node testing is set
+| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
+| | And   Interfaces in 3-node path are up
+| | And   IP addresses are set on interfaces
+| |       ... | ${dut1_node} | ${dut1_to_dut2}
+| |       ... | ${dut1_to_dut2_ip4} | ${prefix4}
+| |       ... | ${dut1_node} | ${dut1_to_tg}
+| |       ... | ${dut1_to_tg_ip4} | ${prefix4}
+| |       ... | ${dut2_node} | ${dut2_to_dut1}
+| |       ... | ${dut2_to_dut1_ip4} | ${prefix4}
+| |       ... | ${dut2_node} | ${dut2_to_tg}
+| |       ... | ${dut2_to_tg_ip4} | ${prefix4}
+| | And   VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip4}
+| | And   VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip4}
+| | And   Add Arp On Dut | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4}
+| |       ... | ${tg_to_dut2_mac}
+| | And   Add Arp On Dut | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4}
+| |       ... | ${tg_to_dut1_mac}
+| | When Set up Lisp topology
+| |      ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE}
+| |      ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE}
+| |      ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid}
+| |      ... | ${dut1_ip4_static_mapping} | ${dut2_ip4_static_mapping}
+| | Then Send Packet And Check Headers
+| |      ... | ${tg_node} | ${tg1_ip4} | ${tg2_ip4}
+| |      ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac}
+| |      ... | ${tg_to_dut2} | ${dut2_to_tg_mac} | ${tg_to_dut2_mac}
+| | And Send Packet And Check Headers
+| |      ... | ${tg_node} | ${tg2_ip4} | ${tg1_ip4}
+| |      ... | ${tg_to_dut2} | ${tg_to_dut2_mac} | ${dut2_to_tg_mac}
+| |      ... | ${tg_to_dut1} | ${dut1_to_tg_mac} | ${tg_to_dut1_mac}
+| | When Disable Lisp | ${dut1_node}
+| | Then Send packet from Port to Port should failed
+| |      ... | ${tg_node} | ${tg1_ip4} | ${tg2_ip4}
+| |      ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac}
+| |      ... | ${tg_to_dut2} | ${dut2_to_tg_mac} | ${tg_to_dut2_mac}
+| | And Send packet from Port to Port should failed
+| |      ... | ${tg_node} | ${tg2_ip4} | ${tg1_ip4}
+| |      ... | ${tg_to_dut2} | ${tg_to_dut2_mac} | ${dut2_to_tg_mac}
+| |      ... | ${tg_to_dut1} | ${dut1_to_tg_mac} | ${tg_to_dut1_mac}
+| | When Enable Lisp | ${dut1_node}
+| | Then Wait Until Keyword Succeeds | 2x | 5s | Send Packet And Check Headers
+| |      ... | ${tg_node} | ${tg1_ip4} | ${tg2_ip4}
+| |      ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac}
+| |      ... | ${tg_to_dut2} | ${dut2_to_tg_mac} | ${tg_to_dut2_mac}
+| | And Wait Until Keyword Succeeds | 2x | 5s | Send Packet And Check Headers
+| |      ... | ${tg_node} | ${tg2_ip4} | ${tg1_ip4}
+| |      ... | ${tg_to_dut2} | ${tg_to_dut2_mac} | ${dut2_to_tg_mac}
+| |      ... | ${tg_to_dut1} | ${dut1_to_tg_mac} | ${tg_to_dut1_mac}
diff --git a/tests/suites/lisp/resources/lisp_api_resources.py b/tests/suites/lisp/resources/lisp_api_resources.py
new file mode 100644 (file)
index 0000000..b7278a2
--- /dev/null
@@ -0,0 +1,52 @@
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Test variables for Lisp API test suite."""
+
+"""Lisp status example test data."""
+lisp_status = [[{"gpe_status":"disabled",
+                 "feature_status":"disabled"}],
+               [{"gpe_status":"enabled",
+                 "feature_status":"enabled"}]]
+
+"""Example lisp local eid we want set to VPP
+and then check if is set correct."""
+eid_table = [{'eid address': '192.168.0.1',
+              'eid prefix len': 24,
+              'locator-set': 'ls1'},
+             {'eid address': '192.168.1.1',
+              'eid prefix len': 24,
+              'locator-set': 'ls1'},
+             {'eid address': '192.168.2.1',
+              'eid prefix len': 24,
+              'locator-set': 'ls1'},
+             {'eid address': '192.168.3.1',
+              'eid prefix len': 24,
+              'locator-set': 'ls1'},
+             {'eid address': '10:1::1',
+              'eid prefix len': 32,
+              'locator-set': 'ls1'},
+             {'eid address': '10:2::1',
+              'eid prefix len': 32,
+              'locator-set': 'ls1'},
+             {'eid address': '10:3::1',
+              'eid prefix len': 32,
+              'locator-set': 'ls1'}]
+
+"""Example lisp map resolvers data we want set to VPP
+and then check if is set correct."""
+map_resolver = [{'map resolver': '192.169.0.1'},
+                {'map resolver': '192.169.1.1'},
+                {'map resolver': '192.169.2.1'},
+                {'map resolver': '12:1::1'},
+                {'map resolver': '12:2::1'}]