From c38cb34d13ba01386cbcc6302dce854506eda8a0 Mon Sep 17 00:00:00 2001 From: selias Date: Thu, 13 Jul 2017 13:15:41 +0200 Subject: CSIT-611: HC Test: Lisp suite updates + LispGPE - added LispGPE test suite - added IPv6 tests to Lisp suite - added traffic tests to Lisp suite Change-Id: I3b699149cd73ebf5856072d3f26e98a370dbfc4b Signed-off-by: selias --- resources/test_data/honeycomb/lisp.py | 209 --------------- resources/test_data/honeycomb/lisp/lisp.py | 341 +++++++++++++++++++++++++ resources/test_data/honeycomb/lisp/lisp_gpe.py | 229 +++++++++++++++++ 3 files changed, 570 insertions(+), 209 deletions(-) delete mode 100644 resources/test_data/honeycomb/lisp.py create mode 100644 resources/test_data/honeycomb/lisp/lisp.py create mode 100644 resources/test_data/honeycomb/lisp/lisp_gpe.py (limited to 'resources/test_data') diff --git a/resources/test_data/honeycomb/lisp.py b/resources/test_data/honeycomb/lisp.py deleted file mode 100644 index 12a614698c..0000000000 --- a/resources/test_data/honeycomb/lisp.py +++ /dev/null @@ -1,209 +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 test suite.""" - -from copy import deepcopy - -locator_set = "loc01" - -remote_bd_subtable = { - "virtual-network-identifier": 3, - "bridge-domain-subtable": { - "bridge-domain-ref": "bd_lisp", - "remote-mappings": { - "remote-mapping": [{ - "id": "remote_map_l2", - "eid": { - "virtual-network-id": 3, - "address-type": "ietf-lisp-address-types:mac-afi", - "mac": "aa:aa:aa:aa:aa:ab", - }, - "rlocs": { - "locator": [{ - "address": "192.168.0.3", - "priority": 1, - "weight": 1 - }] - }, - }] - }, - } -} - -remote_vrf_subtable = { - "virtual-network-identifier": 4, - "vrf-subtable": { - "table-id": 1, - "remote-mappings": { - "remote-mapping": [{ - "id": "remote_map_vrf", - "eid": { - "virtual-network-id": 4, - "address-type": "ietf-lisp-address-types:ipv4-afi", - "ipv4": "192.168.0.2" - }, - "rlocs": { - "locator": [{ - "address": "192.168.0.3", - "priority": 1, - "weight": 1 - }] - }, - - }] - }, - } -} - -local_bd_subtable = { - "virtual-network-identifier": 5, - "bridge-domain-subtable": { - "bridge-domain-ref": "bd2_lisp", - "local-mappings": { - "local-mapping": [{ - "id": "local_map_l2", - "eid": { - "address-type": "ietf-lisp-address-types:mac-afi", - "virtual-network-id": 5, - "mac": "ba:aa:aa:aa:aa:aa" - }, - "locator-set": locator_set - }] - }, - } -} - -local_vrf_subtable = { - "virtual-network-identifier": 6, - "vrf-subtable": { - "table-id": 2, - "local-mappings": { - "local-mapping": [{ - "id": "local_map_vrf", - "eid": { - "virtual-network-id": 6, - "address-type": "ietf-lisp-address-types:ipv4-afi", - "ipv4": "192.168.1.1" - }, - "locator-set": locator_set - }] - }, - } -} - -lisp_settings_enable = { - "lisp": { - "enable": True - } -} - -prepare_vrf_adjacency = { - "virtual-network-identifier": 7, - "vrf-subtable": { - "table-id": 3, - "local-mappings": { - "local-mapping": [{ - "id": "local_map_vrf", - "eid": { - "virtual-network-id": 7, - "address-type": "ietf-lisp-address-types:ipv4-afi", - "ipv4": "192.168.1.1" - }, - "locator-set": locator_set - }] - }, - "remote-mappings": { - "remote-mapping": [{ - "id": "remote_map_vrf", - "eid": { - "virtual-network-id": 7, - "address-type": "ietf-lisp-address-types:ipv4-afi", - "ipv4": "192.168.0.2" - }, - "rlocs": { - "locator": [{ - "address": "192.168.0.3", - "priority": 1, - "weight": 1 - }] - }, - - }] - }, - } -} - -vrf_adjacency = { - "adjacency": [{ - "id": "adj01", - "local-eid": { - "virtual-network-id": 7, - "address-type": "ietf-lisp-address-types:ipv4-afi", - "ipv4": "192.168.1.1" - }, - "remote-eid": { - "virtual-network-id": 7, - "address-type": "ietf-lisp-address-types:ipv4-afi", - "ipv4": "192.168.0.2" - }, - }] - } - -adj_subtable = deepcopy(prepare_vrf_adjacency) -adj_subtable["vrf-subtable"]["remote-mappings"]\ - ["remote-mapping"][0]["adjacencies"] = deepcopy(vrf_adjacency) - - -def create_settings_dict(subtable): - settings = { - "eid-table": { - "vni-table": [subtable] - } - } - - return settings - -lisp_settings_remote_bd = create_settings_dict(remote_bd_subtable) -lisp_settings_remote_vrf = create_settings_dict(remote_vrf_subtable) -lisp_settings_local_bd = create_settings_dict(local_bd_subtable) -lisp_settings_local_vrf = create_settings_dict(local_vrf_subtable) -lisp_settings_both_vrf = create_settings_dict(prepare_vrf_adjacency) - -vat_remote_bd = { - "is_local": 0, - "vni": remote_bd_subtable["virtual-network-identifier"], - "eid": remote_bd_subtable["bridge-domain-subtable"]["remote-mappings"][ - "remote-mapping"][0]["eid"]["mac"], -} - -vat_remote_vrf = { - "is_local": 0, - "vni": remote_vrf_subtable["virtual-network-identifier"], - "eid": remote_vrf_subtable["vrf-subtable"]["remote-mappings"][ - "remote-mapping"][0]["eid"]["ipv4"]+"/32", -} - -vat_local_bd = { - "is_local": 1, - "vni": local_bd_subtable["virtual-network-identifier"], - "eid": local_bd_subtable["bridge-domain-subtable"]["local-mappings"][ - "local-mapping"][0]["eid"]["mac"] -} - -vat_local_vrf = { - "is_local": 1, - "vni": local_vrf_subtable["virtual-network-identifier"], - "eid": local_vrf_subtable["vrf-subtable"]["local-mappings"][ - "local-mapping"][0]["eid"]["ipv4"]+"/32" -} diff --git a/resources/test_data/honeycomb/lisp/lisp.py b/resources/test_data/honeycomb/lisp/lisp.py new file mode 100644 index 0000000000..f5ebb16f39 --- /dev/null +++ b/resources/test_data/honeycomb/lisp/lisp.py @@ -0,0 +1,341 @@ +# Copyright (c) 2017 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 test suite.""" + +from copy import deepcopy + +locator_set = "loc01" + +remote_bd_subtable = { + "virtual-network-identifier": 3, + "bridge-domain-subtable": { + "bridge-domain-ref": "bd_lisp", + "remote-mappings": { + "remote-mapping": [{ + "id": "remote_map_l2", + "eid": { + "virtual-network-id": 3, + "address-type": "ietf-lisp-address-types:mac-afi", + "mac": "aa:aa:aa:aa:aa:ab", + }, + "rlocs": { + "locator": [{ + "address": "192.168.0.3", + "priority": 1, + "weight": 1 + }] + }, + }] + }, + } +} + +remote_vrf_subtable = { + "virtual-network-identifier": 4, + "vrf-subtable": { + "table-id": 1, + "remote-mappings": { + "remote-mapping": [{ + "id": "remote_map_vrf", + "eid": { + "virtual-network-id": 4, + "address-type": "ietf-lisp-address-types:ipv4-afi", + "ipv4": "192.168.0.2" + }, + "rlocs": { + "locator": [{ + "address": "192.168.0.3", + "priority": 1, + "weight": 1 + }] + }, + + }] + }, + } +} + +local_bd_subtable = { + "virtual-network-identifier": 5, + "bridge-domain-subtable": { + "bridge-domain-ref": "bd2_lisp", + "local-mappings": { + "local-mapping": [{ + "id": "local_map_l2", + "eid": { + "address-type": "ietf-lisp-address-types:mac-afi", + "virtual-network-id": 5, + "mac": "ba:aa:aa:aa:aa:aa" + }, + "locator-set": locator_set + }] + }, + } +} + +local_vrf_subtable = { + "virtual-network-identifier": 6, + "vrf-subtable": { + "table-id": 2, + "local-mappings": { + "local-mapping": [{ + "id": "local_map_vrf", + "eid": { + "virtual-network-id": 6, + "address-type": "ietf-lisp-address-types:ipv4-afi", + "ipv4": "192.168.1.1" + }, + "locator-set": locator_set + }] + }, + } +} + +lisp_settings_enable = { + "lisp": { + "enable": True + } +} + +prepare_vrf_adjacency = { + "virtual-network-identifier": 7, + "vrf-subtable": { + "table-id": 3, + "local-mappings": { + "local-mapping": [{ + "id": "local_map_vrf", + "eid": { + "virtual-network-id": 7, + "address-type": "ietf-lisp-address-types:ipv4-afi", + "ipv4": "192.168.1.1" + }, + "locator-set": locator_set + }] + }, + "remote-mappings": { + "remote-mapping": [{ + "id": "remote_map_vrf", + "eid": { + "virtual-network-id": 7, + "address-type": "ietf-lisp-address-types:ipv4-afi", + "ipv4": "192.168.0.2" + }, + "rlocs": { + "locator": [{ + "address": "192.168.0.3", + "priority": 1, + "weight": 1 + }] + }, + + }] + }, + } +} + +vrf_adjacency = { + "adjacency": [{ + "id": "adj01", + "local-eid": { + "virtual-network-id": 7, + "address-type": "ietf-lisp-address-types:ipv4-afi", + "ipv4": "192.168.1.1" + }, + "remote-eid": { + "virtual-network-id": 7, + "address-type": "ietf-lisp-address-types:ipv4-afi", + "ipv4": "192.168.0.2" + }, + }] + } + +adj_subtable = deepcopy(prepare_vrf_adjacency) +adj_subtable["vrf-subtable"]["remote-mappings"]\ + ["remote-mapping"][0]["adjacencies"] = deepcopy(vrf_adjacency) + + +def create_settings_dict(subtable): + settings = { + "eid-table": { + "vni-table": [subtable] + } + } + + return settings + +lisp_settings_remote_bd = create_settings_dict(remote_bd_subtable) +lisp_settings_remote_vrf = create_settings_dict(remote_vrf_subtable) +lisp_settings_local_bd = create_settings_dict(local_bd_subtable) +lisp_settings_local_vrf = create_settings_dict(local_vrf_subtable) +lisp_settings_both_vrf = create_settings_dict(prepare_vrf_adjacency) + +vat_remote_bd = { + "is_local": 0, + "vni": remote_bd_subtable["virtual-network-identifier"], + "eid": remote_bd_subtable["bridge-domain-subtable"]["remote-mappings"][ + "remote-mapping"][0]["eid"]["mac"], +} + +vat_remote_vrf = { + "is_local": 0, + "vni": remote_vrf_subtable["virtual-network-identifier"], + "eid": remote_vrf_subtable["vrf-subtable"]["remote-mappings"][ + "remote-mapping"][0]["eid"]["ipv4"]+"/32", +} + +vat_local_bd = { + "is_local": 1, + "vni": local_bd_subtable["virtual-network-identifier"], + "eid": local_bd_subtable["bridge-domain-subtable"]["local-mappings"][ + "local-mapping"][0]["eid"]["mac"] +} + +vat_local_vrf = { + "is_local": 1, + "vni": local_vrf_subtable["virtual-network-identifier"], + "eid": local_vrf_subtable["vrf-subtable"]["local-mappings"][ + "local-mapping"][0]["eid"]["ipv4"]+"/32" +} + +# variables for traffic test +dut_to_tg_if1_ip4 = "192.168.0.1" +dut_to_tg_if2_ip4 = "192.168.1.1" +tg_to_dut_if2_ip4 = "192.168.1.2" +src_ip4 = "192.168.0.2" +dst_ip4 = "192.168.2.2" +prefix_len4 = 24 + +local_eid4 = "192.168.0.0/24" +remote_eid4 = "192.168.2.0/24" +src_rloc4 = dut_to_tg_if2_ip4 +dst_rloc4 = tg_to_dut_if2_ip4 + +lisp_traffic_table_ip4 = { + "virtual-network-identifier": 0, + "vrf-subtable": { + "table-id": 1, + "local-mappings": { + "local-mapping": [{ + "id": "local_map_vrf", + "eid": { + "virtual-network-id": 0, + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "ipv4-prefix": local_eid4 + }, + "locator-set": locator_set + }] + }, + "remote-mappings": { + "remote-mapping": [{ + "id": "remote_map_vrf", + "eid": { + "virtual-network-id": 0, + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "ipv4-prefix": remote_eid4 + }, + "rlocs": { + "locator": [{ + "address": tg_to_dut_if2_ip4, + "priority": 1, + "weight": 1 + }] + }, + "adjacencies": { + "adjacency": [{ + "id": "adj01", + "local-eid": { + "virtual-network-id": 0, + "address-type": + "ietf-lisp-address-types:ipv4-prefix-afi", + "ipv4-prefix": local_eid4 + }, + "remote-eid": { + "virtual-network-id": 0, + "address-type": + "ietf-lisp-address-types:ipv4-prefix-afi", + "ipv4-prefix": remote_eid4 + }, + }] + } + }] + }, + } +} + +dut_to_tg_if1_ip6 = "10::1" +dut_to_tg_if2_ip6 = "11::1" +tg_to_dut_if2_ip6 = "11::2" +src_ip6 = "10::2" +dst_ip6 = "12::2" +prefix_len6 = 64 + +local_eid6 = "10::/64" +remote_eid6 = "12::/64" +src_rloc6 = dut_to_tg_if2_ip6 +dst_rloc6 = tg_to_dut_if2_ip6 + +lisp_traffic_table_ip6 = { + "virtual-network-identifier": 0, + "vrf-subtable": { + "table-id": 1, + "local-mappings": { + "local-mapping": [{ + "id": "local_map_vrf", + "eid": { + "virtual-network-id": 0, + "address-type": "ietf-lisp-address-types:ipv6-prefix-afi", + "ipv6-prefix": local_eid6 + }, + "locator-set": locator_set + }] + }, + "remote-mappings": { + "remote-mapping": [{ + "id": "remote_map_vrf", + "eid": { + "virtual-network-id": 0, + "address-type": "ietf-lisp-address-types:ipv6-prefix-afi", + "ipv6-prefix": remote_eid6 + }, + "rlocs": { + "locator": [{ + "address": tg_to_dut_if2_ip6, + "priority": 1, + "weight": 1 + }] + }, + "adjacencies": { + "adjacency": [{ + "id": "adj01", + "local-eid": { + "virtual-network-id": 0, + "address-type": + "ietf-lisp-address-types:ipv6-prefix-afi", + "ipv6-prefix": local_eid6 + }, + "remote-eid": { + "virtual-network-id": 0, + "address-type": + "ietf-lisp-address-types:ipv6-prefix-afi", + "ipv6-prefix": remote_eid6 + }, + }] + } + }] + }, + } +} + +lisp_traffic_ip4 = create_settings_dict(lisp_traffic_table_ip4) +lisp_traffic_ip6 = create_settings_dict(lisp_traffic_table_ip6) diff --git a/resources/test_data/honeycomb/lisp/lisp_gpe.py b/resources/test_data/honeycomb/lisp/lisp_gpe.py new file mode 100644 index 0000000000..45a8f1f93a --- /dev/null +++ b/resources/test_data/honeycomb/lisp/lisp_gpe.py @@ -0,0 +1,229 @@ +# Copyright (c) 2017 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 GPE test suite.""" + +negative_mapping_ip4 = { + "id": "lispgpe_negative", + "dp-table": 1, + "vni": 0, + "local-eid": { + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "virtual-network-id": 0, + "ipv4-prefix": "192.168.0.0/24" + }, + "remote-eid": { + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "virtual-network-id": 0, + "ipv4-prefix": "192.168.1.0/24" + }, + "action": "send-map-request" +} + +# used for update operation +negative_mapping_ip4_edit = { + "id": "lispgpe_negative", + "dp-table": 1, + "vni": 0, + "local-eid": { + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "virtual-network-id": 0, + "ipv4-prefix": "192.168.2.0/24" + }, + "remote-eid": { + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "virtual-network-id": 0, + "ipv4-prefix": "192.168.3.0/24" + }, + "action": "send-map-request" +} + +# used for multiple entries +negative_mapping_ip4_2 = { + "id": "lispgpe_negative_2", + "dp-table": 1, + "vni": 0, + "local-eid": { + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "virtual-network-id": 0, + "ipv4-prefix": "192.168.2.0/24" + }, + "remote-eid": { + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "virtual-network-id": 0, + "ipv4-prefix": "192.168.3.0/24" + }, + "action": "send-map-request" +} + +positive_mapping_ip4 = { + "id": "lispgpe_positive", + "dp-table": 1, + "vni": 0, + "local-eid": { + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "virtual-network-id": 0, + "ipv4-prefix": "192.168.4.0/24" + }, + "remote-eid": { + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "virtual-network-id": 0, + "ipv4-prefix": "192.168.5.0/24" + }, + "locator-pairs": [ + { + "id": "gpe-entry-locator-1", + "locator-pair": { + "local-locator": "192.168.6.2", + "remote-locator": "192.168.7.3", + "weight": 0 + } + }, + { + "id": "gpe-entry-locator-2", + "locator-pair": { + "local-locator": "192.168.5.2", + "remote-locator": "192.168.5.3", + "weight": 1 + } + } + ] +} + +negative_mapping_ip6 = { + "id": "lispgpe_negative6", + "dp-table": 1, + "vni": 0, + "local-eid": { + "address-type": "ietf-lisp-address-types:ipv6-prefix-afi", + "virtual-network-id": 0, + "ipv6-prefix": "10::/64" + }, + "remote-eid": { + "address-type": "ietf-lisp-address-types:ipv6-prefix-afi", + "virtual-network-id": 0, + "ipv6-prefix": "11::/64" + }, + "action": "send-map-request" +} + +positive_mapping_ip6 = { + "id": "lispgpe_positive6", + "dp-table": 1, + "vni": 0, + "local-eid": { + "address-type": "ietf-lisp-address-types:ipv6-prefix-afi", + "virtual-network-id": 0, + "ipv6-prefix": "12::/64" + }, + "remote-eid": { + "address-type": "ietf-lisp-address-types:ipv6-prefix-afi", + "virtual-network-id": 0, + "ipv6-prefix": "13::/64" + }, + "locator-pairs": [ + { + "id": "gpe-entry-locator-1", + "locator-pair": { + "local-locator": "13::10", + "remote-locator": "13::11", + "weight": 0 + } + }, + { + "id": "gpe-entry-locator-2", + "locator-pair": { + "local-locator": "14::10", + "remote-locator": "14::11", + "weight": 1 + } + } + ] +} + +# variables for traffic test +dut_to_tg_if1_ip4 = "192.168.0.1" +dut_to_tg_if2_ip4 = "192.168.1.1" +tg_to_dut_if2_ip4 = "192.168.1.2" +src_ip4 = "192.168.0.2" +dst_ip4 = "192.168.2.2" +prefix_len4 = 24 + +local_eid4 = "192.168.0.0/24" +remote_eid4 = "192.168.2.0/24" +src_rloc4 = dut_to_tg_if2_ip4 +dst_rloc4 = tg_to_dut_if2_ip4 + +lisp_traffic_ip4 = { + "id": "lispgpe_traffic_ip4", + "dp-table": 0, + "vni": 0, + "local-eid": { + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "virtual-network-id": 0, + "ipv4-prefix": local_eid4 + }, + "remote-eid": { + "address-type": "ietf-lisp-address-types:ipv4-prefix-afi", + "virtual-network-id": 0, + "ipv4-prefix": remote_eid4 + }, + "locator-pairs": [ + { + "id": "gpe-entry-locator-1", + "locator-pair": { + "local-locator": src_rloc4, + "remote-locator": dst_rloc4, + "weight": 0 + } + } + ] +} + +dut_to_tg_if1_ip6 = "10::1" +dut_to_tg_if2_ip6 = "11::1" +tg_to_dut_if2_ip6 = "11::2" +src_ip6 = "10::2" +dst_ip6 = "12::2" +prefix_len6 = 64 + +local_eid6 = "10::/64" +remote_eid6 = "12::/64" +src_rloc6 = dut_to_tg_if2_ip6 +dst_rloc6 = tg_to_dut_if2_ip6 + +lisp_traffic_ip6 = { + "id": "lispgpe_traffic_ip6", + "dp-table": 0, + "vni": 0, + "local-eid": { + "address-type": "ietf-lisp-address-types:ipv6-prefix-afi", + "virtual-network-id": 0, + "ipv6-prefix": local_eid6 + }, + "remote-eid": { + "address-type": "ietf-lisp-address-types:ipv6-prefix-afi", + "virtual-network-id": 0, + "ipv6-prefix": remote_eid6 + }, + "locator-pairs": [ + { + "id": "gpe-entry-locator-1", + "locator-pair": { + "local-locator": src_rloc6, + "remote-locator": dst_rloc6, + "weight": 0 + } + } + ] +} -- cgit 1.2.3-korg