diff options
author | Jan Gelety <jgelety@cisco.com> | 2020-09-12 01:25:23 +0200 |
---|---|---|
committer | Jan Gelety <jgelety@cisco.com> | 2020-09-30 10:15:53 +0000 |
commit | d99951620507d354c4803eb1ee26609d992b70b3 (patch) | |
tree | 49c51f7aad315e2b250b123a64233140bd914cde /resources/libraries/python/NATUtil.py | |
parent | 97e6988950559e98b5abfd73458dfa830727e16b (diff) |
test: compute max_translations_per_thread based on worker threads number
Change-Id: I1c638aef886bf37a9feb4a29e4949c7c8f19b717
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Diffstat (limited to 'resources/libraries/python/NATUtil.py')
-rw-r--r-- | resources/libraries/python/NATUtil.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/resources/libraries/python/NATUtil.py b/resources/libraries/python/NATUtil.py index 857870393e..aabcd36cda 100644 --- a/resources/libraries/python/NATUtil.py +++ b/resources/libraries/python/NATUtil.py @@ -185,6 +185,22 @@ class NATUtil: ] PapiSocketExecutor.dump_and_log(node, cmds) + @staticmethod + def compute_max_translations_per_thread(sessions, threads): + """Compute value of max_translations_per_thread NAT44 parameter based on + total number of worker threads. + + :param sessions: Required number of NAT44 sessions. + :param threads: Number of worker threads. + :type sessions: int + :type threads: int + :returns: Value of max_translations_per_thread NAT44 parameter. + :rtype: int + """ + from math import log2, modf + rest, mult = modf(log2(sessions/(10*threads))) + return 2 ** (int(mult) + (1 if rest else 0)) * 10 + # DET44 PAPI calls # DET44 means deterministic mode of NAT44 @staticmethod |