aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--resources/libraries/python/LispUtil.py43
-rw-r--r--resources/libraries/robot/lisp/lisp_api.robot23
-rw-r--r--resources/templates/vat/lisp/del_lisp_remote_mapping.vat2
-rw-r--r--resources/test_data/lisp/api/lisp_api_resources.py60
-rw-r--r--tests/func/lisp/lisp_api_untagged.robot19
-rw-r--r--tests/func/lisp/lisp_dataplane_untagged.robot5
-rw-r--r--tests/func/lisp/lisp_ipv4_lispgpe_ipv4.robot2
7 files changed, 106 insertions, 48 deletions
diff --git a/resources/libraries/python/LispUtil.py b/resources/libraries/python/LispUtil.py
index c50e626b80..556ae1b289 100644
--- a/resources/libraries/python/LispUtil.py
+++ b/resources/libraries/python/LispUtil.py
@@ -120,23 +120,10 @@ class LispUtil(object):
:type locator_set2: list
"""
- # Remove duplicate value which is not set in vpp node.
locator_set_list = []
- tmp_list = list(locator_set1)
- while len(tmp_list):
- locator_set = tmp_list.pop(0)
- locator_set_name = locator_set.get('locator-set')
- for tmp_loc_set in tmp_list:
- tmp_loc_set_name = tmp_loc_set.get('locator-set')
- if locator_set_name == tmp_loc_set_name:
- locator_set = tmp_loc_set
- tmp_list.remove(tmp_loc_set)
- locator_set_list.append(locator_set)
-
- for locator_set in locator_set2:
- if 'locator-set-index' in locator_set:
- del locator_set['locator-set-index']
-
+ for item in locator_set1:
+ if item not in locator_set_list:
+ locator_set_list.append(item)
self.lisp_should_be_equal(locator_set_list, locator_set2)
@staticmethod
@@ -148,13 +135,15 @@ class LispUtil(object):
:param locator_set_number: Generate n locator_set.
:type node: dict
:type locator_set_number: str
- :return: list of lisp locator_set.
- :rtype: list
+ :return: list of lisp locator_set, list of lisp locator_set expected
+ from VAT.
+ :rtype: tuple
"""
topo = Topology()
locator_set_list = []
+ locator_set_list_vat = []
i = 0
for num in range(0, int(locator_set_number)):
locator_list = []
@@ -177,7 +166,11 @@ class LispUtil(object):
'locator': locator_list}
locator_set_list.append(locator_set)
- return locator_set_list
+ locator_set_vat = {"ls_name": l_name,
+ "ls_index": num}
+ locator_set_list_vat.append(locator_set_vat)
+
+ return locator_set_list, locator_set_list_vat
@staticmethod
def generate_duplicate_lisp_locator_set_data(node, locator_set_number):
@@ -188,12 +181,14 @@ class LispUtil(object):
:param locator_set_number: Generate n locator_set.
:type node: dict
:type locator_set_number: str
- :return: list of lisp locator_set.
- :rtype: list
+ :return: list of lisp locator_set, list of lisp locator_set expected
+ from VAT.
+ :rtype: tuple
"""
topo = Topology()
locator_set_list = []
+ locator_set_list_vat = []
i = 0
for num in range(0, int(locator_set_number)):
locator_list = []
@@ -215,7 +210,11 @@ class LispUtil(object):
'locator': locator_list}
locator_set_list.append(locator_set)
- return locator_set_list
+ locator_set_vat = {"ls_name": l_name,
+ "ls_index": num}
+ locator_set_list_vat.append(locator_set_vat)
+
+ return locator_set_list, locator_set_list_vat
def lisp_is_empty(self, lisp_params):
"""Check if the input param are empty.
diff --git a/resources/libraries/robot/lisp/lisp_api.robot b/resources/libraries/robot/lisp/lisp_api.robot
index 4bd22bc036..a8b59e0fee 100644
--- a/resources/libraries/robot/lisp/lisp_api.robot
+++ b/resources/libraries/robot/lisp/lisp_api.robot
@@ -35,15 +35,19 @@
| | ...
| | ... | _NOTE:_ This KW sets following test case variables:
| | ... | - locator_set_values - New generated locator_set data.
+| | ... | - locator_set_values_vat - New generated locator_set data expected\
+| | ... | from VAT.
| | ...
| | ... | *Example:*
| | ... | \| Given Lisp locator_set data is prepared \| ${nodes['DUT1']} \
| | ... | \| ${locator_set_number} \|
| | ...
| | [Arguments] | ${dut_node} | ${locator_set_number}
-| | ${locator_set_values}= | Generate Unique Lisp Locator Set Data |
-| | ... | ${dut_node} | ${locator_set_number}
+| | ${locator_set_values} | ${locator_set_values_vat}=
+| | ... | Generate Unique Lisp Locator Set Data
+| | ... | ${dut_node} | ${locator_set_number}
| | Set Test Variable | ${locator_set_values}
+| | Set Test Variable | ${locator_set_values_vat}
| Lisp locator_set data is set
| | [Documentation] | Set the lisp locator_set and locator on the VPP node.
@@ -75,9 +79,8 @@
| | ... | - 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_vat - Generated locator_set data from
+| | ... | KW locator_set data is prepared, which are expected from VPP via VAT.
| | ...
| | ... | *Example:*
| | ... | \| Then Lisp locator_set is set correctly \| ${nodes['DUT1']} \|
@@ -85,7 +88,7 @@
| | [Arguments] | ${dut_node}
| | ${show_locator_set}= | Vpp Show Lisp Locator Set | ${dut_node} | local
| | Lisp Locator S Should Be Equal
-| | ... | ${locator_set_values} | ${show_locator_set}
+| | ... | ${locator_set_values_vat} | ${show_locator_set}
| Delete all lisp locator_set from VPP
| | [Documentation] | Delete all lisp locator_set on the VPP node.
@@ -138,15 +141,19 @@
| | ...
| | ... | _NOTE:_ This KW sets following test case variables:
| | ... | - locator_set_values - New generate locator_set data.
+| | ... | - locator_set_values_vat - New generated locator_set data expected\
+| | ... | from VAT.
| | ...
| | ... | *Example:*
| | ... | \| Given Lisp locator_set data use for test reset locator_set \
| | ... | are prepared \| ${nodes['DUT1']} \| ${locator_set_number} \|
| | ...
| | [Arguments] | ${dut_node} | ${locator_set_number}
-| | ${locator_set_values}= | Generate Duplicate Lisp Locator Set Data |
-| | ... | ${dut_node} | ${locator_set_number}
+| | ${locator_set_values} | ${locator_set_values_vat}=
+| | ... | Generate Duplicate Lisp Locator Set Data
+| | ... | ${dut_node} | ${locator_set_number}
| | Set Test Variable | ${locator_set_values}
+| | Set Test Variable | ${locator_set_values_vat}
| Lisp eid address is set
| | [Documentation] | Set the lisp eid address on the VPP node.
diff --git a/resources/templates/vat/lisp/del_lisp_remote_mapping.vat b/resources/templates/vat/lisp/del_lisp_remote_mapping.vat
index f090ef97f5..515611ffd0 100644
--- a/resources/templates/vat/lisp/del_lisp_remote_mapping.vat
+++ b/resources/templates/vat/lisp/del_lisp_remote_mapping.vat
@@ -1 +1 @@
-lisp_add_del_remote_mapping del vni {vni} deid {deid}/{deid_prefix} seid {seid}/{seid_prefix} rloc {rloc}
+lisp_add_del_remote_mapping del vni {vni} eid {deid}/{deid_prefix} seid {seid}/{seid_prefix} rloc {rloc}
diff --git a/resources/test_data/lisp/api/lisp_api_resources.py b/resources/test_data/lisp/api/lisp_api_resources.py
index 45ae73510f..cc97f1c0e3 100644
--- a/resources/test_data/lisp/api/lisp_api_resources.py
+++ b/resources/test_data/lisp/api/lisp_api_resources.py
@@ -71,6 +71,66 @@ eid_table = [{'eid': '192.168.0.0',
'ttl': 0,
'authoritative': 0}]
+# Expected data from VPP via VAT
+eid_table_vat = [
+ {
+ "action": 0,
+ "is_local": 1,
+ "eid": "192.168.0.0/24",
+ "vni": 0,
+ "ttl": 0,
+ "authoritative": 0
+ },
+ {
+ "action": 0,
+ "is_local": 1,
+ "eid": "192.168.1.0/24",
+ "vni": 0,
+ "ttl": 0,
+ "authoritative": 0
+ },
+ {
+ "action": 0,
+ "is_local": 1,
+ "eid": "192.168.2.0/24",
+ "vni": 0,
+ "ttl": 0,
+ "authoritative": 0
+ },
+ {
+ "action": 0,
+ "is_local": 1,
+ "eid": "192.168.3.0/24",
+ "vni": 0,
+ "ttl": 0,
+ "authoritative": 0
+ },
+ {
+ "action": 0,
+ "is_local": 1,
+ "eid": "10:1::/64",
+ "vni": 0,
+ "ttl": 0,
+ "authoritative": 0
+ },
+ {
+ "action": 0,
+ "is_local": 1,
+ "eid": "10:2::/64",
+ "vni": 0,
+ "ttl": 0,
+ "authoritative": 0
+ },
+ {
+ "action": 0,
+ "is_local": 1,
+ "eid": "10:3::/64",
+ "vni": 0,
+ "ttl": 0,
+ "authoritative": 0
+ }
+]
+
# Example lisp map resolvers data we want set to VPP
# and then check if it is set correctly.
map_resolver = [{'map resolver': '192.169.0.1'},
diff --git a/tests/func/lisp/lisp_api_untagged.robot b/tests/func/lisp/lisp_api_untagged.robot
index 385b4a7d3b..38692a067a 100644
--- a/tests/func/lisp/lisp_api_untagged.robot
+++ b/tests/func/lisp/lisp_api_untagged.robot
@@ -61,10 +61,9 @@
| | ... | configured locator_set and locator are correct. [Cfg2] Then
| | ... | remove locator_set and locator. [Ver2] check DUT1 locator_set
| | ... | and locator are removed. [Ref] RFC6830.
-| | [Tags] | EXPECTED_FAILING
| | Given Lisp locator_set data is prepared
| | ... | ${nodes['DUT1']} | ${locator_set_num}
-| | And Enable lisp | ${nodes['DUT1']}
+| | And Enable lisp | ${nodes['DUT1']}
| | When Lisp locator_set data is set | ${nodes['DUT1']}
| | Then Lisp locator_set is set correctly | ${nodes['DUT1']}
| | When Delete all lisp locator_set from VPP | ${nodes['DUT1']}
@@ -79,10 +78,9 @@
| | ... | locator are correct. [Cfg3] Then remove locator_set and locator.
| | ... | [Ver3] Check DUT1 all locator_set and locators are removed.
| | ... | [Ref] RFC6830.
-| | [Tags] | EXPECTED_FAILING
| | Given Lisp locator_set data use for test reset locator_set are prepared
| | ... | ${nodes['DUT1']} | ${locator_set_num}
-| | And Enable lisp | ${nodes['DUT1']}
+| | And Enable lisp | ${nodes['DUT1']}
| | When Lisp locator_set data is set | ${nodes['DUT1']}
| | Then Lisp locator_set is set correctly | ${nodes['DUT1']}
| | When Delete all lisp locator_set from VPP | ${nodes['DUT1']}
@@ -94,11 +92,10 @@
| | ... | configure LISP eid IP address. [Ver1] Check DUT1 configured data
| | ... | is correct. [Cfg2] Remove configured data. [Ver2] Check DUT1 all
| | ... | eid IP addresses are removed. [Ref] RFC6830.
-| | [Tags] | EXPECTED_FAILING
| | 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}
+| | Then Lisp eid address is set correctly to eid table
+| | ... | ${nodes['DUT1']} | ${eid_table_vat}
| | When Delete all lisp eid address from VPP | ${nodes['DUT1']} | ${eid_table}
| | Then Lisp eid table should be empty | ${nodes['DUT1']}
@@ -111,8 +108,8 @@
| | ... | RFC6830.
| | 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']}
-| | ... | ${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']} | ${map_resolver}
| | Then Lip map resolver address should be empty | ${nodes['DUT1']}
diff --git a/tests/func/lisp/lisp_dataplane_untagged.robot b/tests/func/lisp/lisp_dataplane_untagged.robot
index 0fe9aaff18..f2da80a2db 100644
--- a/tests/func/lisp/lisp_dataplane_untagged.robot
+++ b/tests/func/lisp/lisp_dataplane_untagged.robot
@@ -62,7 +62,6 @@
| | ... | [Cfg2] Reconf LISP.
| | ... | [Ver2] Verify packets are received again via LISP tunnel.
| | ... | [Ref] RFC6830.
-| | [Tags] | EXPECTED_FAILING
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| | And Interfaces in 3-node path are up
@@ -122,7 +121,6 @@
| | ... | [Cfg2] Reconf LISP.
| | ... | [Ver2] Verify packets are received again via LISP tunnel.
| | ... | [Ref] RFC6830.
-| | [Tags] | EXPECTED_FAILING
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| | And Interfaces in 3-node path are up
@@ -182,7 +180,6 @@
| | ... | [Cfg2] Reconf LISP.
| | ... | [Ver2] Verify packets are received again via LISP tunnel.
| | ... | [Ref] RFC6830.
-| | [Tags] | EXPECTED_FAILING
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| | And Interfaces in 3-node path are up
@@ -241,7 +238,6 @@
| | ... | [Cfg2] Reconf LISP.
| | ... | [Ver2] Verify packets are received again via LISP tunnel.
| | ... | [Ref] RFC6830.
-| | [Tags] | EXPECTED_FAILING
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| | And Interfaces in 3-node path are up
@@ -302,7 +298,6 @@
| | ... | [Cfg3] Re-enable LISP.
| | ... | [Ver3] Verify packets are received again via LISP tunnel.
| | ... | [Ref] RFC6830.
-| | [Tags] | EXPECTED_FAILING
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| | And Interfaces in 3-node path are up
diff --git a/tests/func/lisp/lisp_ipv4_lispgpe_ipv4.robot b/tests/func/lisp/lisp_ipv4_lispgpe_ipv4.robot
index 8a18962e35..0ffcb8909a 100644
--- a/tests/func/lisp/lisp_ipv4_lispgpe_ipv4.robot
+++ b/tests/func/lisp/lisp_ipv4_lispgpe_ipv4.robot
@@ -26,7 +26,7 @@
# Import configuration and test data:
| Variables | resources/test_data/lisp/ipv4_lispgpe_ipv4/ipv4_lispgpe_ipv4.py
| ...
-| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | EXPECTED_FAILING
+| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV
| ...
| Test Setup | Run Keywords | Setup all DUTs before test
| ... | AND | Setup all TGs before traffic script