Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
IPSEC: Pass the algorithm salt (used in GCM) over the API
[vpp.git]
/
test
/
vpp_ipsec.py
diff --git
a/test/vpp_ipsec.py
b/test/vpp_ipsec.py
index
1218c4b
..
77a9d74
100644
(file)
--- a/
test/vpp_ipsec.py
+++ b/
test/vpp_ipsec.py
@@
-1,4
+1,4
@@
-from vpp_object import
*
+from vpp_object import
VppObject
from ipaddress import ip_address
from vpp_papi import VppEnum
from ipaddress import ip_address
from vpp_papi import VppEnum
@@
-24,9
+24,6
@@
class VppIpsecSpd(VppObject):
def remove_vpp_config(self):
self.test.vapi.ipsec_spd_add_del(self.id, is_add=0)
def remove_vpp_config(self):
self.test.vapi.ipsec_spd_add_del(self.id, is_add=0)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "ipsec-spd-%d" % self.id
def object_id(self):
return "ipsec-spd-%d" % self.id
@@
-41,7
+38,7
@@
class VppIpsecSpd(VppObject):
class VppIpsecSpdItfBinding(VppObject):
"""
VPP SPD DB to interface binding
class VppIpsecSpdItfBinding(VppObject):
"""
VPP SPD DB to interface binding
- (i.e. this SPD is used on this interfce)
+ (i.e. this SPD is used on this interf
a
ce)
"""
def __init__(self, test, spd, itf):
"""
def __init__(self, test, spd, itf):
@@
-59,9
+56,6
@@
class VppIpsecSpdItfBinding(VppObject):
self.itf.sw_if_index,
is_add=0)
self.itf.sw_if_index,
is_add=0)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "bind-%s-to-%s" % (self.spd.id, self.itf)
def object_id(self):
return "bind-%s-to-%s" % (self.spd.id, self.itf)
@@
-111,7
+105,7
@@
class VppIpsecSpdEntry(VppObject):
self.remote_port_stop = remote_port_stop
def add_vpp_config(self):
self.remote_port_stop = remote_port_stop
def add_vpp_config(self):
- self.test.vapi.ipsec_spd_entry_add_del(
+
rv =
self.test.vapi.ipsec_spd_entry_add_del(
self.spd.id,
self.sa_id,
self.local_start,
self.spd.id,
self.sa_id,
self.local_start,
@@
-127,6
+121,7
@@
class VppIpsecSpdEntry(VppObject):
local_port_stop=self.local_port_stop,
remote_port_start=self.remote_port_start,
remote_port_stop=self.remote_port_stop)
local_port_stop=self.local_port_stop,
remote_port_start=self.remote_port_start,
remote_port_stop=self.remote_port_stop)
+ self.stat_index = rv.stat_index
self.test.registry.register(self, self.test.logger)
def remove_vpp_config(self):
self.test.registry.register(self, self.test.logger)
def remove_vpp_config(self):
@@
-148,9
+143,6
@@
class VppIpsecSpdEntry(VppObject):
remote_port_stop=self.remote_port_stop,
is_add=0)
remote_port_stop=self.remote_port_stop,
is_add=0)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "spd-entry-%d-%d-%d-%d-%d-%d" % (self.spd.id,
self.priority,
def object_id(self):
return "spd-entry-%d-%d-%d-%d-%d-%d" % (self.spd.id,
self.priority,
@@
-171,6
+163,10
@@
class VppIpsecSpdEntry(VppObject):
return True
return False
return True
return False
+ def get_stats(self):
+ c = self.test.statistics.get_counter("/net/ipsec/policy")
+ return c[0][self.stat_index]
+
class VppIpsecSA(VppObject):
"""
class VppIpsecSA(VppObject):
"""
@@
-182,7
+178,7
@@
class VppIpsecSA(VppObject):
crypto_alg, crypto_key,
proto,
tun_src=None, tun_dst=None,
crypto_alg, crypto_key,
proto,
tun_src=None, tun_dst=None,
- flags=None):
+ flags=None
, salt=0
):
e = VppEnum.vl_api_ipsec_sad_flags_t
self.test = test
self.id = id
e = VppEnum.vl_api_ipsec_sad_flags_t
self.test = test
self.id = id
@@
-192,6
+188,7
@@
class VppIpsecSA(VppObject):
self.crypto_alg = crypto_alg
self.crypto_key = crypto_key
self.proto = proto
self.crypto_alg = crypto_alg
self.crypto_key = crypto_key
self.proto = proto
+ self.salt = salt
self.tun_src = tun_src
self.tun_dst = tun_dst
self.tun_src = tun_src
self.tun_dst = tun_dst
@@
-208,7
+205,7
@@
class VppIpsecSA(VppObject):
self.tun_dst = ip_address(text_type(tun_dst))
def add_vpp_config(self):
self.tun_dst = ip_address(text_type(tun_dst))
def add_vpp_config(self):
- self.test.vapi.ipsec_sad_entry_add_del(
+
r =
self.test.vapi.ipsec_sad_entry_add_del(
self.id,
self.spi,
self.integ_alg,
self.id,
self.spi,
self.integ_alg,
@@
-218,7
+215,9
@@
class VppIpsecSA(VppObject):
self.proto,
(self.tun_src if self.tun_src else []),
(self.tun_dst if self.tun_dst else []),
self.proto,
(self.tun_src if self.tun_src else []),
(self.tun_dst if self.tun_dst else []),
- flags=self.flags)
+ flags=self.flags,
+ salt=self.salt)
+ self.stat_index = r.stat_index
self.test.registry.register(self, self.test.logger)
def remove_vpp_config(self):
self.test.registry.register(self, self.test.logger)
def remove_vpp_config(self):
@@
-235,15
+234,16
@@
class VppIpsecSA(VppObject):
flags=self.flags,
is_add=0)
flags=self.flags,
is_add=0)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "ipsec-sa-%d" % self.id
def query_vpp_config(self):
bs = self.test.vapi.ipsec_sa_dump()
for b in bs:
def object_id(self):
return "ipsec-sa-%d" % self.id
def query_vpp_config(self):
bs = self.test.vapi.ipsec_sa_dump()
for b in bs:
- if b.
sa
_id == self.id:
+ if b.
entry.sad
_id == self.id:
return True
return False
return True
return False
+
+ def get_stats(self):
+ c = self.test.statistics.get_counter("/net/ipsec/sa")
+ return c[0][self.stat_index]