summaryrefslogtreecommitdiffstats
path: root/nfvbench/specs.py
diff options
context:
space:
mode:
authorahothan <ahothan@cisco.com>2017-07-28 17:08:46 -0700
committerahothan <ahothan@cisco.com>2017-07-31 12:34:00 -0700
commit04a7de082bd221eae3c7004f4e0b99dfa4f8be91 (patch)
treec9fb7beaedc80479772ba24c3b47c85d49c22f76 /nfvbench/specs.py
parentb8f02ed4e72399840a93aceb02b8c53831bbe68a (diff)
Initial code drop from Cisco1.0.0
Change-Id: Ie2993886dc8e95c5f73ccdb871add8b96ffcc849 Signed-off-by: ahothan <ahothan@cisco.com>
Diffstat (limited to 'nfvbench/specs.py')
-rw-r--r--nfvbench/specs.py93
1 files changed, 93 insertions, 0 deletions
diff --git a/nfvbench/specs.py b/nfvbench/specs.py
new file mode 100644
index 0000000..3f93df6
--- /dev/null
+++ b/nfvbench/specs.py
@@ -0,0 +1,93 @@
+# Copyright 2016 Cisco Systems, Inc. All rights reserved.
+#
+# 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.
+#
+
+
+class Encaps(object):
+ VLAN = "VLAN"
+ VxLAN = "VxLAN"
+ BASIC = "BASIC"
+
+ encaps_mapping = {
+ 'VLAN': VLAN,
+ 'VXLAN': VxLAN
+ }
+
+ @classmethod
+ def get(cls, network_type):
+ return cls.encaps_mapping.get(network_type.upper(), None)
+
+
+class ChainType(object):
+ PVP = "PVP"
+ PVVP = "PVVP"
+ EXT = "EXT"
+
+ chain_mapping = {
+ 'PVP': PVP,
+ 'PVVP': PVVP,
+ 'EXT': EXT
+ }
+
+ @classmethod
+ def get_chain_type(cls, chain):
+ return cls.chain_mapping.get(chain.upper(), None)
+
+
+class OpenStackSpec(object):
+
+ def __init__(self):
+ self.__vswitch = "BASIC"
+ self.__encaps = Encaps.BASIC
+
+ @property
+ def vswitch(self):
+ return self.__vswitch
+
+ @vswitch.setter
+ def vswitch(self, vsw):
+ if vsw is None:
+ raise Exception('Trying to set vSwitch as None.')
+
+ self.__vswitch = vsw.upper()
+
+ @property
+ def encaps(self):
+ return self.__encaps
+
+ @encaps.setter
+ def encaps(self, enc):
+ if enc is None:
+ raise Exception('Trying to set Encaps as None.')
+
+ self.__encaps = enc
+
+
+class RunSpec(object):
+
+ def __init__(self, no_vswitch_access, openstack_spec):
+ self.use_vswitch = (not no_vswitch_access) and openstack_spec.vswitch != "BASIC"
+
+
+class Specs(object):
+
+ def __init__(self):
+ self.openstack = None
+ self.run_spec = None
+
+ def set_openstack_spec(self, openstack_spec):
+ self.openstack = openstack_spec
+
+ def set_run_spec(self, run_spec):
+ self.run_spec = run_spec