# 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 Honeycomb sub-interface test suite.""" from copy import deepcopy # Sub-interface 1 and its settings: sub_if_1_settings = { "identifier": "1", "vlan-type": "802dot1q", "enabled": "false" } sub_if_1_tags = [ { "index": "0", "dot1q-tag": { "tag-type": "dot1q-types:s-vlan", "vlan-id": "100" } }, { "index": "1", "dot1q-tag": { "tag-type": "dot1q-types:c-vlan", "vlan-id": "any" } } ] sub_if_1_match = "vlan-tagged" # Expected operational data: sub-interface. sub_if_1_oper = { "identifier": 1, "oper-status": "down", "admin-status": "down", "tags": { "tag": [ { "index": 0, "dot1q-tag": { "tag-type": "dot1q-types:s-vlan", "vlan-id": "100" } }, { "index": 1, "dot1q-tag": { "tag-type": "dot1q-types:c-vlan", "vlan-id": "any" } }, ] }, "match": { "vlan-tagged": { "match-exact-tags": False } } } # Bridge domain name. bd_name = 'test-sub-bd' # Bridge domain settings used while creating a test bridge domain. bd_settings = { 'flood': True, 'forward': True, 'learn': True, 'unknown-unicast-flood': True, 'arp-termination': True } # Bridge domain configuration used while adding the sub-interface to the bridge # domain. sub_bd_settings = { 'bridge-domain': bd_name, 'split-horizon-group': 1, 'bridged-virtual-interface': False } # Configuration data: Enable tag-rewrite push. tag_rewrite_push = { "vlan-type": "vpp-vlan:802dot1q", "push-tags": [ { "index": 0, "dot1q-tag": { "tag-type": "dot1q-types:s-vlan", "vlan-id": 123 } }, { "index": 1, "dot1q-tag": { "tag-type": "dot1q-types:c-vlan", "vlan-id": 456 } } ] } # Expected operational data: tag-rewrite push. tag_rewrite_push_oper = { "vlan-type": "vpp-vlan:802dot1q", "push-tags": [ { "index": 0, "dot1q-tag": { "tag-type": "dot1q-types:s-vlan", "vlan-id": 123 } }, { "index": 1, "dot1q-tag": { "tag-type": "dot1q-types:c-vlan", "vlan-id": 456 } } ] } # Expected VAT data: tag-rewrite push. tag_rewrite_push_VAT = { 'sub_default': 0, 'sub_dot1ad': 0, 'sub_exact_match': 0, 'sub_inner_vlan_id': 0, 'sub_inner_vlan_id_any': 1, 'sub_number_of_tags': 2, 'sub_outer_vlan_id': 100, 'sub_outer_vlan_id_any': 0, 'vtr_op': 2, 'vtr_push_dot1q': 1, 'vtr_tag1': 123, 'vtr_tag2': 456 } # Configuration data: Enable tag-rewrite pop 1. tag_rewrite_pop_1 = { "pop-tags": "1" } # Expected operational data: tag-rewrite pop 1. tag_rewrite_pop_1_oper = { "vlan-type": "vpp-vlan:802dot1ad", "pop-tags": 1 } # Expected VAT data: tag-rewrite pop 1. tag_rewrite_pop_1_VAT = { 'sub_default': 0, 'sub_dot1ad': 0, 'sub_exact_match': 0, 'sub_inner_vlan_id': 0, 'sub_inner_vlan_id_any': 1, 'sub_number_of_tags': 2, 'sub_outer_vlan_id': 100, 'sub_outer_vlan_id_any': 0, 'vtr_op': 3, 'vtr_push_dot1q': 0, 'vtr_tag1': 0, 'vtr_tag2': 0 } # Configuration data: Enable tag-rewrite translate 1-2. tag_rewrite_translate_1_2 = { "vlan-type": "vpp-vlan:802dot1q", "pop-tags": "1", "push-tags": [ { "index": 0, "dot1q-tag": { "tag-type": "dot1q-types:s-vlan", "vlan-id": 111 } }, { "index": 1, "dot1q-tag": { "tag-type": "dot1q-types:c-vlan", "vlan-id": 222 } } ] } # Expected operational data: tag-rewrite translate 1-2. tag_rewrite_translate_1_2_oper = { "vlan-type": "vpp-vlan:802dot1q", "pop-tags": 1, "push-tags": [ { "index": 0, "dot1q-tag": { "tag-type": "dot1q-types:s-vlan", "vlan-id": 111 } }, { "index": 1, "dot1q-tag": { "tag-type": "dot1q-types:c-vlan", "vlan-id": 222 } }, ] } # Expected VAT data: tag-rewrite translate 1-2. tag_rewrite_translate_1_2_VAT = { 'sub_default': 0, 'sub_dot1ad': 0, 'sub_exact_match': 0, 'sub_inner_vlan_id': 0, 'sub_inner_vlan_id_any': 1, 'sub_number_of_tags': 2, 'sub_outer_vlan_id': 100, 'sub_outer_vlan_id_any': 0, 'vtr_op': 6, 'vtr_push_dot1q': 1, 'vtr_tag1': 111, 'vtr_tag2': 222 } # Configuration data: Disable tag-rewrite. tag_rewrite_disabled = {} # Expected VAT data: Disable tag-rewrite. tag_rewrite_disabled_VAT = { 'sub_default': 0, 'sub_dot1ad': 0, 'sub_exact_match': 0, 'sub_inner_vlan_id': 0, 'sub_inner_vlan_id_any': 1, 'sub_number_of_tags': 2, 'sub_outer_vlan_id': 100, 'sub_outer_vlan_id_any': 0, 'vtr_op': 0, 'vtr_push_dot1q': 0, 'vtr_tag1': 0, 'vtr_tag2': 0 } # Configuration data: # Wrong vlan-type for enable tag-rewrite translate 1-2. tag_rewrite_translate_1_2_wrong = { "vlan-type": "vpp-vlan:WRONG", "pop-tags": "1", "push-tags": [ { "index": 0, "dot1q-tag": { "tag-type": "dot1q-types:s-vlan", "vlan-id": 111 } }, { "index": 1, "dot1q-tag": { "tag-type": "dot1q-types:c-vlan", "vlan-id": 222 } } ] } # IP addresses configured on sub-interface during tests ipv4 = { "address": "192.168.0.4", "netmask": "255.255.255.0", "prefix-length": 24} ipv4_2 = { "address": "192.168.0.5", "netmask": "255.255.0.0", "prefix-length": 16} sub_if_2_settings = sub_if_1_settings sub_if_2_tags = sub_if_1_tags sub_if_2_match = "vlan-tagged-exact-match" sub_if_2_oper = deepcopy(sub_if_1_oper) sub_if_2_oper["match"]["vlan-tagged"]["match-exact-tags"] = True ipv6 = { "address": "10::10", "prefix-length": 24} ipv6_2 = { "address": "10::11", "prefix-length": 16}