diff options
author | Tomas Alexy <tomas.alexy@pantheon.tech> | 2021-03-25 15:15:17 +0100 |
---|---|---|
committer | Vratko Polak <vrpolak@cisco.com> | 2021-03-26 13:31:11 +0000 |
commit | 6bba7b0bef31a8993848f0dcf5e661e8ccf02ddd (patch) | |
tree | 72d2211a65b0620112a669ce506ea9588dc1f943 /resources | |
parent | cae574e901b04006d5c8060b747516503d0fdf0a (diff) |
Parametrize T-Rex rx/tx descriptors count
Additional configuration can provide performance boosts when running in virtual environments
If set to 0, uses default DPDK value
By tuning this value it's also possible to run T-Rex 2.88 with ENA NICs on AWS
Signed-off-by: Tomas Alexy <tomas.alexy@pantheon.tech>
Change-Id: I43c86ea1d9aa854a1087f07fe544ac77a5b80397
Diffstat (limited to 'resources')
-rw-r--r-- | resources/libraries/python/Constants.py | 5 | ||||
-rw-r--r-- | resources/libraries/python/TrafficGenerator.py | 18 |
2 files changed, 23 insertions, 0 deletions
diff --git a/resources/libraries/python/Constants.py b/resources/libraries/python/Constants.py index c21c5b8cc5..8937e6cfc0 100644 --- a/resources/libraries/python/Constants.py +++ b/resources/libraries/python/Constants.py @@ -197,6 +197,11 @@ class Constants: # TRex number of cores TREX_CORE_COUNT = get_int_from_env(u"TREX_CORE_COUNT", 8) + # TRex set number of RX/TX descriptors + # Set to 0 to use default values + TREX_TX_DESCRIPTORS_COUNT = get_int_from_env(u"TREX_TX_DESCRIPTORS_COUNT", 0) + TREX_RX_DESCRIPTORS_COUNT = get_int_from_env(u"TREX_RX_DESCRIPTORS_COUNT", 0) + # Trex force start regardless ports state TREX_SEND_FORCE = get_pessimistic_bool_from_env(u"TREX_SEND_FORCE") diff --git a/resources/libraries/python/TrafficGenerator.py b/resources/libraries/python/TrafficGenerator.py index 9a9519e248..c0d1b4ec63 100644 --- a/resources/libraries/python/TrafficGenerator.py +++ b/resources/libraries/python/TrafficGenerator.py @@ -343,6 +343,24 @@ class TrafficGenerator(AbstractMeasurer): f"EOF'", sudo=True, message=u"T-Rex config generation!" ) + + if Constants.TREX_RX_DESCRIPTORS_COUNT != 0: + exec_cmd_no_error( + self._node, + f"sh -c 'cat << EOF >> /etc/trex_cfg.yaml\n" + f" rx_desc: {Constants.TREX_RX_DESCRIPTORS_COUNT}\n" + f"EOF'", + sudo=True, message=u"T-Rex rx_desc modification!" + ) + + if Constants.TREX_TX_DESCRIPTORS_COUNT != 0: + exec_cmd_no_error( + self._node, + f"sh -c 'cat << EOF >> /etc/trex_cfg.yaml\n" + f" tx_desc: {Constants.TREX_TX_DESCRIPTORS_COUNT}\n" + f"EOF'", + sudo=True, message=u"T-Rex tx_desc modification!" + ) else: raise ValueError(u"Unknown OSI layer!") |