diff options
Diffstat (limited to 'resources/libraries/python')
-rw-r--r-- | resources/libraries/python/VPPUtil.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/resources/libraries/python/VPPUtil.py b/resources/libraries/python/VPPUtil.py new file mode 100644 index 0000000000..32e1bb4e7b --- /dev/null +++ b/resources/libraries/python/VPPUtil.py @@ -0,0 +1,52 @@ +# 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. + +"""VPP util library""" +from resources.libraries.python.ssh import SSH + + +class VPPUtil(object): + """General class for any VPP related methods/functions.""" + + @staticmethod + def show_vpp_settings(node, *additional_cmds): + """Print default VPP settings. In case others are needed, can be + accepted as next parameters (each setting one parameter), preferably + in form of a string. + + :param node: VPP node. + :param additional_cmds: Additional commands that the vpp should print + settings for. + :type node: dict + :type additional_cmds: tuple + """ + def_setting_tb_displayed = { + 'IPv6 FIB': 'ip6 fib', + 'IPv4 FIB': 'ip fib', + 'Interface IP': 'int addr', + 'Interfaces': 'int', + 'ARP': 'ip arp', + 'Errors': 'err' + } + + if additional_cmds: + for cmd in additional_cmds: + def_setting_tb_displayed['Custom Setting: {}'.format(cmd)] = cmd + ssh = SSH() + ssh.connect(node) + print("=" * 40) + for key, value in def_setting_tb_displayed.iteritems(): + (_, stdout, _) = ssh.exec_command_sudo('vppctl sh {}'.format(value)) + print("{} : {} \n".format(key, value)) + print(stdout) + print("=" * 40) |