X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FNsimUtil.py;h=85e41a4553ca108bdc300456b0cc4463b0b9bdc1;hb=82863d5b8422b1b817d86bd6b1829a06a49feb02;hp=bd319e668e6e0439c9c6a380bb69cbfc7490a8e0;hpb=d79b753c1fde3cd831f60ac5cc0034f613c44b43;p=csit.git diff --git a/resources/libraries/python/NsimUtil.py b/resources/libraries/python/NsimUtil.py index bd319e668e..85e41a4553 100644 --- a/resources/libraries/python/NsimUtil.py +++ b/resources/libraries/python/NsimUtil.py @@ -1,4 +1,4 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2020 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: @@ -36,27 +36,35 @@ class NsimUtil(): vpp papi command fails. """ host = node[u"host"] - if not vpp_nsim_attr[u"output_feature_enable"] \ - and not vpp_nsim_attr[u"cross_connect_feature_enable"]: + if not vpp_nsim_attr[u"output_nsim_enable"] \ + and not vpp_nsim_attr[u"xc_nsim_enable"]: raise RuntimeError(f"No NSIM features enabled on host {host}:\n" f"vpp_nsim_attr = {vpp_nsim_attr}") - cmd = u"nsim_configure" + cmd = u"nsim_configure2" args = dict( delay_in_usec=vpp_nsim_attr[u"delay_in_usec"], average_packet_size=vpp_nsim_attr[u"average_packet_size"], bandwidth_in_bits_per_second=vpp_nsim_attr[ - u"bandwidth_in_bits_per_second" + u"bw_in_bits_per_second" ], packets_per_drop=vpp_nsim_attr[u"packets_per_drop"], + packets_per_reorder=vpp_nsim_attr.get(u"packets_per_reorder", 0) ) err_msg = f"Failed to configure NSIM on host {host}" - with PapiSocketExecutor(node) as papi_exec: - papi_exec.add(cmd, **args).get_reply(err_msg) + try: + with PapiSocketExecutor(node) as papi_exec: + papi_exec.add(cmd, **args).get_reply(err_msg) + except AssertionError: + # Perhaps VPP is an older version + old_cmd = u"nsim_configure" + args.pop(u"packets_per_reorder") + with PapiSocketExecutor(node) as papi_exec: + papi_exec.add(old_cmd, **args).get_reply(err_msg) - if vpp_nsim_attr[u"output_feature_enable"]: + if vpp_nsim_attr[u"output_nsim_enable"]: cmd = u"nsim_output_feature_enable_disable" args = dict( - enable_disable=vpp_nsim_attr[u"output_feature_enable"], + enable_disable=vpp_nsim_attr[u"output_nsim_enable"], sw_if_index=InterfaceUtil.get_interface_index(node, interface0), ) err_msg = f"Failed to enable NSIM output feature on " \ @@ -64,10 +72,10 @@ class NsimUtil(): with PapiSocketExecutor(node) as papi_exec: papi_exec.add(cmd, **args).get_reply(err_msg) - elif vpp_nsim_attr[u"cross_connect_feature_enable"]: + elif vpp_nsim_attr[u"xc_nsim_enable"]: cmd = u"nsim_cross_connect_feature_enable_disable" args = dict( - enable_disable=vpp_nsim_attr[u"cross_connect_feature_enable"], + enable_disable=vpp_nsim_attr[u"xc_nsim_enable"], sw_if_index0=InterfaceUtil.get_interface_index(node, interface0), sw_if_index1=InterfaceUtil.get_interface_index(node,