diff options
author | Maryam Tahhan <maryam.tahhan@intel.com> | 2015-06-08 15:03:08 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2015-06-08 15:03:08 +0000 |
commit | f3f1ff9b08efa4a18bdcd2284d0a5f3b6ee526e0 (patch) | |
tree | a736bab8be95381d2277626c8df2f88ccce714d0 /vswitches/utils.py | |
parent | 1612a95c88e6ccff6f9b158f9b106e410b1d7324 (diff) | |
parent | 8d6777df09c3dc441013a31f21cc50ab3b0f42a3 (diff) |
Merge "framework: Add reworked framework to repo"
Diffstat (limited to 'vswitches/utils.py')
-rw-r--r-- | vswitches/utils.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/vswitches/utils.py b/vswitches/utils.py new file mode 100644 index 00000000..7350de31 --- /dev/null +++ b/vswitches/utils.py @@ -0,0 +1,40 @@ +# Copyright 2015 Intel Corporation. +# +# 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. + +"""Utility functions for working with vSwitches and flows +""" + +import copy + +def add_ports_to_flow(flow, in_port, out_port): + """Creates a new flow based on the given flow and adds in port and out port + to it. + + The flow dictionary structure is described in IVswitch + + :param flow: Description of the flow as a dictionary + :param in_port: OpenFlow number of the ingress port for the rule + :param out_port: OpenFlow number of the eggress port for the rule + + :returns: A new dictionary describing a flow combining the parameters + """ + new_flow = copy.deepcopy(flow) + new_flow['in_port'] = in_port + + if 'actions' in new_flow: + new_flow['actions'].append('output:' + str(out_port)) + else: + new_flow['actions'] = ['output:' + str(out_port)] + + return new_flow |