From 721f39743c31003ccbdad3c27ffcc3145bfccf90 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Thu, 7 Jul 2016 23:00:04 +0200 Subject: CSIT-199: Use static adjacencies in LISP dp tests Switch to using static adjacencies and remote mappings instead of only the latter in LISP data plane tests. Change-Id: Ia2a05165425ac68fa7839f9c8f402033b8274fcf Signed-off-by: Florin Coras --- resources/libraries/python/LispSetup.py | 59 +++++++++ resources/libraries/python/LispUtil.py | 2 +- .../robot/lisp/lisp_static_adjacency.robot | 98 +++++++++++++++ .../libraries/robot/lisp/lisp_static_mapping.robot | 87 -------------- .../templates/vat/lisp/add_lisp_adjacency.vat | 1 + .../lisp/static_adjacency/lisp_static_adjacency.py | 132 +++++++++++++++++++++ .../lisp/static_mapping/lisp_static_mapping.py | 132 --------------------- tests/func/lisp/lisp_dataplane_untagged.robot | 29 +++-- 8 files changed, 307 insertions(+), 233 deletions(-) create mode 100644 resources/libraries/robot/lisp/lisp_static_adjacency.robot delete mode 100644 resources/libraries/robot/lisp/lisp_static_mapping.robot create mode 100644 resources/templates/vat/lisp/add_lisp_adjacency.vat create mode 100644 resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py delete mode 100644 resources/test_data/lisp/static_mapping/lisp_static_mapping.py diff --git a/resources/libraries/python/LispSetup.py b/resources/libraries/python/LispSetup.py index 82e1a9787a..13d0501abb 100644 --- a/resources/libraries/python/LispSetup.py +++ b/resources/libraries/python/LispSetup.py @@ -103,6 +103,65 @@ class LispRemoteMapping(object): seid=seid, seid_prefix=seid_prefix, rloc=rloc) +class LispAdjacency(object): + """Class for lisp adjacency API.""" + + def __init__(self): + pass + + @staticmethod + def vpp_add_lisp_adjacency(node, vni, deid, deid_prefix, seid, + seid_prefix): + """Add lisp adjacency on the VPP node in topology. + + :param node: VPP node. + :param vni: Vni. + :param deid: Destination eid address. + :param deid_predix: Destination eid address prefix_len. + :param seid: Source eid address. + :param seid_prefix: Source eid address prefix_len. + :type node: dict + :type vni: int + :type deid: str + :type deid_prefix: int + :type seid: str + :type seid_prefix: int + """ + + VatExecutor.cmd_from_template(node, + 'lisp/add_lisp_adjacency.vat', + vni=vni, + deid=deid, + deid_prefix=deid_prefix, + seid=seid, + seid_prefix=seid_prefix) + + @staticmethod + def vpp_del_lisp_adjacency(node, vni, deid, deid_prefix, seid, + seid_prefix): + """Delete lisp adjacency on the VPP node in topology. + + :param node: VPP node. + :param vni: Vni. + :param deid: Destination eid address. + :param deid_predix: Destination eid address prefix_len. + :param seid: Source eid address. + :param seid_prefix: Source eid address prefix_len. + :type node: dict + :type vni: int + :type deid: str + :type deid_prefix: int + :type seid: str + :type seid_prefix: int + """ + + VatExecutor.cmd_from_template(node, + 'lisp/del_lisp_adjacency.vat', + vni=vni, + deid=deid, + deid_predix=deid_prefix, + seid=seid, + seid_prefix=seid_prefix) class LispGpeIface(object): diff --git a/resources/libraries/python/LispUtil.py b/resources/libraries/python/LispUtil.py index b21e1ae511..157702ade0 100644 --- a/resources/libraries/python/LispUtil.py +++ b/resources/libraries/python/LispUtil.py @@ -101,7 +101,7 @@ class LispUtil(object): for tmp in lisp_val1: if tmp not in lisp_val2: - raise RuntimeError('Value {} is not find in vpp:\n' + raise RuntimeError('Value {} not found in vpp:\n' '{}'.format(tmp, lisp_val2)) def lisp_locator_s_should_be_equal(self, locator_set1, locator_set2): diff --git a/resources/libraries/robot/lisp/lisp_static_adjacency.robot b/resources/libraries/robot/lisp/lisp_static_adjacency.robot new file mode 100644 index 0000000000..79e26c5dc9 --- /dev/null +++ b/resources/libraries/robot/lisp/lisp_static_adjacency.robot @@ -0,0 +1,98 @@ +# 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. + +*** Settings *** +| Documentation | Lisp static adjacency suite keywords +| 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.LispAdjacency +| Library | resources.libraries.python.LispSetup.LispRemoteMapping + +*** Keywords *** +| Set up Lisp topology +| | [Documentation] | Set up Lisp static adjacency 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: dictionary +| | ... | - dut1_eid - Dut1 node eid address. Type: dictionary +| | ... | - dut2_eid - Dut2 node eid address. Type: dictionary +| | ... | - dut1_static_adjacency - Dut1 static adjacency. Type: dictionary +| | ... | - dut2_static_adjacency - Dut2 static address. Type: dictionary +| | ... +| | ... | *Return:* +| | ... | - No value returned +| | ... +| | ... | *Example:* +| | ... | \| Set up Lisp topology \| ${dut1_node} \| ${interface_name} \ +| | ... | \| None \| ${dut2_node} \| ${interface_name} \| None \ +| | ... | \| ${locator_set} \| ${dut1_eid} \| ${dut2_eid} \ +| | ... | \| ${dut1_static_adjacency} \| ${dut2_static_adjacency} \| +| | ... +| | [Arguments] | ${dut1_node} | ${dut1_int_name} | ${dut1_int_index} +| | ... | ${dut2_node} | ${dut2_int_name} | ${dut2_int_index} +| | ... | ${locator_set} | ${dut1_eid} | ${dut2_eid} +| | ... | ${dut1_static_adjacency} | ${dut2_static_adjacency} +| | ${dut1_int_index}= | Run Keyword If | ${dut1_int_index} is None +| | | ... | Get Interface Sw Index | ${dut1_node} +| | | ... | ${dut1_int_name} +| | | ... | ELSE | Set Variable | ${dut1_int_index} +| | ${dut2_int_index}= | Run Keyword If | ${dut2_int_index} is None +| | | ... | Get Interface Sw Index | ${dut2_node} +| | | ... | ${dut2_int_name} +| | | ... | ELSE | Set Variable | ${dut2_int_index} +| | 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']} +| | ... | ${locator_set['weight']} +| | Vpp Add Lisp Local Eid | ${dut1_node} | ${dut1_eid['locator_name']} +| | ... | ${dut1_eid['vni']} | ${dut1_eid['eid']} +| | ... | ${dut1_eid['prefix']} +| | Vpp Add Lisp Remote Mapping | ${dut1_node} | ${dut1_static_adjacency['vni']} +| | ... | ${dut1_static_adjacency['deid']} +| | ... | ${dut1_static_adjacency['prefix']} +| | ... | ${dut1_static_adjacency['seid']} +| | ... | ${dut1_static_adjacency['prefix']} +| | ... | ${dut1_static_adjacency['rloc']} +| | Vpp Add Lisp Adjacency | ${dut1_node} | ${dut1_static_adjacency['vni']} +| | ... | ${dut1_static_adjacency['deid']} +| | ... | ${dut1_static_adjacency['prefix']} +| | ... | ${dut1_static_adjacency['seid']} +| | ... | ${dut1_static_adjacency['prefix']} +| | 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']} +| | ... | ${locator_set['weight']} +| | Vpp Add Lisp Local Eid | ${dut2_node} | ${dut2_eid['locator_name']} +| | ... | ${dut2_eid['vni']} | ${dut2_eid['eid']} +| | ... | ${dut2_eid['prefix']} +| | Vpp Add Lisp Remote Mapping | ${dut2_node} | ${dut2_static_adjacency['vni']} +| | ... | ${dut2_static_adjacency['deid']} +| | ... | ${dut2_static_adjacency['prefix']} +| | ... | ${dut2_static_adjacency['seid']} +| | ... | ${dut2_static_adjacency['prefix']} +| | ... | ${dut2_static_adjacency['rloc']} +| | Vpp Add Lisp Adjacency | ${dut2_node} | ${dut2_static_adjacency['vni']} +| | ... | ${dut2_static_adjacency['deid']} +| | ... | ${dut2_static_adjacency['prefix']} +| | ... | ${dut2_static_adjacency['seid']} +| | ... | ${dut2_static_adjacency['prefix']} \ No newline at end of file diff --git a/resources/libraries/robot/lisp/lisp_static_mapping.robot b/resources/libraries/robot/lisp/lisp_static_mapping.robot deleted file mode 100644 index 3c0668831d..0000000000 --- a/resources/libraries/robot/lisp/lisp_static_mapping.robot +++ /dev/null @@ -1,87 +0,0 @@ -# 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. - -*** Settings *** -| Documentation | Lisp State mapping suite keywords -| 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 - -*** 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 -| | ... -| | ... | *Return:* -| | ... | - No value returned -| | ... -| | ... | *Example:* -| | ... | \| Set up Lisp topology \| ${dut1_node} \| ${interface_name} \ -| | ... | \| None \| ${dut2_node} \| ${interface_name} \| None \ -| | ... | \| ${locator_set} \| ${dut1_eid} \| ${dut2_eid} \ -| | ... | \| ${dut1_static_mapping} \| ${dut2_static_mapping} \| -| | ... -| | [Arguments] | ${dut1_node} | ${dut1_int_name} | ${dut1_int_index} -| | ... | ${dut2_node} | ${dut2_int_name} | ${dut2_int_index} -| | ... | ${locator_set} | ${dut1_eid} | ${dut2_eid} -| | ... | ${dut1_static_mapping} | ${dut2_static_mapping} -| | ${dut1_int_index}= | Run Keyword If | ${dut1_int_index} is None -| | | ... | Get Interface Sw Index | ${dut1_node} -| | | ... | ${dut1_int_name} -| | | ... | ELSE | Set Variable | ${dut1_int_index} -| | ${dut2_int_index}= | Run Keyword If | ${dut2_int_index} is None -| | | ... | Get Interface Sw Index | ${dut2_node} -| | | ... | ${dut2_int_name} -| | | ... | ELSE | Set Variable | ${dut2_int_index} -| | 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']} -| | ... | ${locator_set['weight']} -| | Vpp Add Lisp Local Eid | ${dut1_node} | ${dut1_eid['locator_name']} -| | ... | ${dut1_eid['vni']} | ${dut1_eid['eid']} -| | ... | ${dut1_eid['prefix']} -| | Vpp Add Lisp Remote Mapping | ${dut1_node} | ${dut1_static_mapping['vni']} -| | ... | ${dut1_static_mapping['deid']} -| | ... | ${dut1_static_mapping['prefix']} -| | ... | ${dut1_static_mapping['seid']} -| | ... | ${dut1_static_mapping['prefix']} -| | ... | ${dut1_static_mapping['rloc']} -| | 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']} -| | ... | ${locator_set['weight']} -| | Vpp Add Lisp Local Eid | ${dut2_node} | ${dut2_eid['locator_name']} -| | ... | ${dut2_eid['vni']} | ${dut2_eid['eid']} -| | ... | ${dut2_eid['prefix']} -| | Vpp Add Lisp Remote Mapping | ${dut2_node} | ${dut2_static_mapping['vni']} -| | ... | ${dut2_static_mapping['deid']} -| | ... | ${dut2_static_mapping['prefix']} -| | ... | ${dut2_static_mapping['seid']} -| | ... | ${dut2_static_mapping['prefix']} -| | ... | ${dut2_static_mapping['rloc']} \ No newline at end of file diff --git a/resources/templates/vat/lisp/add_lisp_adjacency.vat b/resources/templates/vat/lisp/add_lisp_adjacency.vat new file mode 100644 index 0000000000..cdc993674c --- /dev/null +++ b/resources/templates/vat/lisp/add_lisp_adjacency.vat @@ -0,0 +1 @@ +lisp_add_del_adjacency add vni {vni} deid {deid}/{deid_prefix} seid {seid}/{seid_prefix} diff --git a/resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py b/resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py new file mode 100644 index 0000000000..de7aff068d --- /dev/null +++ b/resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py @@ -0,0 +1,132 @@ +# 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 remote static mapping test suite.""" + +# Lisp default global value +locator_name = 'ls1' + +# Lisp default locator_set value +duts_locator_set = {'locator_name': locator_name, + 'priority': 1, + 'weight': 1} + +# IPv4 Lisp static mapping configuration +dut1_to_dut2_ip4 = '6.0.3.1' +dut2_to_dut1_ip4 = '6.0.3.2' +dut1_to_tg_ip4 = '6.0.1.1' +dut2_to_tg_ip4 = '6.0.2.1' +tg1_ip4 = '6.0.1.2' +tg2_ip4 = '6.0.2.2' +prefix4 = 24 +dut1_to_dut2_ip4_static_adjacency = {'vni': 0, + 'deid': '6.0.2.0', + 'seid': '6.0.1.0', + 'rloc': '6.0.3.2', + 'prefix': 24} +dut2_to_dut1_ip4_static_adjacency = {'vni': 0, + 'deid': '6.0.1.0', + 'seid': '6.0.2.0', + 'rloc': '6.0.3.1', + 'prefix': 24} +dut1_ip4_eid = {'locator_name': locator_name, + 'vni': 0, + 'eid': '6.0.1.0', + 'prefix': 24} +dut2_ip4_eid = {'locator_name': locator_name, + 'vni': 0, + 'eid': '6.0.2.0', + 'prefix': 24} + +# IPv6 Lisp static mapping configuration +dut1_to_dut2_ip6 = '6:0:3::1' +dut2_to_dut1_ip6 = '6:0:3::2' +dut1_to_tg_ip6 = '6:0:1::1' +dut2_to_tg_ip6 = '6:0:2::1' +tg1_ip6 = '6:0:1::2' +tg2_ip6 = '6:0:2::2' +prefix6 = 64 +dut1_to_dut2_ip6_static_adjacency = {'vni': 0, + 'deid': '6:0:2::0', + 'seid': '6:0:1::0', + 'rloc': '6:0:3::2', + 'prefix': 64} +dut2_to_dut1_ip6_static_adjacency = {'vni': 0, + 'deid': '6:0:1::0', + 'seid': '6:0:2::0', + 'rloc': '6:0:3::1', + 'prefix': 64} +dut1_ip6_eid = {'locator_name': locator_name, + 'vni': 0, + 'eid': '6:0:1::0', + 'prefix': 64} +dut2_ip6_eid = {'locator_name': locator_name, + 'vni': 0, + 'eid': '6:0:2::0', + 'prefix': 64} + +# IPv4 over IPv6 Lisp static mapping configuration +dut1_to_dut2_ip4o6 = '6:0:3::1' +dut2_to_dut1_ip4o6 = '6:0:3::2' +dut1_to_tg_ip4o6 = '6.0.1.1' +dut2_to_tg_ip4o6 = '6.0.2.1' +tg1_ip4o6 = '6.0.1.2' +tg2_ip4o6 = '6.0.2.2' +tg_prefix4o6 = 24 +dut_prefix4o6 = 64 +dut1_ip4o6_static_adjacency = {'vni': 0, + 'deid': '6.0.2.0', + 'seid': '6.0.1.0', + 'rloc': '6:0:3::2', + 'prefix': 24} +dut2_ip4o6_static_adjacency = {'vni': 0, + 'deid': '6.0.1.0', + 'seid': '6.0.2.0', + 'rloc': '6:0:3::1', + 'prefix': 24} +dut1_ip4o6_eid = {'locator_name': locator_name, + 'vni': 0, + 'eid': '6.0.1.0', + 'prefix': 24} +dut2_ip4o6_eid = {'locator_name': locator_name, + 'vni': 0, + 'eid': '6.0.2.0', + 'prefix': 24} + +# IPv6 over IPv4 Lisp static mapping configuration +dut1_to_dut2_ip6o4 = '6.0.3.1' +dut2_to_dut1_ip6o4 = '6.0.3.2' +dut1_to_tg_ip6o4 = '6:0:1::1' +dut2_to_tg_ip6o4 = '6:0:2::1' +tg1_ip6o4 = '6:0:1::2' +tg2_ip6o4 = '6:0:2::2' +tg_prefix6o4 = 64 +dut_prefix6o4 = 24 +dut1_ip6o4_static_adjacency = {'vni': 0, + 'deid': '6:0:2::0', + 'seid': '6:0:1::0', + 'rloc': '6.0.3.2', + 'prefix': 64} +dut2_ip6o4_static_adjacency = {'vni': 0, + 'deid': '6:0:1::0', + 'seid': '6:0:2::0', + 'rloc': '6.0.3.1', + 'prefix': 64} +dut1_ip6o4_eid = {'locator_name': locator_name, + 'vni': 0, + 'eid': '6:0:1::0', + 'prefix': 64} +dut2_ip6o4_eid = {'locator_name': locator_name, + 'vni': 0, + 'eid': '6:0:2::0', + 'prefix': 64} diff --git a/resources/test_data/lisp/static_mapping/lisp_static_mapping.py b/resources/test_data/lisp/static_mapping/lisp_static_mapping.py deleted file mode 100644 index 94ff2c529c..0000000000 --- a/resources/test_data/lisp/static_mapping/lisp_static_mapping.py +++ /dev/null @@ -1,132 +0,0 @@ -# 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 remote static mapping test suite.""" - -# Lisp default global value -locator_name = 'ls1' - -# Lisp default locator_set value -duts_locator_set = {'locator_name': locator_name, - 'priority': 1, - 'weight': 1} - -# IPv4 Lisp static mapping configuration -dut1_to_dut2_ip4 = '6.0.3.1' -dut2_to_dut1_ip4 = '6.0.3.2' -dut1_to_tg_ip4 = '6.0.1.1' -dut2_to_tg_ip4 = '6.0.2.1' -tg1_ip4 = '6.0.1.2' -tg2_ip4 = '6.0.2.2' -prefix4 = 24 -dut1_ip4_static_mapping = {'vni': 0, - 'deid': '6.0.2.0', - 'seid': '6.0.1.0', - 'rloc': '6.0.3.2', - 'prefix': 24} -dut2_ip4_static_mapping = {'vni': 0, - 'deid': '6.0.1.0', - 'seid': '6.0.2.0', - 'rloc': '6.0.3.1', - 'prefix': 24} -dut1_ip4_eid = {'locator_name': locator_name, - 'vni': 0, - 'eid': '6.0.1.0', - 'prefix': 24} -dut2_ip4_eid = {'locator_name': locator_name, - 'vni': 0, - 'eid': '6.0.2.0', - 'prefix': 24} - -# IPv6 Lisp static mapping configuration -dut1_to_dut2_ip6 = '6:0:3::1' -dut2_to_dut1_ip6 = '6:0:3::2' -dut1_to_tg_ip6 = '6:0:1::1' -dut2_to_tg_ip6 = '6:0:2::1' -tg1_ip6 = '6:0:1::2' -tg2_ip6 = '6:0:2::2' -prefix6 = 64 -dut1_ip6_static_mapping = {'vni': 0, - 'deid': '6:0:2::0', - 'seid': '6:0:1::0', - 'rloc': '6:0:3::2', - 'prefix': 64} -dut2_ip6_static_mapping = {'vni': 0, - 'deid': '6:0:1::0', - 'seid': '6:0:2::0', - 'rloc': '6:0:3::1', - 'prefix': 64} -dut1_ip6_eid = {'locator_name': locator_name, - 'vni': 0, - 'eid': '6:0:1::0', - 'prefix': 64} -dut2_ip6_eid = {'locator_name': locator_name, - 'vni': 0, - 'eid': '6:0:2::0', - 'prefix': 64} - -# IPv4 over IPv6 Lisp static mapping configuration -dut1_to_dut2_ip4o6 = '6:0:3::1' -dut2_to_dut1_ip4o6 = '6:0:3::2' -dut1_to_tg_ip4o6 = '6.0.1.1' -dut2_to_tg_ip4o6 = '6.0.2.1' -tg1_ip4o6 = '6.0.1.2' -tg2_ip4o6 = '6.0.2.2' -tg_prefix4o6 = 24 -dut_prefix4o6 = 64 -dut1_ip4o6_static_mapping = {'vni': 0, - 'deid': '6.0.2.0', - 'seid': '6.0.1.0', - 'rloc': '6:0:3::2', - 'prefix': 24} -dut2_ip4o6_static_mapping = {'vni': 0, - 'deid': '6.0.1.0', - 'seid': '6.0.2.0', - 'rloc': '6:0:3::1', - 'prefix': 24} -dut1_ip4o6_eid = {'locator_name': locator_name, - 'vni': 0, - 'eid': '6.0.1.0', - 'prefix': 24} -dut2_ip4o6_eid = {'locator_name': locator_name, - 'vni': 0, - 'eid': '6.0.2.0', - 'prefix': 24} - -# IPv6 over IPv4 Lisp static mapping configuration -dut1_to_dut2_ip6o4 = '6.0.3.1' -dut2_to_dut1_ip6o4 = '6.0.3.2' -dut1_to_tg_ip6o4 = '6:0:1::1' -dut2_to_tg_ip6o4 = '6:0:2::1' -tg1_ip6o4 = '6:0:1::2' -tg2_ip6o4 = '6:0:2::2' -tg_prefix6o4 = 64 -dut_prefix6o4 = 24 -dut1_ip6o4_static_mapping = {'vni': 0, - 'deid': '6:0:2::0', - 'seid': '6:0:1::0', - 'rloc': '6.0.3.2', - 'prefix': 64} -dut2_ip6o4_static_mapping = {'vni': 0, - 'deid': '6:0:1::0', - 'seid': '6:0:2::0', - 'rloc': '6.0.3.1', - 'prefix': 64} -dut1_ip6o4_eid = {'locator_name': locator_name, - 'vni': 0, - 'eid': '6:0:1::0', - 'prefix': 64} -dut2_ip6o4_eid = {'locator_name': locator_name, - 'vni': 0, - 'eid': '6:0:2::0', - 'prefix': 64} diff --git a/tests/func/lisp/lisp_dataplane_untagged.robot b/tests/func/lisp/lisp_dataplane_untagged.robot index 0808d366c6..1b33b4312e 100644 --- a/tests/func/lisp/lisp_dataplane_untagged.robot +++ b/tests/func/lisp/lisp_dataplane_untagged.robot @@ -16,13 +16,13 @@ | Resource | resources/libraries/robot/testing_path.robot | Resource | resources/libraries/robot/ipv4.robot | Resource | resources/libraries/robot/traffic.robot -| Resource | resources/libraries/robot/lisp/lisp_static_mapping.robot +| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot | Resource | resources/libraries/robot/l2_traffic.robot | Library | resources.libraries.python.IPUtil | Library | resources.libraries.python.Trace | Library | resources.libraries.python.IPv4Util.IPv4Util # import additional Lisp settings from resource file -| Variables | resources/test_data/lisp/static_mapping/lisp_static_mapping.py +| Variables | resources/test_data/lisp/static_adjacency/lisp_static_adjacency.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 @@ -30,7 +30,7 @@ | ... | AND | Update All Interface Data On All Nodes | ${nodes} | Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes} | ... | AND | Show vpp trace dump on all DUTs -| Documentation | *LISP static remote mapping test cases* +| Documentation | *LISP static adjacency test cases* | ... | ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology | ... | with single links between nodes. @@ -55,7 +55,7 @@ | | [Documentation] | | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-LISP-IPv4-ICMPv4 on \ | | ... | DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn. [Cfg] On DUT1 and DUT2 -| | ... | configure IPv4 LISP remote static mappings. [Ver] Make TG send +| | ... | configure IPv4 LISP static adjacencies. [Ver] Make TG send | | ... | ICMPv4 Echo Req between its interfaces across both DUTs and LISP | | ... | tunnel between them; verify IPv4 headers on received packets are | | ... | correct. [Ref] RFC6830. @@ -82,7 +82,8 @@ | | ... | ${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} +| | ... | ${dut1_to_dut2_ip4_static_adjacency} +| | ... | ${dut2_to_dut1_ip4_static_adjacency} | | Then Send Packet And Check Headers | | ... | ${tg_node} | ${tg1_ip4} | ${tg2_ip4} | | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} @@ -96,7 +97,7 @@ | | [Documentation] | | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv6-LISP-IPv6-ICMPv6 on \ | | ... | DUT1-DUT2, Eth-IPv6-ICMPv6 on TG-DUTn. [Cfg] On DUT1 and DUT2 -| | ... | configure IPv6 LISP remote static mappings. [Ver] Make TG send +| | ... | configure IPv6 LISP static adjacencies. [Ver] Make TG send | | ... | ICMPv6 Echo Req between its interfaces across both DUTs and LISP | | ... | tunnel between them; verify IPv4 headers on received packets are | | ... | correct. [Ref] RFC6830. @@ -123,7 +124,8 @@ | | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE} | | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE} | | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_mapping} | ${dut2_ip6_static_mapping} +| | ... | ${dut1_to_dut2_ip6_static_adjacency} +| | ... | ${dut2_to_dut1_ip6_static_adjacency} | | Then Send Packet And Check Headers | | ... | ${tg_node} | ${tg1_ip6} | ${tg2_ip6} | | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} @@ -137,7 +139,7 @@ | | [Documentation] | | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv6-LISP-IPv4-ICMPv4 on \ | | ... | DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn. [Cfg] On DUT1 and DUT2 -| | ... | configure IPv6 LISP remote static mappings. [Ver] Make TG send +| | ... | configure IPv6 LISP static adjacencies. [Ver] Make TG send | | ... | ICMPv4 Echo Req between its interfaces across both DUTs and LISP | | ... | tunnel between them; verify IPv4 headers on received packets are | | ... | correct. [Ref] RFC6830. @@ -164,7 +166,7 @@ | | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE} | | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE} | | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_mapping} | ${dut2_ip4o6_static_mapping} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} | | Then Send Packet And Check Headers | | ... | ${tg_node} | ${tg1_ip4o6} | ${tg2_ip4o6} | | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} @@ -178,7 +180,7 @@ | | [Documentation] | | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-LISP-IPv6-ICMPv6 on \ | | ... | DUT1-DUT2, Eth-IPv6-ICMPv6 on TG-DUTn. [Cfg] On DUT1 and DUT2 -| | ... | configure IPv4 LISP remote static mappings. [Ver] Make TG send +| | ... | configure IPv4 LISP static adjacencies. [Ver] Make TG send | | ... | ICMPv6 Echo Req between its interfaces across both DUTs and LISP | | ... | tunnel between them; verify IPv4 headers on received packets are | | ... | correct. [Ref] RFC6830. @@ -205,7 +207,7 @@ | | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE} | | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE} | | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_mapping} | ${dut2_ip6o4_static_mapping} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} | | Then Send Packet And Check Headers | | ... | ${tg_node} | ${tg1_ip6o4} | ${tg2_ip6o4} | | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} @@ -219,7 +221,7 @@ | | [Documentation] | | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-LISP-IPv4-ICMPv4 on \ | | ... | DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn. [Cfg1] On DUT1 and DUT2 -| | ... | configure IPv4 LISP remote static mappings. [Ver1] Make TG send +| | ... | configure IPv4 LISP static adjacencies. [Ver1] Make TG send | | ... | ICMPv4 Echo Req between its interfaces across both DUTs and LISP | | ... | tunnel between them; verify IPv4 headers on received packets are | | ... | correct. [Cfg2] Disable LISP. [Ver2] verify packets are not @@ -248,7 +250,8 @@ | | ... | ${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} +| | ... | ${dut1_to_dut2_ip4_static_adjacency} +| | ... | ${dut2_to_dut1_ip4_static_adjacency} | | Then Send Packet And Check Headers | | ... | ${tg_node} | ${tg1_ip4} | ${tg2_ip4} | | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} -- cgit 1.2.3-korg