From 4a56f4e48f39f9e0560833115f85270c0c04b57f Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Mon, 23 Dec 2019 04:10:25 +0000 Subject: ipsec: Test and fix IPSec worker hand-off Type: fix Change-Id: I5cb9a3845ddbc5f4de4eb4e9c481f606fe5cec9a Signed-off-by: Neale Ranns --- test/vpp_ipsec.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'test/vpp_ipsec.py') diff --git a/test/vpp_ipsec.py b/test/vpp_ipsec.py index 0df8cb2a88a..8144ea27c8f 100644 --- a/test/vpp_ipsec.py +++ b/test/vpp_ipsec.py @@ -8,6 +8,10 @@ except NameError: text_type = str +def mk_counter(): + return {'packets': 0, 'bytes': 0} + + class VppIpsecSpd(VppObject): """ VPP SPD DB @@ -163,9 +167,16 @@ class VppIpsecSpdEntry(VppObject): return True return False - def get_stats(self): + def get_stats(self, worker=None): c = self.test.statistics.get_counter("/net/ipsec/policy") - return c[0][self.stat_index] + if worker is None: + total = mk_counter() + for t in c: + total['packets'] += t[self.stat_index]['packets'] + return total + else: + # +1 to skip main thread + return c[worker+1][self.stat_index] class VppIpsecSA(VppObject): @@ -244,9 +255,16 @@ class VppIpsecSA(VppObject): return True return False - def get_stats(self): + def get_stats(self, worker=None): c = self.test.statistics.get_counter("/net/ipsec/sa") - return c[0][self.stat_index] + if worker is None: + total = mk_counter() + for t in c: + total['packets'] += t[self.stat_index]['packets'] + return total + else: + # +1 to skip main thread + return c[worker+1][self.stat_index] class VppIpsecTunProtect(VppObject): -- cgit 1.2.3-korg