[PATCH-next v2] lnst.RecipeCommon.Ping: redesign to handle parallel scenarios
by csfakian@redhat.com
From: Christos Sfakianakis <csfakian(a)redhat.com>
Add/edit methods in PingTestAndEvaluate to handle parallel scenarios:
a) added "ping_init" to initiate a Tests.Ping instance for all
scenarios
b) edited "ping_test" to split between default and parallel
scenarios
c) added "parallel_ping_evaluate_and_report" as the analogous of
"ping_evaluate_and_report" for the parallel case
d) added "single_ping_evaluate_and_report" to report which ip's
are used each time in the parallel case
v2:
lnst.Recipes.ENRT.BaseEnrtRecipe: add _create _reverse_ping method to
return reverse ping configs. Use it in 'generate_ping_configurations'
and yield a list from the latter in all cases. Reverse the order of
assigned IPv6 addresses in 'generate_ping_configurations' as they are
saved in LIFO fashion by the underlying modules.
lnst.RecipeCommon.Ping:
Remove checks for type 'list' in 'ping_test', since this type has been
ensured above. Merge {,parallel_}ping_evaluate_and_report into a single
method.
Signed-off-by: Christos Sfakianakis <csfakian(a)redhat.com>
---
lnst/RecipeCommon/Ping.py | 43 ++++++++++++++++----
lnst/Recipes/ENRT/BaseEnrtRecipe.py | 62 ++++++++++++++++++++++++-----
2 files changed, 87 insertions(+), 18 deletions(-)
diff --git a/lnst/RecipeCommon/Ping.py b/lnst/RecipeCommon/Ping.py
index f5cd652..31f1b38 100644
--- a/lnst/RecipeCommon/Ping.py
+++ b/lnst/RecipeCommon/Ping.py
@@ -44,21 +44,48 @@ class PingConf(object):
class PingTestAndEvaluate(BaseRecipe):
def ping_test(self, ping_config):
+ results = {}
+
+ running_ping_array = []
+ for pingconf in ping_config:
+ ping, client = self.ping_init(pingconf)
+ running_ping = client.prepare_job(ping)
+ running_ping.start(bg = True)
+ running_ping_array.append((pingconf, running_ping))
+
+ for _, pingjob in running_ping_array:
+ try:
+ pingjob.wait()
+ finally:
+ pingjob.kill()
+
+ for pingconf, pingjob in running_ping_array:
+ result = pingjob.result
+ results[pingconf] = result
+
+ return results
+
+ def ping_init(self, ping_config):
client = ping_config.client
destination = ping_config.destination
-
kwargs = self._generate_ping_kwargs(ping_config)
ping = Ping(**kwargs)
-
- ping_job = client.run(ping)
- return ping_job.result
+ return (ping, client)
def ping_evaluate_and_report(self, ping_config, results):
- # do we want to use the "perf" measurements (store a baseline etc...) as well?
- if results["rate"] > 50:
- self.add_result(True, "Ping succesful", results)
+ for pingconf, result in results.items():
+ self.single_ping_evaluate_and_report(pingconf, result)
+
+ def single_ping_evaluate_and_report(self, ping_config, result):
+ fmt = "From: <{0.client.hostid} ({0.client_bind})> To: " \
+ "<{0.destination.hostid} ({0.destination_address})>"
+ description = fmt.format(ping_config)
+ if result["rate"] > 50:
+ message = "Ping successful --- " + description
+ self.add_result(True, message, result)
else:
- self.add_result(False, "Ping unsuccesful", results)
+ message = "Ping unsuccessful --- " + description
+ self.add_result(False, message, result)
def _generate_ping_kwargs(self, ping_config):
kwargs = dict(dst=ping_config.destination_address,
diff --git a/lnst/Recipes/ENRT/BaseEnrtRecipe.py b/lnst/Recipes/ENRT/BaseEnrtRecipe.py
index d21d4bd..4d57b74 100644
--- a/lnst/Recipes/ENRT/BaseEnrtRecipe.py
+++ b/lnst/Recipes/ENRT/BaseEnrtRecipe.py
@@ -66,6 +66,13 @@ class EnrtSubConfiguration(object):
class BaseEnrtRecipe(PingTestAndEvaluate, PerfRecipe):
ip_versions = Param(default=("ipv4", "ipv6"))
+
+ ping_parallel = BoolParam(default=False)
+ ping_bidirect = BoolParam(default=False)
+ ping_count = IntParam(default = 100)
+ ping_interval = StrParam(default = 0.2)
+ ping_psize = IntParam(default = None)
+
perf_tests = Param(default=("tcp_stream", "udp_stream", "sctp_stream"))
offload_combinations = Param(default=(
@@ -176,22 +183,47 @@ class BaseEnrtRecipe(PingTestAndEvaluate, PerfRecipe):
def generate_ping_configurations(self, main_config, sub_config):
client_nic = main_config.endpoint1
server_nic = main_config.endpoint2
- client_netns = client_nic.netns
- server_netns = server_nic.netns
+
+ count = self.params.ping_count
+ interval = self.params.ping_interval
+ size = self.params.ping_psize
+ common_args = {'count' : count, 'interval' : interval, 'size' : size}
for ipv in self.params.ip_versions:
+ kwargs = {}
if ipv == "ipv4":
- family = AF_INET
+ kwargs.update(family = AF_INET)
elif ipv == "ipv6":
- family = AF_INET6
+ kwargs.update(family = AF_INET6)
+ kwargs.update(link_local = False)
- client_bind = client_nic.ips_filter(family=family)[0]
- server_bind = server_nic.ips_filter(family=family)[0]
+ client_ips = client_nic.ips_filter(**kwargs)
+ server_ips = server_nic.ips_filter(**kwargs)
+ if ipv == "ipv6":
+ client_ips = client_ips[::-1]
+ server_ips = server_ips[::-1]
+
+ if len(client_ips) != len(server_ips) or len(client_ips) * len(server_ips) == 0:
+ raise LnstError("Source/destination ip lists are of different size or empty.")
+
+ ping_conf_list = []
+ for src_addr, dst_addr in zip(client_ips, server_ips):
+ pconf = PingConf(client = client_nic.netns,
+ client_bind = src_addr,
+ destination = server_nic.netns,
+ destination_address = dst_addr,
+ **common_args)
+
+ ping_conf_list.append(pconf)
- yield PingConf(client = client_netns,
- client_bind = client_bind,
- destination = server_netns,
- destination_address = server_bind)
+ if self.params.ping_bidirect:
+ rev_pconf = self._create_reverse_ping(pconf, common_args)
+ ping_conf_list.append(rev_pconf)
+
+ if not self.params.ping_parallel:
+ break
+
+ yield ping_conf_list
def generate_perf_configurations(self, main_config, sub_config):
client_nic = main_config.endpoint1
@@ -261,6 +293,16 @@ class BaseEnrtRecipe(PingTestAndEvaluate, PerfRecipe):
)
return rev_flow
+ def _create_reverse_ping(self, pconf, args):
+ rev_pconf = PingConf(
+ client = pconf.destination,
+ client_bind = pconf.destination_address,
+ destination = pconf.client,
+ destination_address = pconf.client_bind,
+ **args
+ )
+ return rev_pconf
+
def _pin_dev_interrupts(self, dev, cpu):
netns = dev.netns
cpu_info = netns.run("lscpu").stdout
--
2.17.1
4 years, 7 months
[PATCH-next] lnst.Devices: edit cleanup method in Device
by csfakian@redhat.com
From: Christos Sfakianakis <csfakian(a)redhat.com>
Have any master device(s) cleaned up before the cleanup of
the slave(s) is started. This helps preventing DeviceConfigError
thrown during the deconfiguration stage which would result in
device(s) not being cleaned up after the test. This has been notable
with VirtualOvsBridge* recipes.
Signed-off-by: Christos Sfakianakis <csfakian(a)redhat.com>
---
lnst/Devices/Device.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/lnst/Devices/Device.py b/lnst/Devices/Device.py
index d9aa023..b78b295 100644
--- a/lnst/Devices/Device.py
+++ b/lnst/Devices/Device.py
@@ -329,6 +329,7 @@ class Device(object):
values.
"""
if self.master:
+ self.master.cleanup()
self.master = None
self.down()
self.ip_flush()
--
2.17.1
4 years, 8 months
[PATCH 0/4] minor bug-fixes and improvements
by olichtne@redhat.com
From: Ondrej Lichtner <olichtne(a)redhat.com>
This patchset is just a collection of not really related fixes and
improvements that serve as preparation for a larger patchset targeting
perf result evaluation code.
Sending this now so others can base their code on these fixes since I've
had them for a while...
-Ondrej
Ondrej Lichtner (4):
lnst.Controller.RunSummaryFormatter: add colourize parameter
RecipeCommon.Perf.Measurements.BaseCPUMeasurement: adjust base
evaluation method
RecipeCommon.Perf.Measurements.BaseFlowMeasurement: modify evaluation
result
lnst.Tests.Iperf: don't fail on stderr messages
lnst/Controller/RunSummaryFormatter.py | 11 ++++++++---
.../Perf/Measurements/BaseCPUMeasurement.py | 9 ++++++---
.../Perf/Measurements/BaseFlowMeasurement.py | 11 +----------
lnst/Tests/Iperf.py | 1 -
4 files changed, 15 insertions(+), 17 deletions(-)
--
2.21.0
4 years, 8 months
[PATCH-next 1/1] lnst.Recipes.ENRT.VirtualBridgeVlansOverBondRecipe: bond rename
by csfakian@redhat.com
From: Christos Sfakianakis <csfakian(a)redhat.com>
Rename bond to bond0 to comply with naming consistency across
ENRT recipes.
Signed-off-by: Christos Sfakianakis <csfakian(a)redhat.com>
---
.../ENRT/VirtualBridgeVlansOverBondRecipe.py | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/lnst/Recipes/ENRT/VirtualBridgeVlansOverBondRecipe.py b/lnst/Recipes/ENRT/VirtualBridgeVlansOverBondRecipe.py
index 16b9570..ba8aa2a 100644
--- a/lnst/Recipes/ENRT/VirtualBridgeVlansOverBondRecipe.py
+++ b/lnst/Recipes/ENRT/VirtualBridgeVlansOverBondRecipe.py
@@ -53,11 +53,11 @@ class VirtualBridgeVlansOverBondRecipe(BaseEnrtRecipe):
host.eth1.down()
host.tap0.down()
host.tap1.down()
- host.bond = BondDevice(mode=self.params.bonding_mode, miimon=self.params.miimon_value)
- host.bond.slave_add(host.eth0)
- host.bond.slave_add(host.eth1)
- host.vlan0 = VlanDevice(realdev=host.bond, vlan_id=n)
- host.vlan1 = VlanDevice(realdev=host.bond, vlan_id=2*n)
+ host.bond0 = BondDevice(mode=self.params.bonding_mode, miimon=self.params.miimon_value)
+ host.bond0.slave_add(host.eth0)
+ host.bond0.slave_add(host.eth1)
+ host.vlan0 = VlanDevice(realdev=host.bond0, vlan_id=n)
+ host.vlan1 = VlanDevice(realdev=host.bond0, vlan_id=2*n)
host.br0 = BridgeDevice()
host.br0.slave_add(host.vlan0)
host.br0.slave_add(host.tap0)
@@ -75,14 +75,14 @@ class VirtualBridgeVlansOverBondRecipe(BaseEnrtRecipe):
configuration.endpoint2 = guest3.eth0
if "mtu" in self.params:
- host1.bond.mtu = self.params.mtu
+ host1.bond0.mtu = self.params.mtu
host1.tap0.mtu = self.params.mtu
host1.tap1.mtu = self.params.mtu
host1.vlan0.mtu = self.params.mtu
host1.vlan1.mtu = self.params.mtu
host1.br0.mtu = self.params.mtu
host1.br1.mtu = self.params.mtu
- host2.bond.mtu = self.params.mtu
+ host2.bond0.mtu = self.params.mtu
host2.tap0.mtu = self.params.mtu
host2.tap1.mtu = self.params.mtu
host2.vlan0.mtu = self.params.mtu
@@ -100,7 +100,7 @@ class VirtualBridgeVlansOverBondRecipe(BaseEnrtRecipe):
net_addr6_2 = "fc00:0:0:2"
for host, (guest_a, guest_b), n in [(host1, (guest1, guest2), 1), (host2, (guest3, guest4), 3)]:
- host.bond.ip_add(ipaddress("1.2.3.4"))
+ host.bond0.ip_add(ipaddress("1.2.3.4"))
host.br0.ip_add(ipaddress(net_addr_1 + "." + str(n) + "/24"))
host.br1.ip_add(ipaddress(net_addr_2 + "." + str(n) + "/24"))
guest_a.eth0.ip_add(ipaddress(net_addr_1 + "." + str(n+1) + "/24"))
@@ -113,7 +113,7 @@ class VirtualBridgeVlansOverBondRecipe(BaseEnrtRecipe):
host.eth1.up()
host.tap0.up()
host.tap1.up()
- host.bond.up()
+ host.bond0.up()
host.vlan0.up()
host.vlan1.up()
host.br0.up()
--
2.17.1
4 years, 8 months
[PATCH-next 0/1] Consistent namings in ENRT recipes
by csfakian@redhat.com
From: Christos Sfakianakis <csfakian(a)redhat.com>
This patch fixes naming inconsistencies in ENRT recipes.
It relies on patch 'Missing parameter handling - v2' for
merging.
Christos Sfakianakis (1):
lnst.Recipes.ENRT: edit host/device namings
lnst/Recipes/ENRT/BondRecipe.py | 66 ++++++------
lnst/Recipes/ENRT/DoubleBondRecipe.py | 74 ++++++-------
lnst/Recipes/ENRT/DoubleTeamRecipe.py | 88 +++++++--------
lnst/Recipes/ENRT/PingFloodRecipe.py | 28 ++---
lnst/Recipes/ENRT/SimplePerfRecipe.py | 78 +++++++-------
lnst/Recipes/ENRT/TeamRecipe.py | 66 ++++++------
lnst/Recipes/ENRT/TeamVsBondRecipe.py | 88 +++++++--------
.../VirtualBridgeVlanInGuestMirroredRecipe.py | 36 +++----
.../ENRT/VirtualBridgeVlanInGuestRecipe.py | 36 +++----
.../VirtualBridgeVlanInHostMirroredRecipe.py | 30 +++---
.../ENRT/VirtualBridgeVlanInHostRecipe.py | 34 +++---
.../ENRT/VirtualBridgeVlansOverBondRecipe.py | 100 +++++++++---------
...rtualOvsBridgeVlanInGuestMirroredRecipe.py | 52 ++++-----
.../ENRT/VirtualOvsBridgeVlanInGuestRecipe.py | 38 +++----
...irtualOvsBridgeVlanInHostMirroredRecipe.py | 35 +++---
.../ENRT/VirtualOvsBridgeVlanInHostRecipe.py | 26 ++---
.../VirtualOvsBridgeVlansOverBondRecipe.py | 57 +++++-----
lnst/Recipes/ENRT/VlansOverBondRecipe.py | 94 ++++++++--------
lnst/Recipes/ENRT/VlansOverTeamRecipe.py | 94 ++++++++--------
lnst/Recipes/ENRT/VlansRecipe.py | 84 +++++++--------
20 files changed, 601 insertions(+), 603 deletions(-)
--
2.17.1
4 years, 8 months
[PATCH-next v2 0/8] Missing parameter handling
by csfakian@redhat.com
From: Christos Sfakianakis <csfakian(a)redhat.com>
Hi,
this is the second version of the patch set. Changes include:
* lnst.Recipes.ENRT.BaseEnrtRecipe
+ Rename 'perf_intr_cpu' to 'perf_tool_cpu'.
+ Make 'dev_intr_cpu' and 'perf_tool_cpu' optional.
+ Make 'perf_reverse' optional and available to all recipes.
+ Rewrite 'create_reverse_flow' method at the bottom.
+ Add CPU validity check in '_pin_dev_interrupts'.
+ Extend try..finally clause in 'test' to cover ping test errors.
* lnst.Devices.Device.py
+ Remove _restore_coalescing method from Device module, make it
public.
+ Use the previous method instead of '_write_adaptive__coalescing'
in 'restore_original_data'.
* lnst.Recipes.ENRT
+ Modify checks for -now- optional parameters 'dev_intr_cpu' and
'perf_tool_cpu'.
Thanks,
Christos
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Previous message:
This patch set includes various parameter-handling cases that have
been missing from the new recipes (present in the old recipes).
Details follow.
========================================================================
edit perf pinnings in Recipes
This patch handles the pinning of the perf tool to a specific
CPU per the old recipes. No units are hadnled since '-J' for JSON
outputs seems to overwrite them
========================================================================
fix syntax errors and offloads
This patch fixes syntax error and offload settings in 3 of the ENRT
recipes.
========================================================================
handle/enable bidirectional perfs
This patch enables perf tests to be done from both sides.
The main reason for this is that this feature is used in 8
cases from phase 2:
- active_backup_team
- round_robin_team
- active_backup_double_team
- round_robin_double_team
- acive_backup_team_vs_active_backup_bond
- acive_backup_team_vs_round_robin_bond
- round_robin_team_vs_active_backup_bond
- round_robin_team_vs_round_robin_bond
A suitable parameter is added in BaseEnrtRecipe as well as
in TeamRecipe, TeamVsBondRecipe, DoubleTeamRecipe files.
In the old recipes, all perf tests from one side are completed before
client/server roles are inverted. In the current patch, that order is
not preserved (this should not affect the results).
========================================================================
handle adaptive coalescing
This patch* inlcudes modifications in the Device module and in some
ENRT recipes that hanlde adaptive coalescence.In the Device module,
methods are added to read, modify, or restore the coalescence settings
of a target device. The handling is different from the old recipes' in
that rx and tx parts are handled independently. In addition, 3 scenarios
are handled (skip/enable/disable) vs 2 in the old recipes (skip/disable)
.No verification checks are made, since it is expected that these will
be part of the future recipe-wide verification class.
========================================================================
use coalescence tuning
This patch makes use of the previous patch in ENRT recipes.
========================================================================
add qdisc tuning for multi-perf cases
This patch* handles traffic control settings for multi-perf scenarios.
No handling is added in the deconfiguration phase of the ENRT recipes,
since this is expected to be done via the already present code in the
Device module.
=======================================================================
add {udp,sctp}-specific checks
This patch* adds checks for UDP/SCTP and specific offloads per the old
recipes. The iptables commands for SCTP are executed multiple times
(once for every offload combination) in the current design, but this
should have no effect in functionality.
=======================================================================
* Due to the fact that the target devices are ethernet and we
currently cannot filter them out of 2 arbitrary perf configuration
endpoints, it was not possible to apply these changes in
BaseEnrtRecipe; the top-level recipes had to be used.
Christos Sfakianakis (8):
lnst.Recipes.ENRT: edit perf pinnings in Recipes
lnst.Recipes.ENRT: fix offloads
lnst.Recipes.ENRT: handle/enable bidirectional perfs
lnst.Devices.Device: handle adaptive coalescing
lnst.Recipes.ENRT: use coalescence tuning
lnst.Recipes.ENRT: add qdisc tuning for multi-perf cases
lnst.Recipes.ENRT.BaseEnrtRecipe: add {udp,sctp}-specific checks
lnst.Recipes.ENRT: ensure deconfiguration stage
lnst/Devices/Device.py | 71 ++++++++++++
.../Perf/Measurements/BaseFlowMeasurement.py | 7 +-
.../Perf/Measurements/IperfFlowMeasurement.py | 18 ++++
lnst/Recipes/ENRT/BaseEnrtRecipe.py | 101 ++++++++++++++----
lnst/Recipes/ENRT/BondRecipe.py | 24 +++--
lnst/Recipes/ENRT/DoubleBondRecipe.py | 29 +++--
lnst/Recipes/ENRT/DoubleTeamRecipe.py | 32 ++++--
lnst/Recipes/ENRT/SimplePerfRecipe.py | 25 +++--
lnst/Recipes/ENRT/TeamRecipe.py | 27 +++--
lnst/Recipes/ENRT/TeamVsBondRecipe.py | 32 ++++--
.../VirtualBridgeVlanInGuestMirroredRecipe.py | 25 +++--
.../ENRT/VirtualBridgeVlanInGuestRecipe.py | 23 ++--
.../VirtualBridgeVlanInHostMirroredRecipe.py | 25 +++--
.../ENRT/VirtualBridgeVlanInHostRecipe.py | 23 ++--
.../ENRT/VirtualBridgeVlansOverBondRecipe.py | 25 +++--
...rtualOvsBridgeVlanInGuestMirroredRecipe.py | 25 +++--
.../ENRT/VirtualOvsBridgeVlanInGuestRecipe.py | 23 ++--
...irtualOvsBridgeVlanInHostMirroredRecipe.py | 25 +++--
.../ENRT/VirtualOvsBridgeVlanInHostRecipe.py | 23 ++--
.../VirtualOvsBridgeVlansOverBondRecipe.py | 31 +++---
lnst/Recipes/ENRT/VlansOverBondRecipe.py | 24 +++--
lnst/Recipes/ENRT/VlansOverTeamRecipe.py | 24 +++--
lnst/Recipes/ENRT/VlansRecipe.py | 25 +++--
23 files changed, 500 insertions(+), 187 deletions(-)
--
2.17.1
4 years, 8 months
如何运营《抖音与社群》,建立自己的鱼塘
by ���O��
From: =?GB2312?B?lnst-developers/gudiyv8PF?= <lnst-developers(a)lists.fedorahosted.org>
Subject: =?���O��?B?wM22r7rPzay3qLu3vrPPwg==?=
To: "���O��" <fyaangdon(a)cn-zw.com>
(AD) ��������������������
��������������������������������������������������������
������������������������������
��������:2019-03-14 16:58:43
4 years, 8 months
[PATCH-next 0/7] Missing parameter handling
by csfakian@redhat.com
From: Christos Sfakianakis <csfakian(a)redhat.com>
This patche set includes various parameter-handling cases that have
been missing from the new recipes (present in the old recipes).
Details follow.
========================================================================
edit perf pinnings in Recipes
This patch handles the pinning of the perf tool to a specific
CPU per the old recipes. No units are hadnled since '-J' for JSON
outputs seems to overwrite them
========================================================================
fix syntax errors and offloads
This patch fixes syntax error and offload settings in 3 of the ENRT
recipes.
========================================================================
handle/enable bidirectional perfs
This patch enables perf tests to be done from both sides.
The main reason for this is that this feature is used in 8
cases from phase 2:
- active_backup_team
- round_robin_team
- active_backup_double_team
- round_robin_double_team
- acive_backup_team_vs_active_backup_bond
- acive_backup_team_vs_round_robin_bond
- round_robin_team_vs_active_backup_bond
- round_robin_team_vs_round_robin_bond
A suitable parameter is added in BaseEnrtRecipe as well as
in TeamRecipe, TeamVsBondRecipe, DoubleTeamRecipe files.
In the old recipes, all perf tests from one side are completed before
client/server roles are inverted. In the current patch, that order is
not preserved (this should not affect the results).
========================================================================
handle adaptive coalescing
This patch* inlcudes modifications in the Device module and in some
ENRT recipes that hanlde adaptive coalescence.In the Device module,
methods are added to read, modify, or restore the coalescence settings
of a target device. The handling is different from the old recipes' in
that rx and tx parts are handled independently. In addition, 3 scenarios
are handled (skip/enable/disable) vs 2 in the old recipes (skip/disable)
.No verification checks are made, since it is expected that these will
be part of the future recipe-wide verification class.
========================================================================
use coalescence tuning
This patch makes use of the previous patch in ENRT recipes.
========================================================================
add qdisc tuning for multi-perf cases
This patch* handles traffic control settings for multi-perf scenarios.
No handling is added in the deconfiguration phase of the ENRT recipes,
since this is expected to be done via the already present code in the
Device module.
=======================================================================
add {udp,sctp}-specific checks
This patch* adds checks for UDP/SCTP and specific offloads per the old
recipes. The iptables commands for SCTP are executed multiple times
(once for every offload combination) in the current design, but this
should have no effect in functionality.
=======================================================================
* Due to the fact that the target devices are ethernet and we
currently cannot filter them out of 2 arbitrary perf configuration
endpoints, it was not possible to apply these changes in
BaseEnrtRecipe; the top-level recipes had to be used.
Christos Sfakianakis (7):
lnst.Recipes.ENRT: edit perf pinnings in Recipes
lnst.Recipes.ENRT: fix syntax errors and offloads
lnst.Recipes.ENRT: handle/enable bidirectional perfs
lnst.Devices.Device: handle adaptive coalescing
lnst.Recipes.ENRT: use coalescence tuning
lnst.Recipes.ENRT: add qdisc tuning for multi-perf cases
lnst.Recipes.ENRT.BaseEnrtRecipe: add {udp,sctp}-specific checks
lnst/Devices/Device.py | 77 +++++++++++++++++++
.../Perf/Measurements/BaseFlowMeasurement.py | 7 +-
.../Perf/Measurements/IperfFlowMeasurement.py | 14 ++++
lnst/Recipes/ENRT/BaseEnrtRecipe.py | 51 +++++++++++-
lnst/Recipes/ENRT/BondRecipe.py | 24 ++++--
lnst/Recipes/ENRT/DoubleBondRecipe.py | 29 +++++--
lnst/Recipes/ENRT/DoubleTeamRecipe.py | 32 ++++++--
lnst/Recipes/ENRT/SimplePerfRecipe.py | 25 ++++--
lnst/Recipes/ENRT/TeamRecipe.py | 27 +++++--
lnst/Recipes/ENRT/TeamVsBondRecipe.py | 32 ++++++--
.../VirtualBridgeVlanInGuestMirroredRecipe.py | 25 +++---
.../ENRT/VirtualBridgeVlanInGuestRecipe.py | 23 +++---
.../VirtualBridgeVlanInHostMirroredRecipe.py | 25 +++---
.../ENRT/VirtualBridgeVlanInHostRecipe.py | 23 +++---
.../ENRT/VirtualBridgeVlansOverBondRecipe.py | 25 ++++--
...rtualOvsBridgeVlanInGuestMirroredRecipe.py | 25 +++---
.../ENRT/VirtualOvsBridgeVlanInGuestRecipe.py | 23 +++---
...irtualOvsBridgeVlanInHostMirroredRecipe.py | 25 +++---
.../ENRT/VirtualOvsBridgeVlanInHostRecipe.py | 23 +++---
.../VirtualOvsBridgeVlansOverBondRecipe.py | 31 ++++----
lnst/Recipes/ENRT/VlansOverBondRecipe.py | 24 ++++--
lnst/Recipes/ENRT/VlansOverTeamRecipe.py | 24 ++++--
lnst/Recipes/ENRT/VlansRecipe.py | 25 ++++--
23 files changed, 471 insertions(+), 168 deletions(-)
--
2.17.1
4 years, 8 months
(AD) 技术转型,如何走上管理岗位
by ���w��
lnst-developers
(AD) ��������������������������������������
���w��<sjnai(a)webspy.com.cn>
��������:2019-03-12 05:40:18
4 years, 8 months
如何做好客户服务
by ������
lnst-developers(a)lists.fedorahosted.org
�� �� �� �� �� �� �� ��
ÐÏࡱá
4 years, 8 months