diff options
author | Christian Trautman <ctrautma@redhat.com> | 2017-04-27 16:08:49 -0400 |
---|---|---|
committer | Christian Trautman <ctrautma@redhat.com> | 2017-05-15 10:23:32 -0400 |
commit | 7eaeffff1c2976e1022f7716c7eb0c746482824e (patch) | |
tree | d5e1dea51a1f2c859241803aea1d017625d0b291 /tools/pkt_gen/xena/json/xena_json_blocks.py | |
parent | 59aae8c0539ca9632d9ffdcb2788ab715fbff9ec (diff) |
xena_pairs: Add pairs topology for 2544 testing
Add xena pairs topology and port removal options for JSON
files with RFC2544 testing. Refactored JSON code for
better expansion later.
Resolved pathing issues related to previous patch allowing
for execution of VSPerf from any directory.
JIRA: VSPERF-502
Change-Id: Ida60c1223ae0f45f8879351770ab7fdce859b59b
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
Diffstat (limited to 'tools/pkt_gen/xena/json/xena_json_blocks.py')
-rw-r--r-- | tools/pkt_gen/xena/json/xena_json_blocks.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tools/pkt_gen/xena/json/xena_json_blocks.py b/tools/pkt_gen/xena/json/xena_json_blocks.py new file mode 100644 index 00000000..d0a0864c --- /dev/null +++ b/tools/pkt_gen/xena/json/xena_json_blocks.py @@ -0,0 +1,50 @@ +# Copyright 2017 Red Hat Inc & Xena Networks. +# +# 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. + +# Contributors: +# Dan Amzulescu, Xena Networks +# Christian Trautman, Red Hat Inc. +# +# Usage can be seen below in unit test. This implementation is designed for one +# module two port Xena chassis runs only. + +""" +Xena JSON module for blocks topology +""" + +from tools.pkt_gen.xena.json.xena_json import XenaJSON + + +class XenaJSONBlocks(XenaJSON): + """ + Class to modify and read Xena JSON configuration files. Topology will be set + as Blocks + """ + def __init__(self): + super(XenaJSONBlocks, self).__init__() + self.set_topology_blocks() + + def set_topology_blocks(self): + """ + Set the test topology to a West to East config for half duplex flow with + port 0 as the sender and port 1 as the receiver. + :return: None + """ + self.json_data['TestOptions']['TopologyConfig']['Topology'] = 'BLOCKS' + self.json_data['TestOptions']['TopologyConfig'][ + 'Direction'] = 'WEST_EAST' + self.json_data['PortHandler']['EntityList'][0][ + 'PortGroup'] = "WEST" + self.json_data['PortHandler']['EntityList'][1][ + 'PortGroup'] = "EAST" |