API: deprecated nsim APIs 47/30447/2
authorJan Gelety <jgelety@cisco.com>
Fri, 11 Dec 2020 13:57:28 +0000 (14:57 +0100)
committerJan Gelety <jgelety@cisco.com>
Fri, 11 Dec 2020 14:11:06 +0000 (15:11 +0100)
Jira: CSIT-1597

Change-Id: Ice342d6cb7cd244d712c42a3d468c851c79739f4
Signed-off-by: Jan Gelety <jgelety@cisco.com>
resources/api/vpp/supported_crcs.yaml
resources/libraries/python/NsimUtil.py

index 70f04f9..d15e9f4 100644 (file)
     nat_worker_details: '0x84bf06fc'  # dev teardown
     nat_worker_dump: '0x51077d14'  # dev teardown
     # TODO: Which test to run to verify nat* messages?
     nat_worker_details: '0x84bf06fc'  # dev teardown
     nat_worker_dump: '0x51077d14'  # dev teardown
     # TODO: Which test to run to verify nat* messages?
-    nsim_configure: '0x16ed400f'  # perf
-    nsim_configure_reply: '0xe8d4e804'  # perf
+    nsim_configure2: '0x64de8ed3'  # perf
+    nsim_configure2_reply: '0xe8d4e804'  # perf
     nsim_output_feature_enable_disable: '0x3865946c'  # perf
     nsim_output_feature_enable_disable_reply: '0xe8d4e804'  # perf
     # 4x^ tc01-9000B-1c-eth-ip4tcp-nsim-ldpreload-iperf3-bps
     nsim_output_feature_enable_disable: '0x3865946c'  # perf
     nsim_output_feature_enable_disable_reply: '0xe8d4e804'  # perf
     # 4x^ tc01-9000B-1c-eth-ip4tcp-nsim-ldpreload-iperf3-bps
index 3662ba4..85e41a4 100644 (file)
@@ -40,7 +40,7 @@ class NsimUtil():
                 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}")
                 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"],
         args = dict(
             delay_in_usec=vpp_nsim_attr[u"delay_in_usec"],
             average_packet_size=vpp_nsim_attr[u"average_packet_size"],
@@ -48,10 +48,18 @@ class NsimUtil():
                 u"bw_in_bits_per_second"
             ],
             packets_per_drop=vpp_nsim_attr[u"packets_per_drop"],
                 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}"
         )
         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_nsim_enable"]:
             cmd = u"nsim_output_feature_enable_disable"
 
         if vpp_nsim_attr[u"output_nsim_enable"]:
             cmd = u"nsim_output_feature_enable_disable"