blob: 927863c80a101b0b375fbd855cbc4d8dbca2a1eb [file] [log] [blame]
“mystarrocks”23f0c452017-12-11 07:11:51 -08001import socket
Klement Sekera28fb03f2018-04-17 11:36:55 +02002import unittest
Klement Sekera31da2e32018-06-24 22:49:55 +02003from scapy.layers.ipsec import ESP
Christian Hoppsfb7e7ed2019-11-03 07:02:15 -05004from scapy.layers.inet import IP, ICMP, UDP
Neale Ranns041add72020-01-02 04:06:10 +00005from scapy.layers.inet6 import IPv6
6from scapy.layers.l2 import Ether
7from scapy.packet import Raw
“mystarrocks”23f0c452017-12-11 07:11:51 -08008
Neale Ranns00625a62019-07-31 00:13:18 -07009from parameterized import parameterized
juraj.linkes11057662019-07-08 10:22:55 +020010from framework import VppTestRunner
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020011from template_ipsec import (
12 IpsecTra46Tests,
13 IpsecTun46Tests,
14 TemplateIpsec,
15 IpsecTcpTests,
16 IpsecTun4Tests,
17 IpsecTra4Tests,
18 config_tra_params,
19 config_tun_params,
20 IPsecIPv4Params,
21 IPsecIPv6Params,
22 IpsecTra4,
23 IpsecTun4,
24 IpsecTra6,
25 IpsecTun6,
26 IpsecTun6HandoffTests,
27 IpsecTun4HandoffTests,
28 IpsecTra6ExtTests,
29)
30from vpp_ipsec import VppIpsecSpd, VppIpsecSpdEntry, VppIpsecSA, VppIpsecSpdItfBinding
Neale Ranns311124e2019-01-24 04:52:25 -080031from vpp_ip_route import VppIpRoute, VppRoutePath
32from vpp_ip import DpoProto
Neale Ranns17dcec02019-01-09 21:22:20 -080033from vpp_papi import VppEnum
“mystarrocks”23f0c452017-12-11 07:11:51 -080034
Neale Rannsc87b66c2019-02-07 07:26:12 -080035NUM_PKTS = 67
Benoît Ganne5c481ff2021-03-08 10:22:51 +010036engines_supporting_chain_bufs = ["openssl", "async"]
Neale Rannsf16e9a52021-02-25 19:09:24 +000037engines = ["ia32", "ipsecmb", "openssl"]
Neale Rannsc87b66c2019-02-07 07:26:12 -080038
“mystarrocks”23f0c452017-12-11 07:11:51 -080039
Neale Ranns4f33c802019-04-10 12:39:10 +000040class ConfigIpsecESP(TemplateIpsec):
41 encryption_type = ESP
42 tra4_encrypt_node_name = "esp4-encrypt"
Neale Ranns8c609af2021-02-25 10:05:32 +000043 tra4_decrypt_node_name = ["esp4-decrypt", "esp4-decrypt-post"]
Neale Ranns4f33c802019-04-10 12:39:10 +000044 tra6_encrypt_node_name = "esp6-encrypt"
Neale Ranns8c609af2021-02-25 10:05:32 +000045 tra6_decrypt_node_name = ["esp6-decrypt", "esp6-decrypt-post"]
Neale Ranns4f33c802019-04-10 12:39:10 +000046 tun4_encrypt_node_name = "esp4-encrypt"
Neale Ranns8c609af2021-02-25 10:05:32 +000047 tun4_decrypt_node_name = ["esp4-decrypt", "esp4-decrypt-post"]
Neale Ranns4f33c802019-04-10 12:39:10 +000048 tun6_encrypt_node_name = "esp6-encrypt"
Neale Ranns8c609af2021-02-25 10:05:32 +000049 tun6_decrypt_node_name = ["esp6-decrypt", "esp6-decrypt-post"]
Neale Ranns53f526b2019-02-25 14:32:02 +000050
Neale Ranns4f33c802019-04-10 12:39:10 +000051 @classmethod
52 def setUpClass(cls):
53 super(ConfigIpsecESP, cls).setUpClass()
Neale Ranns53f526b2019-02-25 14:32:02 +000054
Neale Ranns4f33c802019-04-10 12:39:10 +000055 @classmethod
56 def tearDownClass(cls):
57 super(ConfigIpsecESP, cls).tearDownClass()
Neale Ranns53f526b2019-02-25 14:32:02 +000058
Neale Ranns4f33c802019-04-10 12:39:10 +000059 def setUp(self):
60 super(ConfigIpsecESP, self).setUp()
Neale Ranns53f526b2019-02-25 14:32:02 +000061
Neale Ranns4f33c802019-04-10 12:39:10 +000062 def tearDown(self):
63 super(ConfigIpsecESP, self).tearDown()
64
Neale Ranns5b891102021-06-28 13:31:28 +000065 def config_anti_replay(self, params):
66 saf = VppEnum.vl_api_ipsec_sad_flags_t
67 for p in params:
68 p.flags |= saf.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY
69
Neale Ranns4f33c802019-04-10 12:39:10 +000070 def config_network(self, params):
71 self.net_objs = []
72 self.tun_if = self.pg0
73 self.tra_if = self.pg2
74 self.logger.info(self.vapi.ppcli("show int addr"))
75
76 self.tra_spd = VppIpsecSpd(self, self.tra_spd_id)
77 self.tra_spd.add_vpp_config()
78 self.net_objs.append(self.tra_spd)
79 self.tun_spd = VppIpsecSpd(self, self.tun_spd_id)
80 self.tun_spd.add_vpp_config()
81 self.net_objs.append(self.tun_spd)
82
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020083 b = VppIpsecSpdItfBinding(self, self.tun_spd, self.tun_if)
Neale Ranns4f33c802019-04-10 12:39:10 +000084 b.add_vpp_config()
85 self.net_objs.append(b)
86
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020087 b = VppIpsecSpdItfBinding(self, self.tra_spd, self.tra_if)
Neale Ranns4f33c802019-04-10 12:39:10 +000088 b.add_vpp_config()
89 self.net_objs.append(b)
90
91 for p in params:
92 self.config_esp_tra(p)
93 config_tra_params(p, self.encryption_type)
94 for p in params:
95 self.config_esp_tun(p)
Neale Ranns12989b52019-09-26 16:20:19 +000096 config_tun_params(p, self.encryption_type, self.tun_if)
Neale Ranns4f33c802019-04-10 12:39:10 +000097
98 for p in params:
99 d = DpoProto.DPO_PROTO_IP6 if p.is_ipv6 else DpoProto.DPO_PROTO_IP4
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200100 r = VppIpRoute(
101 self,
102 p.remote_tun_if_host,
103 p.addr_len,
104 [
105 VppRoutePath(
106 self.tun_if.remote_addr[p.addr_type], 0xFFFFFFFF, proto=d
107 )
108 ],
109 )
Neale Ranns4f33c802019-04-10 12:39:10 +0000110 r.add_vpp_config()
111 self.net_objs.append(r)
112
113 self.logger.info(self.vapi.ppcli("show ipsec all"))
114
115 def unconfig_network(self):
116 for o in reversed(self.net_objs):
117 o.remove_vpp_config()
118 self.net_objs = []
119
120 def config_esp_tun(self, params):
121 addr_type = params.addr_type
122 scapy_tun_sa_id = params.scapy_tun_sa_id
123 scapy_tun_spi = params.scapy_tun_spi
124 vpp_tun_sa_id = params.vpp_tun_sa_id
125 vpp_tun_spi = params.vpp_tun_spi
126 auth_algo_vpp_id = params.auth_algo_vpp_id
127 auth_key = params.auth_key
128 crypt_algo_vpp_id = params.crypt_algo_vpp_id
129 crypt_key = params.crypt_key
130 remote_tun_if_host = params.remote_tun_if_host
131 addr_any = params.addr_any
132 addr_bcast = params.addr_bcast
133 e = VppEnum.vl_api_ipsec_spd_action_t
Neale Ranns49e7ef62019-04-10 17:24:29 +0000134 flags = params.flags
Neale Ranns041add72020-01-02 04:06:10 +0000135 tun_flags = params.tun_flags
Neale Ranns80f6fd52019-04-16 02:41:34 +0000136 salt = params.salt
Neale Ranns4f33c802019-04-10 12:39:10 +0000137 objs = []
138
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200139 params.tun_sa_in = VppIpsecSA(
140 self,
141 scapy_tun_sa_id,
142 scapy_tun_spi,
143 auth_algo_vpp_id,
144 auth_key,
145 crypt_algo_vpp_id,
146 crypt_key,
147 self.vpp_esp_protocol,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200148 self.tun_if.remote_addr[addr_type],
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100149 self.tun_if.local_addr[addr_type],
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200150 tun_flags=tun_flags,
151 dscp=params.dscp,
152 flags=flags,
153 salt=salt,
154 hop_limit=params.outer_hop_limit,
155 )
156 params.tun_sa_out = VppIpsecSA(
157 self,
158 vpp_tun_sa_id,
159 vpp_tun_spi,
160 auth_algo_vpp_id,
161 auth_key,
162 crypt_algo_vpp_id,
163 crypt_key,
164 self.vpp_esp_protocol,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200165 self.tun_if.local_addr[addr_type],
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100166 self.tun_if.remote_addr[addr_type],
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200167 tun_flags=tun_flags,
168 dscp=params.dscp,
169 flags=flags,
170 salt=salt,
171 hop_limit=params.outer_hop_limit,
172 )
Neale Ranns4f33c802019-04-10 12:39:10 +0000173 objs.append(params.tun_sa_in)
174 objs.append(params.tun_sa_out)
175
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200176 params.spd_policy_in_any = VppIpsecSpdEntry(
177 self,
178 self.tun_spd,
179 scapy_tun_sa_id,
180 addr_any,
181 addr_bcast,
182 addr_any,
183 addr_bcast,
184 socket.IPPROTO_ESP,
185 )
186 params.spd_policy_out_any = VppIpsecSpdEntry(
187 self,
188 self.tun_spd,
189 scapy_tun_sa_id,
190 addr_any,
191 addr_bcast,
192 addr_any,
193 addr_bcast,
194 socket.IPPROTO_ESP,
195 is_outbound=0,
196 )
Neale Ranns4f33c802019-04-10 12:39:10 +0000197 objs.append(params.spd_policy_out_any)
198 objs.append(params.spd_policy_in_any)
199
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200200 objs.append(
201 VppIpsecSpdEntry(
202 self,
203 self.tun_spd,
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100204 scapy_tun_sa_id,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200205 remote_tun_if_host,
206 remote_tun_if_host,
207 self.pg1.remote_addr[addr_type],
208 self.pg1.remote_addr[addr_type],
Piotr Bronowski815c6a42022-06-09 09:09:28 +0000209 socket.IPPROTO_RAW,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200210 priority=10,
211 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
212 is_outbound=0,
213 )
214 )
215 objs.append(
216 VppIpsecSpdEntry(
217 self,
218 self.tun_spd,
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100219 vpp_tun_sa_id,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200220 self.pg1.remote_addr[addr_type],
221 self.pg1.remote_addr[addr_type],
222 remote_tun_if_host,
223 remote_tun_if_host,
Piotr Bronowski815c6a42022-06-09 09:09:28 +0000224 socket.IPPROTO_RAW,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200225 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
226 priority=10,
227 )
228 )
229 objs.append(
230 VppIpsecSpdEntry(
231 self,
232 self.tun_spd,
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100233 scapy_tun_sa_id,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200234 remote_tun_if_host,
235 remote_tun_if_host,
236 self.pg0.local_addr[addr_type],
237 self.pg0.local_addr[addr_type],
Piotr Bronowski815c6a42022-06-09 09:09:28 +0000238 socket.IPPROTO_RAW,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200239 priority=20,
240 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
241 is_outbound=0,
242 )
243 )
244 objs.append(
245 VppIpsecSpdEntry(
246 self,
247 self.tun_spd,
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100248 vpp_tun_sa_id,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200249 self.pg0.local_addr[addr_type],
250 self.pg0.local_addr[addr_type],
251 remote_tun_if_host,
252 remote_tun_if_host,
Piotr Bronowski815c6a42022-06-09 09:09:28 +0000253 socket.IPPROTO_RAW,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200254 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
255 priority=20,
256 )
257 )
Neale Ranns4f33c802019-04-10 12:39:10 +0000258 for o in objs:
259 o.add_vpp_config()
260 self.net_objs = self.net_objs + objs
261
262 def config_esp_tra(self, params):
263 addr_type = params.addr_type
264 scapy_tra_sa_id = params.scapy_tra_sa_id
265 scapy_tra_spi = params.scapy_tra_spi
266 vpp_tra_sa_id = params.vpp_tra_sa_id
267 vpp_tra_spi = params.vpp_tra_spi
268 auth_algo_vpp_id = params.auth_algo_vpp_id
269 auth_key = params.auth_key
270 crypt_algo_vpp_id = params.crypt_algo_vpp_id
271 crypt_key = params.crypt_key
272 addr_any = params.addr_any
273 addr_bcast = params.addr_bcast
Neale Ranns4f33c802019-04-10 12:39:10 +0000274 e = VppEnum.vl_api_ipsec_spd_action_t
Neale Ranns5b891102021-06-28 13:31:28 +0000275 flags = params.flags
Neale Ranns80f6fd52019-04-16 02:41:34 +0000276 salt = params.salt
Neale Ranns4f33c802019-04-10 12:39:10 +0000277 objs = []
278
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200279 params.tra_sa_in = VppIpsecSA(
280 self,
281 scapy_tra_sa_id,
282 scapy_tra_spi,
283 auth_algo_vpp_id,
284 auth_key,
285 crypt_algo_vpp_id,
286 crypt_key,
287 self.vpp_esp_protocol,
288 flags=flags,
289 salt=salt,
290 )
291 params.tra_sa_out = VppIpsecSA(
292 self,
293 vpp_tra_sa_id,
294 vpp_tra_spi,
295 auth_algo_vpp_id,
296 auth_key,
297 crypt_algo_vpp_id,
298 crypt_key,
299 self.vpp_esp_protocol,
300 flags=flags,
301 salt=salt,
302 )
Neale Ranns4f33c802019-04-10 12:39:10 +0000303 objs.append(params.tra_sa_in)
304 objs.append(params.tra_sa_out)
305
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200306 objs.append(
307 VppIpsecSpdEntry(
308 self,
309 self.tra_spd,
310 vpp_tra_sa_id,
311 addr_any,
312 addr_bcast,
313 addr_any,
314 addr_bcast,
315 socket.IPPROTO_ESP,
316 )
317 )
318 objs.append(
319 VppIpsecSpdEntry(
320 self,
321 self.tra_spd,
322 vpp_tra_sa_id,
323 addr_any,
324 addr_bcast,
325 addr_any,
326 addr_bcast,
327 socket.IPPROTO_ESP,
328 is_outbound=0,
329 )
330 )
331 objs.append(
332 VppIpsecSpdEntry(
333 self,
334 self.tra_spd,
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100335 scapy_tra_sa_id,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200336 self.tra_if.local_addr[addr_type],
337 self.tra_if.local_addr[addr_type],
338 self.tra_if.remote_addr[addr_type],
339 self.tra_if.remote_addr[addr_type],
Piotr Bronowski815c6a42022-06-09 09:09:28 +0000340 socket.IPPROTO_RAW,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200341 priority=10,
342 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
343 is_outbound=0,
344 )
345 )
346 objs.append(
347 VppIpsecSpdEntry(
348 self,
349 self.tra_spd,
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100350 vpp_tra_sa_id,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200351 self.tra_if.local_addr[addr_type],
352 self.tra_if.local_addr[addr_type],
353 self.tra_if.remote_addr[addr_type],
354 self.tra_if.remote_addr[addr_type],
Piotr Bronowski815c6a42022-06-09 09:09:28 +0000355 socket.IPPROTO_RAW,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200356 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
357 priority=10,
358 )
359 )
Neale Ranns4f33c802019-04-10 12:39:10 +0000360 for o in objs:
361 o.add_vpp_config()
362 self.net_objs = self.net_objs + objs
Neale Ranns53f526b2019-02-25 14:32:02 +0000363
364
Neale Ranns4f33c802019-04-10 12:39:10 +0000365class TemplateIpsecEsp(ConfigIpsecESP):
“mystarrocks”23f0c452017-12-11 07:11:51 -0800366 """
367 Basic test for ipsec esp sanity - tunnel and transport modes.
368
369 Below 4 cases are covered as part of this test
Dave Wallaced1706812021-08-12 18:36:02 -0400370
371 #. ipsec esp v4 transport basic test - IPv4 Transport mode
Paul Vinciguerra8feeaff2019-03-27 11:25:48 -0700372 scenario using HMAC-SHA1-96 integrity algo
Dave Wallaced1706812021-08-12 18:36:02 -0400373
374 #. ipsec esp v4 transport burst test
“mystarrocks”23f0c452017-12-11 07:11:51 -0800375 Above test for 257 pkts
376
Dave Wallaced1706812021-08-12 18:36:02 -0400377 #. ipsec esp 4o4 tunnel basic test - IPv4 Tunnel mode
378 scenario using HMAC-SHA1-96 integrity algo
“mystarrocks”23f0c452017-12-11 07:11:51 -0800379
Dave Wallaced1706812021-08-12 18:36:02 -0400380 #. ipsec esp 4o4 tunnel burst test
381 Above test for 257 pkts
“mystarrocks”23f0c452017-12-11 07:11:51 -0800382
Dave Wallaced1706812021-08-12 18:36:02 -0400383 TRANSPORT MODE::
“mystarrocks”23f0c452017-12-11 07:11:51 -0800384
Dave Wallaced1706812021-08-12 18:36:02 -0400385 --- encrypt ---
386 |pg2| <-------> |VPP|
387 --- decrypt ---
“mystarrocks”23f0c452017-12-11 07:11:51 -0800388
Dave Wallaced1706812021-08-12 18:36:02 -0400389 TUNNEL MODE::
390
391 --- encrypt --- plain ---
392 |pg0| <------- |VPP| <------ |pg1|
393 --- --- ---
394
395 --- decrypt --- plain ---
396 |pg0| -------> |VPP| ------> |pg1|
397 --- --- ---
398
“mystarrocks”23f0c452017-12-11 07:11:51 -0800399 """
400
Paul Vinciguerra7f9b7f92019-03-12 19:23:27 -0700401 @classmethod
402 def setUpClass(cls):
403 super(TemplateIpsecEsp, cls).setUpClass()
404
405 @classmethod
406 def tearDownClass(cls):
407 super(TemplateIpsecEsp, cls).tearDownClass()
408
Neale Ranns8e4a89b2019-01-23 08:16:17 -0800409 def setUp(self):
410 super(TemplateIpsecEsp, self).setUp()
Neale Ranns5b891102021-06-28 13:31:28 +0000411 self.config_anti_replay(self.params.values())
Neale Ranns4f33c802019-04-10 12:39:10 +0000412 self.config_network(self.params.values())
Klement Sekera611864f2018-09-26 11:19:00 +0200413
Neale Ranns8e4a89b2019-01-23 08:16:17 -0800414 def tearDown(self):
Neale Ranns4f33c802019-04-10 12:39:10 +0000415 self.unconfig_network()
Neale Ranns8e4a89b2019-01-23 08:16:17 -0800416 super(TemplateIpsecEsp, self).tearDown()
Neale Ranns8e4a89b2019-01-23 08:16:17 -0800417
Klement Sekera611864f2018-09-26 11:19:00 +0200418
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200419class TestIpsecEsp1(
420 TemplateIpsecEsp, IpsecTra46Tests, IpsecTun46Tests, IpsecTra6ExtTests
421):
422 """Ipsec ESP - TUN & TRA tests"""
Neale Rannsb1fd80f2020-05-12 13:33:56 +0000423
424 @classmethod
425 def setUpClass(cls):
426 super(TestIpsecEsp1, cls).setUpClass()
427
428 @classmethod
429 def tearDownClass(cls):
430 super(TestIpsecEsp1, cls).tearDownClass()
431
432 def setUp(self):
433 super(TestIpsecEsp1, self).setUp()
434
435 def tearDown(self):
436 super(TestIpsecEsp1, self).tearDown()
437
438 def test_tun_46(self):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200439 """ipsec 4o6 tunnel"""
Neale Rannsb1fd80f2020-05-12 13:33:56 +0000440 # add an SPD entry to direct 2.2.2.2 to the v6 tunnel SA
441 p6 = self.ipv6_params
442 p4 = self.ipv4_params
443
444 p6.remote_tun_if_host4 = "2.2.2.2"
445 e = VppEnum.vl_api_ipsec_spd_action_t
446
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200447 VppIpsecSpdEntry(
448 self,
449 self.tun_spd,
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100450 p6.vpp_tun_sa_id,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200451 self.pg1.remote_addr[p4.addr_type],
452 self.pg1.remote_addr[p4.addr_type],
453 p6.remote_tun_if_host4,
454 p6.remote_tun_if_host4,
Piotr Bronowski815c6a42022-06-09 09:09:28 +0000455 socket.IPPROTO_RAW,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200456 priority=10,
457 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
458 is_outbound=1,
459 ).add_vpp_config()
460 VppIpRoute(
461 self,
462 p6.remote_tun_if_host4,
463 p4.addr_len,
464 [VppRoutePath(self.tun_if.remote_addr[p4.addr_type], 0xFFFFFFFF)],
465 ).add_vpp_config()
Neale Rannsb1fd80f2020-05-12 13:33:56 +0000466
467 old_name = self.tun6_encrypt_node_name
468 self.tun6_encrypt_node_name = "esp4-encrypt"
469
470 self.verify_tun_46(p6, count=63)
471 self.tun6_encrypt_node_name = old_name
472
473 def test_tun_64(self):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200474 """ipsec 6o4 tunnel"""
Neale Rannsb1fd80f2020-05-12 13:33:56 +0000475 # add an SPD entry to direct 4444::4 to the v4 tunnel SA
476 p6 = self.ipv6_params
477 p4 = self.ipv4_params
478
479 p4.remote_tun_if_host6 = "4444::4"
480 e = VppEnum.vl_api_ipsec_spd_action_t
481
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200482 VppIpsecSpdEntry(
483 self,
484 self.tun_spd,
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100485 p4.vpp_tun_sa_id,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200486 self.pg1.remote_addr[p6.addr_type],
487 self.pg1.remote_addr[p6.addr_type],
488 p4.remote_tun_if_host6,
489 p4.remote_tun_if_host6,
Piotr Bronowski815c6a42022-06-09 09:09:28 +0000490 socket.IPPROTO_RAW,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200491 priority=10,
492 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
493 is_outbound=1,
494 ).add_vpp_config()
Neale Rannsb1fd80f2020-05-12 13:33:56 +0000495 d = DpoProto.DPO_PROTO_IP6
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200496 VppIpRoute(
497 self,
498 p4.remote_tun_if_host6,
499 p6.addr_len,
500 [VppRoutePath(self.tun_if.remote_addr[p6.addr_type], 0xFFFFFFFF, proto=d)],
501 ).add_vpp_config()
Neale Rannsb1fd80f2020-05-12 13:33:56 +0000502
503 old_name = self.tun4_encrypt_node_name
504 self.tun4_encrypt_node_name = "esp6-encrypt"
505 self.verify_tun_64(p4, count=63)
506 self.tun4_encrypt_node_name = old_name
“mystarrocks”23f0c452017-12-11 07:11:51 -0800507
“mystarrocks”23f0c452017-12-11 07:11:51 -0800508
Neale Ranns041add72020-01-02 04:06:10 +0000509class TestIpsecEspTun(TemplateIpsecEsp, IpsecTun46Tests):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200510 """Ipsec ESP - TUN encap tests"""
Neale Ranns041add72020-01-02 04:06:10 +0000511
512 def setUp(self):
513 self.ipv4_params = IPsecIPv4Params()
514 self.ipv6_params = IPsecIPv6Params()
515
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200516 c = (
517 VppEnum.vl_api_tunnel_encap_decap_flags_t.TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DSCP
518 )
519 c1 = c | (
520 VppEnum.vl_api_tunnel_encap_decap_flags_t.TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_ECN
521 )
Neale Ranns041add72020-01-02 04:06:10 +0000522
523 self.ipv4_params.tun_flags = c
524 self.ipv6_params.tun_flags = c1
525
526 super(TestIpsecEspTun, self).setUp()
527
528 def gen_pkts(self, sw_intf, src, dst, count=1, payload_size=54):
529 # set the DSCP + ECN - flags are set to copy only DSCP
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200530 return [
531 Ether(src=sw_intf.remote_mac, dst=sw_intf.local_mac)
532 / IP(src=src, dst=dst, tos=5)
533 / UDP(sport=4444, dport=4444)
534 / Raw(b"X" * payload_size)
535 for i in range(count)
536 ]
Neale Ranns041add72020-01-02 04:06:10 +0000537
Neale Ranns9ec846c2021-02-09 14:04:02 +0000538 def gen_pkts6(self, p, sw_intf, src, dst, count=1, payload_size=54):
Neale Ranns041add72020-01-02 04:06:10 +0000539 # set the DSCP + ECN - flags are set to copy both
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200540 return [
541 Ether(src=sw_intf.remote_mac, dst=sw_intf.local_mac)
542 / IPv6(src=src, dst=dst, tc=5)
543 / UDP(sport=4444, dport=4444)
544 / Raw(b"X" * payload_size)
545 for i in range(count)
546 ]
Neale Ranns041add72020-01-02 04:06:10 +0000547
548 def verify_encrypted(self, p, sa, rxs):
549 # just check that only the DSCP is copied
550 for rx in rxs:
551 self.assertEqual(rx[IP].tos, 4)
552
553 def verify_encrypted6(self, p, sa, rxs):
554 # just check that the DSCP & ECN are copied
555 for rx in rxs:
556 self.assertEqual(rx[IPv6].tc, 5)
557
558
559class TestIpsecEspTun2(TemplateIpsecEsp, IpsecTun46Tests):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200560 """Ipsec ESP - TUN DSCP tests"""
Neale Ranns041add72020-01-02 04:06:10 +0000561
562 def setUp(self):
563 self.ipv4_params = IPsecIPv4Params()
564 self.ipv6_params = IPsecIPv6Params()
565
566 self.ipv4_params.dscp = VppEnum.vl_api_ip_dscp_t.IP_API_DSCP_EF
567 self.ipv6_params.dscp = VppEnum.vl_api_ip_dscp_t.IP_API_DSCP_AF11
568
569 super(TestIpsecEspTun2, self).setUp()
570
571 def gen_pkts(self, sw_intf, src, dst, count=1, payload_size=54):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200572 return [
573 Ether(src=sw_intf.remote_mac, dst=sw_intf.local_mac)
574 / IP(src=src, dst=dst)
575 / UDP(sport=4444, dport=4444)
576 / Raw(b"X" * payload_size)
577 for i in range(count)
578 ]
Neale Ranns041add72020-01-02 04:06:10 +0000579
Neale Ranns9ec846c2021-02-09 14:04:02 +0000580 def gen_pkts6(self, p, sw_intf, src, dst, count=1, payload_size=54):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200581 return [
582 Ether(src=sw_intf.remote_mac, dst=sw_intf.local_mac)
583 / IPv6(src=src, dst=dst)
584 / UDP(sport=4444, dport=4444)
585 / Raw(b"X" * payload_size)
586 for i in range(count)
587 ]
Neale Ranns041add72020-01-02 04:06:10 +0000588
589 def verify_encrypted(self, p, sa, rxs):
Neale Ranns9ec846c2021-02-09 14:04:02 +0000590 # just check that only the DSCP is set
Neale Ranns041add72020-01-02 04:06:10 +0000591 for rx in rxs:
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200592 self.assertEqual(rx[IP].tos, VppEnum.vl_api_ip_dscp_t.IP_API_DSCP_EF << 2)
Neale Ranns041add72020-01-02 04:06:10 +0000593
594 def verify_encrypted6(self, p, sa, rxs):
Neale Ranns9ec846c2021-02-09 14:04:02 +0000595 # just check that the DSCP is set
Neale Ranns041add72020-01-02 04:06:10 +0000596 for rx in rxs:
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200597 self.assertEqual(
598 rx[IPv6].tc, VppEnum.vl_api_ip_dscp_t.IP_API_DSCP_AF11 << 2
599 )
Neale Ranns041add72020-01-02 04:06:10 +0000600
601
Klement Sekera31da2e32018-06-24 22:49:55 +0200602class TestIpsecEsp2(TemplateIpsecEsp, IpsecTcpTests):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200603 """Ipsec ESP - TCP tests"""
604
Klement Sekera31da2e32018-06-24 22:49:55 +0200605 pass
“mystarrocks”23f0c452017-12-11 07:11:51 -0800606
607
Neale Rannsfc811342021-02-26 10:35:33 +0000608class TestIpsecEspAsync(TemplateIpsecEsp):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200609 """Ipsec ESP - Aysnc tests"""
Neale Rannsfc811342021-02-26 10:35:33 +0000610
Klement Sekera8d815022021-03-15 16:58:10 +0100611 vpp_worker_count = 2
Neale Rannsfc811342021-02-26 10:35:33 +0000612
613 def setUp(self):
614 super(TestIpsecEspAsync, self).setUp()
615
Neale Rannsf16e9a52021-02-25 19:09:24 +0000616 self.p_sync = IPsecIPv4Params()
Neale Rannsfc811342021-02-26 10:35:33 +0000617
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200618 self.p_sync.crypt_algo_vpp_id = (
619 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_256
620 )
621 self.p_sync.crypt_algo = "AES-CBC" # scapy name
622 self.p_sync.crypt_key = b"JPjyOWBeVEQiMe7hJPjyOWBeVEQiMe7h"
Neale Rannsfc811342021-02-26 10:35:33 +0000623
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200624 self.p_sync.scapy_tun_sa_id += 0xF0000
625 self.p_sync.scapy_tun_spi += 0xF0000
626 self.p_sync.vpp_tun_sa_id += 0xF0000
627 self.p_sync.vpp_tun_spi += 0xF0000
Neale Rannsf16e9a52021-02-25 19:09:24 +0000628 self.p_sync.remote_tun_if_host = "2.2.2.2"
Neale Rannsfc811342021-02-26 10:35:33 +0000629 e = VppEnum.vl_api_ipsec_spd_action_t
630
Neale Rannsf16e9a52021-02-25 19:09:24 +0000631 self.p_sync.sa = VppIpsecSA(
Neale Rannsfc811342021-02-26 10:35:33 +0000632 self,
Neale Rannsf16e9a52021-02-25 19:09:24 +0000633 self.p_sync.vpp_tun_sa_id,
634 self.p_sync.vpp_tun_spi,
635 self.p_sync.auth_algo_vpp_id,
636 self.p_sync.auth_key,
637 self.p_sync.crypt_algo_vpp_id,
638 self.p_sync.crypt_key,
Neale Rannsfc811342021-02-26 10:35:33 +0000639 self.vpp_esp_protocol,
Neale Rannsf16e9a52021-02-25 19:09:24 +0000640 self.tun_if.local_addr[self.p_sync.addr_type],
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200641 self.tun_if.remote_addr[self.p_sync.addr_type],
642 ).add_vpp_config()
Neale Rannsf16e9a52021-02-25 19:09:24 +0000643 self.p_sync.spd = VppIpsecSpdEntry(
Neale Rannsfc811342021-02-26 10:35:33 +0000644 self,
645 self.tun_spd,
Neale Rannsf16e9a52021-02-25 19:09:24 +0000646 self.p_sync.vpp_tun_sa_id,
647 self.pg1.remote_addr[self.p_sync.addr_type],
648 self.pg1.remote_addr[self.p_sync.addr_type],
649 self.p_sync.remote_tun_if_host,
650 self.p_sync.remote_tun_if_host,
Piotr Bronowski815c6a42022-06-09 09:09:28 +0000651 socket.IPPROTO_RAW,
Neale Rannsfc811342021-02-26 10:35:33 +0000652 priority=1,
653 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200654 is_outbound=1,
655 ).add_vpp_config()
656 VppIpRoute(
657 self,
658 self.p_sync.remote_tun_if_host,
659 self.p_sync.addr_len,
660 [VppRoutePath(self.tun_if.remote_addr[self.p_sync.addr_type], 0xFFFFFFFF)],
661 ).add_vpp_config()
Neale Rannsf16e9a52021-02-25 19:09:24 +0000662 config_tun_params(self.p_sync, self.encryption_type, self.tun_if)
663
664 self.p_async = IPsecIPv4Params()
665
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200666 self.p_async.crypt_algo_vpp_id = (
667 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_256
668 )
669 self.p_async.auth_algo_vpp_id = (
670 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
671 )
672 self.p_async.crypt_algo = "AES-GCM" # scapy name
673 self.p_async.crypt_key = b"JPjyOWBeVEQiMe7hJPjyOWBeVEQiMe7h"
674 self.p_async.auth_algo = "NULL"
Neale Rannsf16e9a52021-02-25 19:09:24 +0000675
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200676 self.p_async.scapy_tun_sa_id += 0xE0000
677 self.p_async.scapy_tun_spi += 0xE0000
678 self.p_async.vpp_tun_sa_id += 0xE0000
679 self.p_async.vpp_tun_spi += 0xE0000
Neale Rannsf16e9a52021-02-25 19:09:24 +0000680 self.p_async.remote_tun_if_host = "2.2.2.3"
681
682 iflags = VppEnum.vl_api_ipsec_sad_flags_t
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200683 self.p_async.flags = (
684 iflags.IPSEC_API_SAD_FLAG_USE_ESN
685 | iflags.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY
686 | iflags.IPSEC_API_SAD_FLAG_ASYNC
687 )
Neale Rannsf16e9a52021-02-25 19:09:24 +0000688
689 self.p_async.sa = VppIpsecSA(
690 self,
691 self.p_async.vpp_tun_sa_id,
692 self.p_async.vpp_tun_spi,
693 self.p_async.auth_algo_vpp_id,
694 self.p_async.auth_key,
695 self.p_async.crypt_algo_vpp_id,
696 self.p_async.crypt_key,
697 self.vpp_esp_protocol,
698 self.tun_if.local_addr[self.p_async.addr_type],
699 self.tun_if.remote_addr[self.p_async.addr_type],
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200700 flags=self.p_async.flags,
701 ).add_vpp_config()
Neale Rannsf16e9a52021-02-25 19:09:24 +0000702 self.p_async.spd = VppIpsecSpdEntry(
703 self,
704 self.tun_spd,
705 self.p_async.vpp_tun_sa_id,
706 self.pg1.remote_addr[self.p_async.addr_type],
707 self.pg1.remote_addr[self.p_async.addr_type],
708 self.p_async.remote_tun_if_host,
709 self.p_async.remote_tun_if_host,
Piotr Bronowski815c6a42022-06-09 09:09:28 +0000710 socket.IPPROTO_RAW,
Neale Rannsf16e9a52021-02-25 19:09:24 +0000711 priority=2,
712 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200713 is_outbound=1,
714 ).add_vpp_config()
715 VppIpRoute(
716 self,
717 self.p_async.remote_tun_if_host,
718 self.p_async.addr_len,
719 [VppRoutePath(self.tun_if.remote_addr[self.p_async.addr_type], 0xFFFFFFFF)],
720 ).add_vpp_config()
Neale Rannsf16e9a52021-02-25 19:09:24 +0000721 config_tun_params(self.p_async, self.encryption_type, self.tun_if)
Neale Rannsfc811342021-02-26 10:35:33 +0000722
723 def test_dual_stream(self):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200724 """Alternating SAs"""
Neale Rannsf16e9a52021-02-25 19:09:24 +0000725 p = self.params[self.p_sync.addr_type]
726 self.vapi.ipsec_set_async_mode(async_enable=True)
Neale Rannsfc811342021-02-26 10:35:33 +0000727
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200728 pkts = [
729 (
730 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
731 / IP(src=self.pg1.remote_ip4, dst=self.p_sync.remote_tun_if_host)
732 / UDP(sport=4444, dport=4444)
733 / Raw(b"0x0" * 200)
734 ),
735 (
736 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
737 / IP(src=self.pg1.remote_ip4, dst=p.remote_tun_if_host)
738 / UDP(sport=4444, dport=4444)
739 / Raw(b"0x0" * 200)
740 ),
741 ]
Neale Rannsfc811342021-02-26 10:35:33 +0000742 pkts *= 1023
743
744 rxs = self.send_and_expect(self.pg1, pkts, self.pg0)
745
746 self.assertEqual(len(rxs), len(pkts))
747
748 for rx in rxs:
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100749 if rx[ESP].spi == p.vpp_tun_spi:
Neale Rannsfc811342021-02-26 10:35:33 +0000750 decrypted = p.vpp_tun_sa.decrypt(rx[IP])
Neale Rannsf16e9a52021-02-25 19:09:24 +0000751 elif rx[ESP].spi == self.p_sync.vpp_tun_spi:
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100752 decrypted = self.p_sync.vpp_tun_sa.decrypt(rx[IP])
Neale Rannsfc811342021-02-26 10:35:33 +0000753 else:
754 rx.show()
755 self.assertTrue(False)
756
Neale Rannsf16e9a52021-02-25 19:09:24 +0000757 self.p_sync.spd.remove_vpp_config()
758 self.p_sync.sa.remove_vpp_config()
759 self.p_async.spd.remove_vpp_config()
760 self.p_async.sa.remove_vpp_config()
761 self.vapi.ipsec_set_async_mode(async_enable=False)
762
763 def test_sync_async_noop_stream(self):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200764 """Alternating SAs sync/async/noop"""
Neale Rannsf16e9a52021-02-25 19:09:24 +0000765 p = self.params[self.p_sync.addr_type]
766
767 # first pin the default/noop SA to worker 0
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200768 pkts = [
769 (
770 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
771 / IP(src=self.pg1.remote_ip4, dst=p.remote_tun_if_host)
772 / UDP(sport=4444, dport=4444)
773 / Raw(b"0x0" * 200)
774 )
775 ]
Neale Rannsf16e9a52021-02-25 19:09:24 +0000776 rxs = self.send_and_expect(self.pg1, pkts, self.pg0, worker=0)
777
778 self.logger.info(self.vapi.cli("sh ipsec sa"))
779 self.logger.info(self.vapi.cli("sh crypto async status"))
780
781 # then use all the other SAs on worker 1.
782 # some will handoff, other take the sync and async paths
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200783 pkts = [
784 (
785 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
786 / IP(src=self.pg1.remote_ip4, dst=self.p_sync.remote_tun_if_host)
787 / UDP(sport=4444, dport=4444)
788 / Raw(b"0x0" * 200)
789 ),
790 (
791 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
792 / IP(src=self.pg1.remote_ip4, dst=p.remote_tun_if_host)
793 / UDP(sport=4444, dport=4444)
794 / Raw(b"0x0" * 200)
795 ),
796 (
797 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
798 / IP(src=self.pg1.remote_ip4, dst=self.p_async.remote_tun_if_host)
799 / UDP(sport=4444, dport=4444)
800 / Raw(b"0x0" * 200)
801 ),
802 ]
Neale Rannsf16e9a52021-02-25 19:09:24 +0000803 pkts *= 1023
804
805 rxs = self.send_and_expect(self.pg1, pkts, self.pg0, worker=1)
806
807 self.assertEqual(len(rxs), len(pkts))
808
809 for rx in rxs:
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100810 if rx[ESP].spi == p.vpp_tun_spi:
Neale Rannsf16e9a52021-02-25 19:09:24 +0000811 decrypted = p.vpp_tun_sa.decrypt(rx[IP])
812 elif rx[ESP].spi == self.p_sync.vpp_tun_spi:
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100813 decrypted = self.p_sync.vpp_tun_sa.decrypt(rx[IP])
Neale Rannsf16e9a52021-02-25 19:09:24 +0000814 elif rx[ESP].spi == self.p_async.vpp_tun_spi:
Arthur de Kerhor0df06b62022-11-16 18:45:24 +0100815 decrypted = self.p_async.vpp_tun_sa.decrypt(rx[IP])
Neale Rannsf16e9a52021-02-25 19:09:24 +0000816 else:
817 rx.show()
818 self.assertTrue(False)
819
820 self.p_sync.spd.remove_vpp_config()
821 self.p_sync.sa.remove_vpp_config()
822 self.p_async.spd.remove_vpp_config()
823 self.p_async.sa.remove_vpp_config()
824
Neale Rannsfc811342021-02-26 10:35:33 +0000825
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200826class TestIpsecEspHandoff(
827 TemplateIpsecEsp, IpsecTun6HandoffTests, IpsecTun4HandoffTests
828):
829 """Ipsec ESP - handoff tests"""
830
Neale Ranns4a56f4e2019-12-23 04:10:25 +0000831 pass
832
833
Neale Ranns4f33c802019-04-10 12:39:10 +0000834class TemplateIpsecEspUdp(ConfigIpsecESP):
Neale Ranns53f526b2019-02-25 14:32:02 +0000835 """
836 UDP encapped ESP
837 """
Paul Vinciguerra7f9b7f92019-03-12 19:23:27 -0700838
839 @classmethod
840 def setUpClass(cls):
841 super(TemplateIpsecEspUdp, cls).setUpClass()
842
843 @classmethod
844 def tearDownClass(cls):
845 super(TemplateIpsecEspUdp, cls).tearDownClass()
846
Neale Ranns53f526b2019-02-25 14:32:02 +0000847 def setUp(self):
848 super(TemplateIpsecEspUdp, self).setUp()
Neale Ranns4f33c802019-04-10 12:39:10 +0000849 self.net_objs = []
Neale Ranns53f526b2019-02-25 14:32:02 +0000850 self.tun_if = self.pg0
851 self.tra_if = self.pg2
852 self.logger.info(self.vapi.ppcli("show int addr"))
853
854 p = self.ipv4_params
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200855 p.flags = (
856 VppEnum.vl_api_ipsec_sad_flags_t.IPSEC_API_SAD_FLAG_UDP_ENCAP
857 | VppEnum.vl_api_ipsec_sad_flags_t.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY
858 )
Neale Ranns53f526b2019-02-25 14:32:02 +0000859 p.nat_header = UDP(sport=5454, dport=4500)
860
861 self.tra_spd = VppIpsecSpd(self, self.tra_spd_id)
862 self.tra_spd.add_vpp_config()
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200863 VppIpsecSpdItfBinding(self, self.tra_spd, self.tra_if).add_vpp_config()
Neale Ranns53f526b2019-02-25 14:32:02 +0000864
Neale Ranns4f33c802019-04-10 12:39:10 +0000865 self.config_esp_tra(p)
Neale Ranns2ac885c2019-03-20 18:24:43 +0000866 config_tra_params(p, self.encryption_type)
Neale Ranns53f526b2019-02-25 14:32:02 +0000867
868 self.tun_spd = VppIpsecSpd(self, self.tun_spd_id)
869 self.tun_spd.add_vpp_config()
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200870 VppIpsecSpdItfBinding(self, self.tun_spd, self.tun_if).add_vpp_config()
Neale Ranns53f526b2019-02-25 14:32:02 +0000871
Neale Ranns4f33c802019-04-10 12:39:10 +0000872 self.config_esp_tun(p)
Neale Ranns92e93842019-04-08 07:36:50 +0000873 self.logger.info(self.vapi.ppcli("show ipsec all"))
Neale Ranns53f526b2019-02-25 14:32:02 +0000874
875 d = DpoProto.DPO_PROTO_IP4
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200876 VppIpRoute(
877 self,
878 p.remote_tun_if_host,
879 p.addr_len,
880 [VppRoutePath(self.tun_if.remote_addr[p.addr_type], 0xFFFFFFFF, proto=d)],
881 ).add_vpp_config()
Neale Ranns53f526b2019-02-25 14:32:02 +0000882
883 def tearDown(self):
884 super(TemplateIpsecEspUdp, self).tearDown()
Paul Vinciguerra90cf21b2019-03-13 09:23:05 -0700885
886 def show_commands_at_teardown(self):
887 self.logger.info(self.vapi.cli("show hardware"))
Neale Ranns53f526b2019-02-25 14:32:02 +0000888
889
Neale Ranns49e7ef62019-04-10 17:24:29 +0000890class TestIpsecEspUdp(TemplateIpsecEspUdp, IpsecTra4Tests):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200891 """Ipsec NAT-T ESP UDP tests"""
892
Neale Ranns53f526b2019-02-25 14:32:02 +0000893 pass
894
895
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200896class MyParameters:
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +0000897 def __init__(self):
Neale Ranns5b891102021-06-28 13:31:28 +0000898 saf = VppEnum.vl_api_ipsec_sad_flags_t
899 flag_esn = saf.IPSEC_API_SAD_FLAG_USE_ESN
900 flag_ar = saf.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY
901 self.flags = [0, flag_esn, flag_ar]
Neale Ranns4f33c802019-04-10 12:39:10 +0000902 # foreach crypto algorithm
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +0000903 self.algos = {
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200904 "AES-GCM-128/NONE": {
905 "vpp-crypto": (
906 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_128
907 ),
908 "vpp-integ": (
909 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
910 ),
911 "scapy-crypto": "AES-GCM",
912 "scapy-integ": "NULL",
913 "key": b"JPjyOWBeVEQiMe7h",
914 "salt": 0,
915 },
916 "AES-GCM-192/NONE": {
917 "vpp-crypto": (
918 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_192
919 ),
920 "vpp-integ": (
921 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
922 ),
923 "scapy-crypto": "AES-GCM",
924 "scapy-integ": "NULL",
925 "key": b"JPjyOWBeVEQiMe7h01234567",
926 "salt": 1010,
927 },
928 "AES-GCM-256/NONE": {
929 "vpp-crypto": (
930 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_256
931 ),
932 "vpp-integ": (
933 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
934 ),
935 "scapy-crypto": "AES-GCM",
936 "scapy-integ": "NULL",
937 "key": b"JPjyOWBeVEQiMe7h0123456787654321",
938 "salt": 2020,
939 },
940 "AES-CBC-128/MD5-96": {
941 "vpp-crypto": (
942 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_128
943 ),
944 "vpp-integ": (
945 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_MD5_96
946 ),
947 "scapy-crypto": "AES-CBC",
948 "scapy-integ": "HMAC-MD5-96",
949 "salt": 0,
950 "key": b"JPjyOWBeVEQiMe7h",
951 },
952 "AES-CBC-192/SHA1-96": {
953 "vpp-crypto": (
954 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_192
955 ),
956 "vpp-integ": (
957 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
958 ),
959 "scapy-crypto": "AES-CBC",
960 "scapy-integ": "HMAC-SHA1-96",
961 "salt": 0,
962 "key": b"JPjyOWBeVEQiMe7hJPjyOWBe",
963 },
964 "AES-CBC-256/SHA1-96": {
965 "vpp-crypto": (
966 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_256
967 ),
968 "vpp-integ": (
969 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
970 ),
971 "scapy-crypto": "AES-CBC",
972 "scapy-integ": "HMAC-SHA1-96",
973 "salt": 0,
974 "key": b"JPjyOWBeVEQiMe7hJPjyOWBeVEQiMe7h",
975 },
976 "3DES-CBC/SHA1-96": {
977 "vpp-crypto": (
978 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_3DES_CBC
979 ),
980 "vpp-integ": (
981 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
982 ),
983 "scapy-crypto": "3DES",
984 "scapy-integ": "HMAC-SHA1-96",
985 "salt": 0,
986 "key": b"JPjyOWBeVEQiMe7h00112233",
987 },
988 "NONE/SHA1-96": {
989 "vpp-crypto": (
990 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_NONE
991 ),
992 "vpp-integ": (
993 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
994 ),
995 "scapy-crypto": "NULL",
996 "scapy-integ": "HMAC-SHA1-96",
997 "salt": 0,
998 "key": b"JPjyOWBeVEQiMe7h00112233",
999 },
1000 "AES-CTR-128/SHA1-96": {
1001 "vpp-crypto": (
1002 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CTR_128
1003 ),
1004 "vpp-integ": (
1005 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
1006 ),
1007 "scapy-crypto": "AES-CTR",
1008 "scapy-integ": "HMAC-SHA1-96",
1009 "salt": 0,
1010 "key": b"JPjyOWBeVEQiMe7h",
1011 },
1012 "AES-CTR-192/SHA1-96": {
1013 "vpp-crypto": (
1014 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CTR_192
1015 ),
1016 "vpp-integ": (
1017 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
1018 ),
1019 "scapy-crypto": "AES-CTR",
1020 "scapy-integ": "HMAC-SHA1-96",
1021 "salt": 1010,
1022 "key": b"JPjyOWBeVEQiMe7hJPjyOWBe",
1023 },
1024 "AES-CTR-256/SHA1-96": {
1025 "vpp-crypto": (
1026 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CTR_256
1027 ),
1028 "vpp-integ": (
1029 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
1030 ),
1031 "scapy-crypto": "AES-CTR",
1032 "scapy-integ": "HMAC-SHA1-96",
1033 "salt": 2020,
1034 "key": b"JPjyOWBeVEQiMe7hJPjyOWBeVEQiMe7h",
1035 },
Benoît Ganne84e66582023-03-10 17:33:03 +01001036 "AES-NULL-GMAC-128/NONE": {
1037 "vpp-crypto": (
1038 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_128
1039 ),
1040 "vpp-integ": (
1041 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
1042 ),
1043 "scapy-crypto": "AES-NULL-GMAC",
1044 "scapy-integ": "NULL",
1045 "key": b"JPjyOWBeVEQiMe7h",
1046 "salt": 0,
1047 },
1048 "AES-NULL-GMAC-192/NONE": {
1049 "vpp-crypto": (
1050 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_192
1051 ),
1052 "vpp-integ": (
1053 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
1054 ),
1055 "scapy-crypto": "AES-NULL-GMAC",
1056 "scapy-integ": "NULL",
1057 "key": b"JPjyOWBeVEQiMe7h01234567",
1058 "salt": 1010,
1059 },
1060 "AES-NULL-GMAC-256/NONE": {
1061 "vpp-crypto": (
1062 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_256
1063 ),
1064 "vpp-integ": (
1065 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
1066 ),
1067 "scapy-crypto": "AES-NULL-GMAC",
1068 "scapy-integ": "NULL",
1069 "key": b"JPjyOWBeVEQiMe7h0123456787654321",
1070 "salt": 2020,
1071 },
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001072 }
Neale Ranns4f33c802019-04-10 12:39:10 +00001073
Neale Ranns4f33c802019-04-10 12:39:10 +00001074
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001075class RunTestIpsecEspAll(ConfigIpsecESP, IpsecTra4, IpsecTra6, IpsecTun4, IpsecTun6):
1076 """Ipsec ESP all Algos"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001077
Neale Ranns8c609af2021-02-25 10:05:32 +00001078 @classmethod
1079 def setUpConstants(cls):
1080 test_args = str.split(cls.__doc__, " ")
1081 engine = test_args[0]
1082 if engine == "async":
Klement Sekera8d815022021-03-15 16:58:10 +01001083 cls.vpp_worker_count = 2
Neale Ranns8c609af2021-02-25 10:05:32 +00001084 super(RunTestIpsecEspAll, cls).setUpConstants()
1085
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001086 def setUp(self):
1087 super(RunTestIpsecEspAll, self).setUp()
1088 test_args = str.split(self.__doc__, " ")
1089
1090 params = MyParameters()
1091 self.engine = test_args[0]
1092 self.flag = params.flags[0]
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001093 if test_args[1] == "ESNon":
Neale Ranns5b891102021-06-28 13:31:28 +00001094 self.flag |= params.flags[1]
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001095 if test_args[2] == "ARon":
Neale Ranns5b891102021-06-28 13:31:28 +00001096 self.flag |= params.flags[2]
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001097
Neale Ranns5b891102021-06-28 13:31:28 +00001098 self.algo = params.algos[test_args[3]]
Neale Ranns8c609af2021-02-25 10:05:32 +00001099 self.async_mode = False
1100 if self.engine == "async":
1101 self.async_mode = True
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001102
1103 def tearDown(self):
1104 super(RunTestIpsecEspAll, self).tearDown()
1105
1106 def run_test(self):
1107 self.run_a_test(self.engine, self.flag, self.algo)
1108
Filip Tehlarefcad1a2020-02-04 09:36:04 +00001109 def run_a_test(self, engine, flag, algo, payload_size=None):
Neale Ranns8c609af2021-02-25 10:05:32 +00001110 if self.async_mode:
1111 self.vapi.cli("set ipsec async mode on")
1112 else:
1113 self.vapi.cli("set crypto handler all %s" % engine)
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001114
Neale Ranns8c609af2021-02-25 10:05:32 +00001115 self.logger.info(self.vapi.cli("show crypto async status"))
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001116 self.ipv4_params = IPsecIPv4Params()
1117 self.ipv6_params = IPsecIPv6Params()
1118
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001119 self.params = {
1120 self.ipv4_params.addr_type: self.ipv4_params,
1121 self.ipv6_params.addr_type: self.ipv6_params,
1122 }
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001123
1124 for _, p in self.params.items():
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001125 p.auth_algo_vpp_id = algo["vpp-integ"]
1126 p.crypt_algo_vpp_id = algo["vpp-crypto"]
1127 p.crypt_algo = algo["scapy-crypto"]
1128 p.auth_algo = algo["scapy-integ"]
1129 p.crypt_key = algo["key"]
1130 p.salt = algo["salt"]
Neale Ranns5b891102021-06-28 13:31:28 +00001131 p.flags = flag
Neale Ranns9ec846c2021-02-09 14:04:02 +00001132 p.outer_flow_label = 243224
Neale Ranns8c609af2021-02-25 10:05:32 +00001133 p.async_mode = self.async_mode
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001134
1135 self.reporter.send_keep_alive(self)
1136
Neale Ranns4f33c802019-04-10 12:39:10 +00001137 #
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001138 # configure the SPDs. SAs, etc
Neale Ranns4f33c802019-04-10 12:39:10 +00001139 #
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001140 self.config_network(self.params.values())
Neale Ranns4f33c802019-04-10 12:39:10 +00001141
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001142 #
1143 # run some traffic.
1144 # An exhautsive 4o6, 6o4 is not necessary
1145 # for each algo
1146 #
1147 self.verify_tra_basic6(count=NUM_PKTS)
1148 self.verify_tra_basic4(count=NUM_PKTS)
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001149 self.verify_tun_66(self.params[socket.AF_INET6], count=NUM_PKTS)
Christian Hoppsfb7e7ed2019-11-03 07:02:15 -05001150 #
1151 # Use an odd-byte payload size to check for correct padding.
1152 #
1153 # 49 + 2 == 51 which should pad +1 to 52 for 4 byte alignment, +5
1154 # to 56 for 8 byte alignment, and +13 to 64 for 64 byte alignment.
1155 # This should catch bugs where the code is incorrectly over-padding
1156 # for algorithms that don't require it
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001157 psz = 49 - len(IP() / ICMP()) if payload_size is None else payload_size
1158 self.verify_tun_44(
1159 self.params[socket.AF_INET], count=NUM_PKTS, payload_size=psz
1160 )
Neale Ranns4f33c802019-04-10 12:39:10 +00001161
Filip Tehlarefcad1a2020-02-04 09:36:04 +00001162 LARGE_PKT_SZ = [
Filip Tehlare4e8c6b2020-02-13 07:49:30 +00001163 1970, # results in 2 chained buffers entering decrypt node
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001164 # but leaving as simple buffer due to ICV removal (tra4)
PiotrX Kleskifdca4dd2020-05-05 14:14:22 +02001165 2004, # footer+ICV will be added to 2nd buffer (tun4)
Nathan Skrzypczak2c77ae42021-09-29 15:36:51 +02001166 4010, # ICV ends up splitted across 2 buffers in esp_decrypt
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001167 # for transport4; transport6 takes normal path
Filip Tehlarefcad1a2020-02-04 09:36:04 +00001168 4020, # same as above but tra4 and tra6 are switched
1169 ]
1170 if self.engine in engines_supporting_chain_bufs:
1171 for sz in LARGE_PKT_SZ:
1172 self.verify_tra_basic4(count=NUM_PKTS, payload_size=sz)
1173 self.verify_tra_basic6(count=NUM_PKTS, payload_size=sz)
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001174 self.verify_tun_66(
1175 self.params[socket.AF_INET6], count=NUM_PKTS, payload_size=sz
1176 )
1177 self.verify_tun_44(
1178 self.params[socket.AF_INET], count=NUM_PKTS, payload_size=sz
1179 )
Filip Tehlarefcad1a2020-02-04 09:36:04 +00001180
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001181 #
Neale Ranns5b891102021-06-28 13:31:28 +00001182 # reconfigure the network and SA to run the
1183 # anti replay tests
1184 #
1185 saf = VppEnum.vl_api_ipsec_sad_flags_t
1186 if flag & saf.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY:
1187 self.unconfig_network()
1188 self.config_network(self.params.values())
1189 self.verify_tra_anti_replay()
1190
1191 self.unconfig_network()
1192 self.config_network(self.params.values())
1193 self.verify_hi_seq_num()
Neale Rannse11203e2021-09-21 12:34:19 +00001194 self.unconfig_network()
1195 self.config_network(self.params.values())
1196 self.verify_tra_lost()
Neale Ranns5b891102021-06-28 13:31:28 +00001197
1198 #
Neale Rannsf16e9a52021-02-25 19:09:24 +00001199 # swap the handlers while SAs are up
1200 #
Neale Ranns5b891102021-06-28 13:31:28 +00001201 self.unconfig_network()
1202 self.config_network(self.params.values())
Neale Rannsf16e9a52021-02-25 19:09:24 +00001203 for e in engines:
1204 if e != engine:
1205 self.vapi.cli("set crypto handler all %s" % e)
1206 self.verify_tra_basic4(count=NUM_PKTS)
1207
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001208 self.unconfig_network()
juraj.linkes11057662019-07-08 10:22:55 +02001209
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001210
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001211#
1212# To generate test classes, do:
1213# grep '# GEN' test_ipsec_esp.py | sed -e 's/# GEN //g' | bash
1214#
Neale Ranns8c609af2021-02-25 10:05:32 +00001215# GEN for ENG in native ipsecmb openssl; do \
Neale Ranns5b891102021-06-28 13:31:28 +00001216# GEN for ESN in ESNon ESNoff; do for AR in ARon ARoff; do \
1217# GEN for ALG in AES-GCM-128/NONE \
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001218# GEN AES-GCM-192/NONE AES-GCM-256/NONE AES-CBC-128/MD5-96 \
1219# GEN AES-CBC-192/SHA1-96 AES-CBC-256/SHA1-96 \
Benoît Ganne490b9272021-01-22 18:03:09 +01001220# GEN 3DES-CBC/SHA1-96 NONE/SHA1-96 \
Benoît Ganne84e66582023-03-10 17:33:03 +01001221# GEN AES-CTR-128/SHA1-96 AES-CTR-192/SHA1-96 AES-CTR-256/SHA1-96 \
1222# GEN AES-NULL-GMAC-128/NONE AES-NULL-GMAC-192/NONE AES-NULL-GMAC-256/NONE; do \
Neale Ranns5b891102021-06-28 13:31:28 +00001223# GEN echo -en "\n\nclass "
1224# GEN echo -e "Test_${ENG}_${ESN}_${AR}_${ALG}(RunTestIpsecEspAll):" |
1225# GEN sed -e 's/-/_/g' -e 's#/#_#g' ;
1226# GEN echo ' """'$ENG $ESN $AR $ALG IPSec test'"""' ;
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001227# GEN echo " def test_ipsec(self):";
Neale Ranns5b891102021-06-28 13:31:28 +00001228# GEN echo ' """'$ENG $ESN $AR $ALG IPSec test'"""' ;
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001229# GEN echo " self.run_test()";
Neale Ranns5b891102021-06-28 13:31:28 +00001230# GEN done; done; done; done
Neale Ranns8c609af2021-02-25 10:05:32 +00001231#
Neale Ranns5b891102021-06-28 13:31:28 +00001232# GEN for ESN in ESNon ESNoff; do for AR in ARon ARoff; do \
1233# GEN for ALG in \
Neale Ranns8c609af2021-02-25 10:05:32 +00001234# GEN AES-GCM-128/NONE AES-GCM-192/NONE AES-GCM-256/NONE \
1235# GEN AES-CBC-192/SHA1-96 AES-CBC-256/SHA1-96; do \
Neale Ranns5b891102021-06-28 13:31:28 +00001236# GEN echo -en "\n\nclass "
1237# GEN echo -e "Test_async_${ESN}_${AR}_${ALG}(RunTestIpsecEspAll):" |
1238# GEN sed -e 's/-/_/g' -e 's#/#_#g' ;
1239# GEN echo ' """'async $ESN $AR $ALG IPSec test'"""' ;
Neale Ranns8c609af2021-02-25 10:05:32 +00001240# GEN echo " def test_ipsec(self):";
Neale Ranns5b891102021-06-28 13:31:28 +00001241# GEN echo ' """'async $ESN $AR $ALG IPSec test'"""' ;
Neale Ranns8c609af2021-02-25 10:05:32 +00001242# GEN echo " self.run_test()";
Neale Ranns5b891102021-06-28 13:31:28 +00001243# GEN done; done; done;
1244
1245
1246class Test_native_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1247 """native ESNon ARon AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001248
Neale Ranns5b891102021-06-28 13:31:28 +00001249 def test_ipsec(self):
1250 """native ESNon ARon AES-GCM-128/NONE IPSec test"""
1251 self.run_test()
1252
1253
1254class Test_native_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1255 """native ESNon ARon AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001256
Neale Ranns5b891102021-06-28 13:31:28 +00001257 def test_ipsec(self):
1258 """native ESNon ARon AES-GCM-192/NONE IPSec test"""
1259 self.run_test()
1260
1261
1262class Test_native_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1263 """native ESNon ARon AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001264
Neale Ranns5b891102021-06-28 13:31:28 +00001265 def test_ipsec(self):
1266 """native ESNon ARon AES-GCM-256/NONE IPSec test"""
1267 self.run_test()
1268
1269
1270class Test_native_ESNon_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1271 """native ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001272
Neale Ranns5b891102021-06-28 13:31:28 +00001273 def test_ipsec(self):
1274 """native ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1275 self.run_test()
1276
1277
1278class Test_native_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1279 """native ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001280
Neale Ranns5b891102021-06-28 13:31:28 +00001281 def test_ipsec(self):
1282 """native ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1283 self.run_test()
1284
1285
1286class Test_native_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1287 """native ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001288
Neale Ranns5b891102021-06-28 13:31:28 +00001289 def test_ipsec(self):
1290 """native ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1291 self.run_test()
1292
1293
1294class Test_native_ESNon_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1295 """native ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001296
Neale Ranns5b891102021-06-28 13:31:28 +00001297 def test_ipsec(self):
1298 """native ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
1299 self.run_test()
1300
1301
1302class Test_native_ESNon_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1303 """native ESNon ARon NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001304
Neale Ranns5b891102021-06-28 13:31:28 +00001305 def test_ipsec(self):
1306 """native ESNon ARon NONE/SHA1-96 IPSec test"""
1307 self.run_test()
1308
1309
1310class Test_native_ESNon_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1311 """native ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001312
Neale Ranns5b891102021-06-28 13:31:28 +00001313 def test_ipsec(self):
1314 """native ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
1315 self.run_test()
1316
1317
1318class Test_native_ESNon_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1319 """native ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001320
Neale Ranns5b891102021-06-28 13:31:28 +00001321 def test_ipsec(self):
1322 """native ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
1323 self.run_test()
1324
1325
1326class Test_native_ESNon_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1327 """native ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001328
Neale Ranns5b891102021-06-28 13:31:28 +00001329 def test_ipsec(self):
1330 """native ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
1331 self.run_test()
1332
1333
1334class Test_native_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1335 """native ESNon ARoff AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001336
Neale Ranns5b891102021-06-28 13:31:28 +00001337 def test_ipsec(self):
1338 """native ESNon ARoff AES-GCM-128/NONE IPSec test"""
1339 self.run_test()
1340
1341
1342class Test_native_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1343 """native ESNon ARoff AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001344
Neale Ranns5b891102021-06-28 13:31:28 +00001345 def test_ipsec(self):
1346 """native ESNon ARoff AES-GCM-192/NONE IPSec test"""
1347 self.run_test()
1348
1349
1350class Test_native_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1351 """native ESNon ARoff AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001352
Neale Ranns5b891102021-06-28 13:31:28 +00001353 def test_ipsec(self):
1354 """native ESNon ARoff AES-GCM-256/NONE IPSec test"""
1355 self.run_test()
1356
1357
1358class Test_native_ESNon_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1359 """native ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001360
Neale Ranns5b891102021-06-28 13:31:28 +00001361 def test_ipsec(self):
1362 """native ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
1363 self.run_test()
1364
1365
1366class Test_native_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1367 """native ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001368
Neale Ranns5b891102021-06-28 13:31:28 +00001369 def test_ipsec(self):
1370 """native ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
1371 self.run_test()
1372
1373
1374class Test_native_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1375 """native ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001376
Neale Ranns5b891102021-06-28 13:31:28 +00001377 def test_ipsec(self):
1378 """native ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
1379 self.run_test()
1380
1381
1382class Test_native_ESNon_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1383 """native ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001384
Neale Ranns5b891102021-06-28 13:31:28 +00001385 def test_ipsec(self):
1386 """native ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
1387 self.run_test()
1388
1389
1390class Test_native_ESNon_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1391 """native ESNon ARoff NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001392
Neale Ranns5b891102021-06-28 13:31:28 +00001393 def test_ipsec(self):
1394 """native ESNon ARoff NONE/SHA1-96 IPSec test"""
1395 self.run_test()
1396
1397
1398class Test_native_ESNon_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1399 """native ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001400
Neale Ranns5b891102021-06-28 13:31:28 +00001401 def test_ipsec(self):
1402 """native ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
1403 self.run_test()
1404
1405
1406class Test_native_ESNon_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1407 """native ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001408
Neale Ranns5b891102021-06-28 13:31:28 +00001409 def test_ipsec(self):
1410 """native ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
1411 self.run_test()
1412
1413
1414class Test_native_ESNon_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1415 """native ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001416
Neale Ranns5b891102021-06-28 13:31:28 +00001417 def test_ipsec(self):
1418 """native ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
1419 self.run_test()
1420
1421
1422class Test_native_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1423 """native ESNoff ARon AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001424
Neale Ranns5b891102021-06-28 13:31:28 +00001425 def test_ipsec(self):
1426 """native ESNoff ARon AES-GCM-128/NONE IPSec test"""
1427 self.run_test()
1428
1429
1430class Test_native_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1431 """native ESNoff ARon AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001432
Neale Ranns5b891102021-06-28 13:31:28 +00001433 def test_ipsec(self):
1434 """native ESNoff ARon AES-GCM-192/NONE IPSec test"""
1435 self.run_test()
1436
1437
1438class Test_native_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1439 """native ESNoff ARon AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001440
Neale Ranns5b891102021-06-28 13:31:28 +00001441 def test_ipsec(self):
1442 """native ESNoff ARon AES-GCM-256/NONE IPSec test"""
1443 self.run_test()
1444
1445
1446class Test_native_ESNoff_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1447 """native ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001448
Neale Ranns5b891102021-06-28 13:31:28 +00001449 def test_ipsec(self):
1450 """native ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
1451 self.run_test()
1452
1453
1454class Test_native_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1455 """native ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001456
Neale Ranns5b891102021-06-28 13:31:28 +00001457 def test_ipsec(self):
1458 """native ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
1459 self.run_test()
1460
1461
1462class Test_native_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1463 """native ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001464
Neale Ranns5b891102021-06-28 13:31:28 +00001465 def test_ipsec(self):
1466 """native ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
1467 self.run_test()
1468
1469
1470class Test_native_ESNoff_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1471 """native ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001472
Neale Ranns5b891102021-06-28 13:31:28 +00001473 def test_ipsec(self):
1474 """native ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
1475 self.run_test()
1476
1477
1478class Test_native_ESNoff_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1479 """native ESNoff ARon NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001480
Neale Ranns5b891102021-06-28 13:31:28 +00001481 def test_ipsec(self):
1482 """native ESNoff ARon NONE/SHA1-96 IPSec test"""
1483 self.run_test()
1484
1485
1486class Test_native_ESNoff_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1487 """native ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001488
Neale Ranns5b891102021-06-28 13:31:28 +00001489 def test_ipsec(self):
1490 """native ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
1491 self.run_test()
1492
1493
1494class Test_native_ESNoff_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1495 """native ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001496
Neale Ranns5b891102021-06-28 13:31:28 +00001497 def test_ipsec(self):
1498 """native ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
1499 self.run_test()
1500
1501
1502class Test_native_ESNoff_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1503 """native ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001504
Neale Ranns5b891102021-06-28 13:31:28 +00001505 def test_ipsec(self):
1506 """native ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
1507 self.run_test()
1508
1509
1510class Test_native_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1511 """native ESNoff ARoff AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001512
Neale Ranns5b891102021-06-28 13:31:28 +00001513 def test_ipsec(self):
1514 """native ESNoff ARoff AES-GCM-128/NONE IPSec test"""
1515 self.run_test()
1516
1517
1518class Test_native_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1519 """native ESNoff ARoff AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001520
Neale Ranns5b891102021-06-28 13:31:28 +00001521 def test_ipsec(self):
1522 """native ESNoff ARoff AES-GCM-192/NONE IPSec test"""
1523 self.run_test()
1524
1525
1526class Test_native_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1527 """native ESNoff ARoff AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001528
Neale Ranns5b891102021-06-28 13:31:28 +00001529 def test_ipsec(self):
1530 """native ESNoff ARoff AES-GCM-256/NONE IPSec test"""
1531 self.run_test()
1532
1533
1534class Test_native_ESNoff_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1535 """native ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001536
Neale Ranns5b891102021-06-28 13:31:28 +00001537 def test_ipsec(self):
1538 """native ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
1539 self.run_test()
1540
1541
1542class Test_native_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1543 """native ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001544
Neale Ranns5b891102021-06-28 13:31:28 +00001545 def test_ipsec(self):
1546 """native ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
1547 self.run_test()
1548
1549
1550class Test_native_ESNoff_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1551 """native ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001552
Neale Ranns5b891102021-06-28 13:31:28 +00001553 def test_ipsec(self):
1554 """native ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
1555 self.run_test()
1556
1557
1558class Test_native_ESNoff_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1559 """native ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001560
Neale Ranns5b891102021-06-28 13:31:28 +00001561 def test_ipsec(self):
1562 """native ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
1563 self.run_test()
1564
1565
1566class Test_native_ESNoff_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1567 """native ESNoff ARoff NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001568
Neale Ranns5b891102021-06-28 13:31:28 +00001569 def test_ipsec(self):
1570 """native ESNoff ARoff NONE/SHA1-96 IPSec test"""
1571 self.run_test()
1572
1573
1574class Test_native_ESNoff_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1575 """native ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001576
Neale Ranns5b891102021-06-28 13:31:28 +00001577 def test_ipsec(self):
1578 """native ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
1579 self.run_test()
1580
1581
1582class Test_native_ESNoff_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1583 """native ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001584
Neale Ranns5b891102021-06-28 13:31:28 +00001585 def test_ipsec(self):
1586 """native ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
1587 self.run_test()
1588
1589
1590class Test_native_ESNoff_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1591 """native ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001592
Neale Ranns5b891102021-06-28 13:31:28 +00001593 def test_ipsec(self):
1594 """native ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
1595 self.run_test()
1596
1597
1598class Test_ipsecmb_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1599 """ipsecmb ESNon ARon AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001600
Neale Ranns5b891102021-06-28 13:31:28 +00001601 def test_ipsec(self):
1602 """ipsecmb ESNon ARon AES-GCM-128/NONE IPSec test"""
1603 self.run_test()
1604
1605
1606class Test_ipsecmb_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1607 """ipsecmb ESNon ARon AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001608
Neale Ranns5b891102021-06-28 13:31:28 +00001609 def test_ipsec(self):
1610 """ipsecmb ESNon ARon AES-GCM-192/NONE IPSec test"""
1611 self.run_test()
1612
1613
1614class Test_ipsecmb_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1615 """ipsecmb ESNon ARon AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001616
Neale Ranns5b891102021-06-28 13:31:28 +00001617 def test_ipsec(self):
1618 """ipsecmb ESNon ARon AES-GCM-256/NONE IPSec test"""
1619 self.run_test()
1620
1621
1622class Test_ipsecmb_ESNon_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1623 """ipsecmb ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001624
Neale Ranns5b891102021-06-28 13:31:28 +00001625 def test_ipsec(self):
1626 """ipsecmb ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1627 self.run_test()
1628
1629
1630class Test_ipsecmb_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1631 """ipsecmb ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001632
Neale Ranns5b891102021-06-28 13:31:28 +00001633 def test_ipsec(self):
1634 """ipsecmb ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1635 self.run_test()
1636
1637
1638class Test_ipsecmb_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1639 """ipsecmb ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001640
Neale Ranns5b891102021-06-28 13:31:28 +00001641 def test_ipsec(self):
1642 """ipsecmb ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1643 self.run_test()
1644
1645
1646class Test_ipsecmb_ESNon_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1647 """ipsecmb ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001648
Neale Ranns5b891102021-06-28 13:31:28 +00001649 def test_ipsec(self):
1650 """ipsecmb ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
1651 self.run_test()
1652
1653
1654class Test_ipsecmb_ESNon_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1655 """ipsecmb ESNon ARon NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001656
Neale Ranns5b891102021-06-28 13:31:28 +00001657 def test_ipsec(self):
1658 """ipsecmb ESNon ARon NONE/SHA1-96 IPSec test"""
1659 self.run_test()
1660
1661
1662class Test_ipsecmb_ESNon_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1663 """ipsecmb ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001664
Neale Ranns5b891102021-06-28 13:31:28 +00001665 def test_ipsec(self):
1666 """ipsecmb ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
1667 self.run_test()
1668
1669
1670class Test_ipsecmb_ESNon_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1671 """ipsecmb ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001672
Neale Ranns5b891102021-06-28 13:31:28 +00001673 def test_ipsec(self):
1674 """ipsecmb ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
1675 self.run_test()
1676
1677
1678class Test_ipsecmb_ESNon_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1679 """ipsecmb ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001680
Neale Ranns5b891102021-06-28 13:31:28 +00001681 def test_ipsec(self):
1682 """ipsecmb ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
1683 self.run_test()
1684
1685
1686class Test_ipsecmb_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1687 """ipsecmb ESNon ARoff AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001688
Neale Ranns5b891102021-06-28 13:31:28 +00001689 def test_ipsec(self):
1690 """ipsecmb ESNon ARoff AES-GCM-128/NONE IPSec test"""
1691 self.run_test()
1692
1693
1694class Test_ipsecmb_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1695 """ipsecmb ESNon ARoff AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001696
Neale Ranns5b891102021-06-28 13:31:28 +00001697 def test_ipsec(self):
1698 """ipsecmb ESNon ARoff AES-GCM-192/NONE IPSec test"""
1699 self.run_test()
1700
1701
1702class Test_ipsecmb_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1703 """ipsecmb ESNon ARoff AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001704
Neale Ranns5b891102021-06-28 13:31:28 +00001705 def test_ipsec(self):
1706 """ipsecmb ESNon ARoff AES-GCM-256/NONE IPSec test"""
1707 self.run_test()
1708
1709
1710class Test_ipsecmb_ESNon_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1711 """ipsecmb ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001712
Neale Ranns5b891102021-06-28 13:31:28 +00001713 def test_ipsec(self):
1714 """ipsecmb ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
1715 self.run_test()
1716
1717
1718class Test_ipsecmb_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1719 """ipsecmb ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001720
Neale Ranns5b891102021-06-28 13:31:28 +00001721 def test_ipsec(self):
1722 """ipsecmb ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
1723 self.run_test()
1724
1725
1726class Test_ipsecmb_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1727 """ipsecmb ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001728
Neale Ranns5b891102021-06-28 13:31:28 +00001729 def test_ipsec(self):
1730 """ipsecmb ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
1731 self.run_test()
1732
1733
1734class Test_ipsecmb_ESNon_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1735 """ipsecmb ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001736
Neale Ranns5b891102021-06-28 13:31:28 +00001737 def test_ipsec(self):
1738 """ipsecmb ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
1739 self.run_test()
1740
1741
1742class Test_ipsecmb_ESNon_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1743 """ipsecmb ESNon ARoff NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001744
Neale Ranns5b891102021-06-28 13:31:28 +00001745 def test_ipsec(self):
1746 """ipsecmb ESNon ARoff NONE/SHA1-96 IPSec test"""
1747 self.run_test()
1748
1749
1750class Test_ipsecmb_ESNon_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1751 """ipsecmb ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001752
Neale Ranns5b891102021-06-28 13:31:28 +00001753 def test_ipsec(self):
1754 """ipsecmb ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
1755 self.run_test()
1756
1757
1758class Test_ipsecmb_ESNon_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1759 """ipsecmb ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001760
Neale Ranns5b891102021-06-28 13:31:28 +00001761 def test_ipsec(self):
1762 """ipsecmb ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
1763 self.run_test()
1764
1765
1766class Test_ipsecmb_ESNon_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1767 """ipsecmb ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001768
Neale Ranns5b891102021-06-28 13:31:28 +00001769 def test_ipsec(self):
1770 """ipsecmb ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
1771 self.run_test()
1772
1773
1774class Test_ipsecmb_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1775 """ipsecmb ESNoff ARon AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001776
Neale Ranns5b891102021-06-28 13:31:28 +00001777 def test_ipsec(self):
1778 """ipsecmb ESNoff ARon AES-GCM-128/NONE IPSec test"""
1779 self.run_test()
1780
1781
1782class Test_ipsecmb_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1783 """ipsecmb ESNoff ARon AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001784
Neale Ranns5b891102021-06-28 13:31:28 +00001785 def test_ipsec(self):
1786 """ipsecmb ESNoff ARon AES-GCM-192/NONE IPSec test"""
1787 self.run_test()
1788
1789
1790class Test_ipsecmb_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1791 """ipsecmb ESNoff ARon AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001792
Neale Ranns5b891102021-06-28 13:31:28 +00001793 def test_ipsec(self):
1794 """ipsecmb ESNoff ARon AES-GCM-256/NONE IPSec test"""
1795 self.run_test()
1796
1797
1798class Test_ipsecmb_ESNoff_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1799 """ipsecmb ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001800
Neale Ranns5b891102021-06-28 13:31:28 +00001801 def test_ipsec(self):
1802 """ipsecmb ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
1803 self.run_test()
1804
1805
1806class Test_ipsecmb_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1807 """ipsecmb ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001808
Neale Ranns5b891102021-06-28 13:31:28 +00001809 def test_ipsec(self):
1810 """ipsecmb ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
1811 self.run_test()
1812
1813
1814class Test_ipsecmb_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1815 """ipsecmb ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001816
Neale Ranns5b891102021-06-28 13:31:28 +00001817 def test_ipsec(self):
1818 """ipsecmb ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
1819 self.run_test()
1820
1821
1822class Test_ipsecmb_ESNoff_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1823 """ipsecmb ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001824
Neale Ranns5b891102021-06-28 13:31:28 +00001825 def test_ipsec(self):
1826 """ipsecmb ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
1827 self.run_test()
1828
1829
1830class Test_ipsecmb_ESNoff_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1831 """ipsecmb ESNoff ARon NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001832
Neale Ranns5b891102021-06-28 13:31:28 +00001833 def test_ipsec(self):
1834 """ipsecmb ESNoff ARon NONE/SHA1-96 IPSec test"""
1835 self.run_test()
1836
1837
1838class Test_ipsecmb_ESNoff_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1839 """ipsecmb ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001840
Neale Ranns5b891102021-06-28 13:31:28 +00001841 def test_ipsec(self):
1842 """ipsecmb ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
1843 self.run_test()
1844
1845
1846class Test_ipsecmb_ESNoff_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1847 """ipsecmb ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001848
Neale Ranns5b891102021-06-28 13:31:28 +00001849 def test_ipsec(self):
1850 """ipsecmb ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
1851 self.run_test()
Neale Ranns4f33c802019-04-10 12:39:10 +00001852
Neale Ranns4f33c802019-04-10 12:39:10 +00001853
Neale Ranns5b891102021-06-28 13:31:28 +00001854class Test_ipsecmb_ESNoff_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1855 """ipsecmb ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001856
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001857 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001858 """ipsecmb ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001859 self.run_test()
Neale Ranns4f33c802019-04-10 12:39:10 +00001860
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001861
Neale Ranns5b891102021-06-28 13:31:28 +00001862class Test_ipsecmb_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1863 """ipsecmb ESNoff ARoff AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001864
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001865 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001866 """ipsecmb ESNoff ARoff AES-GCM-128/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001867 self.run_test()
1868
1869
Neale Ranns5b891102021-06-28 13:31:28 +00001870class Test_ipsecmb_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1871 """ipsecmb ESNoff ARoff AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001872
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001873 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001874 """ipsecmb ESNoff ARoff AES-GCM-192/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001875 self.run_test()
1876
1877
Neale Ranns5b891102021-06-28 13:31:28 +00001878class Test_ipsecmb_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1879 """ipsecmb ESNoff ARoff AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001880
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001881 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001882 """ipsecmb ESNoff ARoff AES-GCM-256/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001883 self.run_test()
1884
1885
Neale Ranns5b891102021-06-28 13:31:28 +00001886class Test_ipsecmb_ESNoff_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1887 """ipsecmb ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001888
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001889 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001890 """ipsecmb ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001891 self.run_test()
1892
1893
Neale Ranns5b891102021-06-28 13:31:28 +00001894class Test_ipsecmb_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1895 """ipsecmb ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001896
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001897 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001898 """ipsecmb ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001899 self.run_test()
1900
1901
Neale Ranns5b891102021-06-28 13:31:28 +00001902class Test_ipsecmb_ESNoff_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1903 """ipsecmb ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001904
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001905 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001906 """ipsecmb ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001907 self.run_test()
1908
1909
Neale Ranns5b891102021-06-28 13:31:28 +00001910class Test_ipsecmb_ESNoff_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1911 """ipsecmb ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001912
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001913 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001914 """ipsecmb ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001915 self.run_test()
1916
1917
Neale Ranns5b891102021-06-28 13:31:28 +00001918class Test_ipsecmb_ESNoff_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1919 """ipsecmb ESNoff ARoff NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001920
Benoît Ganne490b9272021-01-22 18:03:09 +01001921 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001922 """ipsecmb ESNoff ARoff NONE/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01001923 self.run_test()
1924
1925
Neale Ranns5b891102021-06-28 13:31:28 +00001926class Test_ipsecmb_ESNoff_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1927 """ipsecmb ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001928
Benoît Ganne490b9272021-01-22 18:03:09 +01001929 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001930 """ipsecmb ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01001931 self.run_test()
1932
1933
Neale Ranns5b891102021-06-28 13:31:28 +00001934class Test_ipsecmb_ESNoff_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1935 """ipsecmb ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001936
Benoît Ganne490b9272021-01-22 18:03:09 +01001937 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001938 """ipsecmb ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01001939 self.run_test()
1940
1941
Neale Ranns5b891102021-06-28 13:31:28 +00001942class Test_ipsecmb_ESNoff_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1943 """ipsecmb ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001944
Neale Ranns9c23ff82021-06-25 13:30:50 +00001945 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001946 """ipsecmb ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00001947 self.run_test()
1948
1949
Neale Ranns5b891102021-06-28 13:31:28 +00001950class Test_openssl_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1951 """openssl ESNon ARon AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001952
Neale Ranns9c23ff82021-06-25 13:30:50 +00001953 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001954 """openssl ESNon ARon AES-GCM-128/NONE IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00001955 self.run_test()
1956
1957
Neale Ranns5b891102021-06-28 13:31:28 +00001958class Test_openssl_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1959 """openssl ESNon ARon AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001960
Neale Ranns9c23ff82021-06-25 13:30:50 +00001961 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001962 """openssl ESNon ARon AES-GCM-192/NONE IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00001963 self.run_test()
1964
1965
Neale Ranns5b891102021-06-28 13:31:28 +00001966class Test_openssl_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1967 """openssl ESNon ARon AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001968
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001969 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001970 """openssl ESNon ARon AES-GCM-256/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001971 self.run_test()
1972
1973
Neale Ranns5b891102021-06-28 13:31:28 +00001974class Test_openssl_ESNon_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1975 """openssl ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001976
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001977 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001978 """openssl ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001979 self.run_test()
1980
1981
Neale Ranns5b891102021-06-28 13:31:28 +00001982class Test_openssl_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1983 """openssl ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001984
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001985 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001986 """openssl ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001987 self.run_test()
1988
1989
Neale Ranns5b891102021-06-28 13:31:28 +00001990class Test_openssl_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1991 """openssl ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02001992
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001993 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00001994 """openssl ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00001995 self.run_test()
1996
1997
Neale Ranns5b891102021-06-28 13:31:28 +00001998class Test_openssl_ESNon_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1999 """openssl ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002000
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002001 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002002 """openssl ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002003 self.run_test()
2004
2005
Neale Ranns5b891102021-06-28 13:31:28 +00002006class Test_openssl_ESNon_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
2007 """openssl ESNon ARon NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002008
Benoît Ganne490b9272021-01-22 18:03:09 +01002009 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002010 """openssl ESNon ARon NONE/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002011 self.run_test()
2012
2013
Neale Ranns5b891102021-06-28 13:31:28 +00002014class Test_openssl_ESNon_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2015 """openssl ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002016
Benoît Ganne490b9272021-01-22 18:03:09 +01002017 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002018 """openssl ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002019 self.run_test()
2020
2021
Neale Ranns5b891102021-06-28 13:31:28 +00002022class Test_openssl_ESNon_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2023 """openssl ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002024
Benoît Ganne490b9272021-01-22 18:03:09 +01002025 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002026 """openssl ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002027 self.run_test()
2028
2029
Neale Ranns5b891102021-06-28 13:31:28 +00002030class Test_openssl_ESNon_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2031 """openssl ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002032
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002033 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002034 """openssl ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002035 self.run_test()
2036
2037
Benoît Ganne84e66582023-03-10 17:33:03 +01002038class Test_openssl_ESNon_ARon_AES_NULL_GMAC_128_NONE(RunTestIpsecEspAll):
2039 """openssl ESNon ARon AES-NULL-GMAC-128/NONE IPSec test"""
2040
2041 def test_ipsec(self):
2042 """openssl ESNon ARon AES-NULL-GMAC-128/NONE IPSec test"""
2043 self.run_test()
2044
2045
2046class Test_openssl_ESNon_ARon_AES_NULL_GMAC_192_NONE(RunTestIpsecEspAll):
2047 """openssl ESNon ARon AES-NULL-GMAC-192/NONE IPSec test"""
2048
2049 def test_ipsec(self):
2050 """openssl ESNon ARon AES-NULL-GMAC-192/NONE IPSec test"""
2051 self.run_test()
2052
2053
2054class Test_openssl_ESNon_ARon_AES_NULL_GMAC_256_NONE(RunTestIpsecEspAll):
2055 """openssl ESNon ARon AES-NULL-GMAC-256/NONE IPSec test"""
2056
2057 def test_ipsec(self):
2058 """openssl ESNon ARon AES-NULL-GMAC-256/NONE IPSec test"""
2059 self.run_test()
2060
2061
Neale Ranns5b891102021-06-28 13:31:28 +00002062class Test_openssl_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2063 """openssl ESNon ARoff AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002064
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002065 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002066 """openssl ESNon ARoff AES-GCM-128/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002067 self.run_test()
2068
2069
Neale Ranns5b891102021-06-28 13:31:28 +00002070class Test_openssl_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2071 """openssl ESNon ARoff AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002072
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002073 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002074 """openssl ESNon ARoff AES-GCM-192/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002075 self.run_test()
2076
2077
Neale Ranns5b891102021-06-28 13:31:28 +00002078class Test_openssl_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2079 """openssl ESNon ARoff AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002080
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002081 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002082 """openssl ESNon ARoff AES-GCM-256/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002083 self.run_test()
2084
2085
Neale Ranns5b891102021-06-28 13:31:28 +00002086class Test_openssl_ESNon_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
2087 """openssl ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002088
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002089 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002090 """openssl ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002091 self.run_test()
2092
2093
Neale Ranns5b891102021-06-28 13:31:28 +00002094class Test_openssl_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2095 """openssl ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002096
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002097 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002098 """openssl ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002099 self.run_test()
2100
2101
Neale Ranns5b891102021-06-28 13:31:28 +00002102class Test_openssl_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2103 """openssl ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002104
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002105 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002106 """openssl ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002107 self.run_test()
2108
2109
Neale Ranns5b891102021-06-28 13:31:28 +00002110class Test_openssl_ESNon_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
2111 """openssl ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002112
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002113 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002114 """openssl ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002115 self.run_test()
2116
2117
Neale Ranns5b891102021-06-28 13:31:28 +00002118class Test_openssl_ESNon_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
2119 """openssl ESNon ARoff NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002120
Benoît Ganne490b9272021-01-22 18:03:09 +01002121 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002122 """openssl ESNon ARoff NONE/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002123 self.run_test()
2124
2125
Neale Ranns5b891102021-06-28 13:31:28 +00002126class Test_openssl_ESNon_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2127 """openssl ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002128
Benoît Ganne490b9272021-01-22 18:03:09 +01002129 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002130 """openssl ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002131 self.run_test()
2132
2133
Neale Ranns5b891102021-06-28 13:31:28 +00002134class Test_openssl_ESNon_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2135 """openssl ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002136
Benoît Ganne490b9272021-01-22 18:03:09 +01002137 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002138 """openssl ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002139 self.run_test()
2140
2141
Neale Ranns5b891102021-06-28 13:31:28 +00002142class Test_openssl_ESNon_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2143 """openssl ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002144
Neale Ranns9c23ff82021-06-25 13:30:50 +00002145 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002146 """openssl ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00002147 self.run_test()
2148
2149
Benoît Ganne84e66582023-03-10 17:33:03 +01002150class Test_openssl_ESNon_ARoff_AES_NULL_GMAC_128_NONE(RunTestIpsecEspAll):
2151 """openssl ESNon ARoff AES-NULL-GMAC-128/NONE IPSec test"""
2152
2153 def test_ipsec(self):
2154 """openssl ESNon ARoff AES-NULL-GMAC-128/NONE IPSec test"""
2155 self.run_test()
2156
2157
2158class Test_openssl_ESNon_ARoff_AES_NULL_GMAC_192_NONE(RunTestIpsecEspAll):
2159 """openssl ESNon ARoff AES-NULL-GMAC-192/NONE IPSec test"""
2160
2161 def test_ipsec(self):
2162 """openssl ESNon ARoff AES-NULL-GMAC-192/NONE IPSec test"""
2163 self.run_test()
2164
2165
2166class Test_openssl_ESNon_ARoff_AES_NULL_GMAC_256_NONE(RunTestIpsecEspAll):
2167 """openssl ESNon ARoff AES-NULL-GMAC-256/NONE IPSec test"""
2168
2169 def test_ipsec(self):
2170 """openssl ESNon ARoff AES-NULL-GMAC-256/NONE IPSec test"""
2171 self.run_test()
2172
2173
Neale Ranns5b891102021-06-28 13:31:28 +00002174class Test_openssl_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
2175 """openssl ESNoff ARon AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002176
Neale Ranns9c23ff82021-06-25 13:30:50 +00002177 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002178 """openssl ESNoff ARon AES-GCM-128/NONE IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00002179 self.run_test()
2180
2181
Neale Ranns5b891102021-06-28 13:31:28 +00002182class Test_openssl_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
2183 """openssl ESNoff ARon AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002184
Neale Ranns9c23ff82021-06-25 13:30:50 +00002185 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002186 """openssl ESNoff ARon AES-GCM-192/NONE IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00002187 self.run_test()
2188
2189
Neale Ranns5b891102021-06-28 13:31:28 +00002190class Test_openssl_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
2191 """openssl ESNoff ARon AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002192
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002193 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002194 """openssl ESNoff ARon AES-GCM-256/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002195 self.run_test()
2196
2197
Neale Ranns5b891102021-06-28 13:31:28 +00002198class Test_openssl_ESNoff_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
2199 """openssl ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002200
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002201 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002202 """openssl ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002203 self.run_test()
2204
2205
Neale Ranns5b891102021-06-28 13:31:28 +00002206class Test_openssl_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2207 """openssl ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002208
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002209 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002210 """openssl ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002211 self.run_test()
2212
2213
Neale Ranns5b891102021-06-28 13:31:28 +00002214class Test_openssl_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2215 """openssl ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002216
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002217 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002218 """openssl ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002219 self.run_test()
2220
2221
Neale Ranns5b891102021-06-28 13:31:28 +00002222class Test_openssl_ESNoff_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
2223 """openssl ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002224
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002225 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002226 """openssl ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002227 self.run_test()
2228
2229
Neale Ranns5b891102021-06-28 13:31:28 +00002230class Test_openssl_ESNoff_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
2231 """openssl ESNoff ARon NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002232
Benoît Ganne490b9272021-01-22 18:03:09 +01002233 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002234 """openssl ESNoff ARon NONE/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002235 self.run_test()
2236
2237
Neale Ranns5b891102021-06-28 13:31:28 +00002238class Test_openssl_ESNoff_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2239 """openssl ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002240
Benoît Ganne490b9272021-01-22 18:03:09 +01002241 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002242 """openssl ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002243 self.run_test()
2244
2245
Neale Ranns5b891102021-06-28 13:31:28 +00002246class Test_openssl_ESNoff_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2247 """openssl ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002248
Benoît Ganne490b9272021-01-22 18:03:09 +01002249 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002250 """openssl ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002251 self.run_test()
2252
2253
Neale Ranns5b891102021-06-28 13:31:28 +00002254class Test_openssl_ESNoff_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2255 """openssl ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002256
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002257 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002258 """openssl ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002259 self.run_test()
2260
2261
Benoît Ganne84e66582023-03-10 17:33:03 +01002262class Test_openssl_ESNoff_ARon_AES_NULL_GMAC_128_NONE(RunTestIpsecEspAll):
2263 """openssl ESNoff ARon AES-NULL-GMAC-128/NONE IPSec test"""
2264
2265 def test_ipsec(self):
2266 """openssl ESNoff ARon AES-NULL-GMAC-128/NONE IPSec test"""
2267 self.run_test()
2268
2269
2270class Test_openssl_ESNoff_ARon_AES_NULL_GMAC_192_NONE(RunTestIpsecEspAll):
2271 """openssl ESNoff ARon AES-NULL-GMAC-192/NONE IPSec test"""
2272
2273 def test_ipsec(self):
2274 """openssl ESNoff ARon AES-NULL-GMAC-192/NONE IPSec test"""
2275 self.run_test()
2276
2277
2278class Test_openssl_ESNoff_ARon_AES_NULL_GMAC_256_NONE(RunTestIpsecEspAll):
2279 """openssl ESNoff ARon AES-NULL-GMAC-256/NONE IPSec test"""
2280
2281 def test_ipsec(self):
2282 """openssl ESNoff ARon AES-NULL-GMAC-256/NONE IPSec test"""
2283 self.run_test()
2284
2285
Neale Ranns5b891102021-06-28 13:31:28 +00002286class Test_openssl_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2287 """openssl ESNoff ARoff AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002288
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002289 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002290 """openssl ESNoff ARoff AES-GCM-128/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002291 self.run_test()
2292
2293
Neale Ranns5b891102021-06-28 13:31:28 +00002294class Test_openssl_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2295 """openssl ESNoff ARoff AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002296
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002297 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002298 """openssl ESNoff ARoff AES-GCM-192/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002299 self.run_test()
2300
2301
Neale Ranns5b891102021-06-28 13:31:28 +00002302class Test_openssl_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2303 """openssl ESNoff ARoff AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002304
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002305 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002306 """openssl ESNoff ARoff AES-GCM-256/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002307 self.run_test()
2308
2309
Neale Ranns5b891102021-06-28 13:31:28 +00002310class Test_openssl_ESNoff_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
2311 """openssl ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002312
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002313 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002314 """openssl ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002315 self.run_test()
2316
2317
Neale Ranns5b891102021-06-28 13:31:28 +00002318class Test_openssl_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2319 """openssl ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002320
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002321 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002322 """openssl ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002323 self.run_test()
2324
2325
Neale Ranns5b891102021-06-28 13:31:28 +00002326class Test_openssl_ESNoff_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2327 """openssl ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002328
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002329 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002330 """openssl ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002331 self.run_test()
2332
2333
Neale Ranns5b891102021-06-28 13:31:28 +00002334class Test_openssl_ESNoff_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
2335 """openssl ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002336
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002337 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002338 """openssl ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002339 self.run_test()
2340
2341
Neale Ranns5b891102021-06-28 13:31:28 +00002342class Test_openssl_ESNoff_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
2343 """openssl ESNoff ARoff NONE/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002344
Benoît Ganne490b9272021-01-22 18:03:09 +01002345 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002346 """openssl ESNoff ARoff NONE/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002347 self.run_test()
2348
2349
Neale Ranns5b891102021-06-28 13:31:28 +00002350class Test_openssl_ESNoff_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2351 """openssl ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002352
Benoît Ganne490b9272021-01-22 18:03:09 +01002353 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002354 """openssl ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002355 self.run_test()
2356
2357
Neale Ranns5b891102021-06-28 13:31:28 +00002358class Test_openssl_ESNoff_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2359 """openssl ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002360
Benoît Ganne490b9272021-01-22 18:03:09 +01002361 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002362 """openssl ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002363 self.run_test()
2364
2365
Neale Ranns5b891102021-06-28 13:31:28 +00002366class Test_openssl_ESNoff_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2367 """openssl ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002368
Neale Ranns9c23ff82021-06-25 13:30:50 +00002369 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002370 """openssl ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00002371 self.run_test()
2372
2373
Benoît Ganne84e66582023-03-10 17:33:03 +01002374class Test_openssl_ESNoff_ARoff_AES_NULL_GMAC_128_NONE(RunTestIpsecEspAll):
2375 """openssl ESNoff ARoff AES-NULL-GMAC-128/NONE IPSec test"""
2376
2377 def test_ipsec(self):
2378 """openssl ESNoff ARoff AES-NULL-GMAC-128/NONE IPSec test"""
2379 self.run_test()
2380
2381
2382class Test_openssl_ESNoff_ARoff_AES_NULL_GMAC_192_NONE(RunTestIpsecEspAll):
2383 """openssl ESNoff ARoff AES-NULL-GMAC-192/NONE IPSec test"""
2384
2385 def test_ipsec(self):
2386 """openssl ESNoff ARoff AES-NULL-GMAC-192/NONE IPSec test"""
2387 self.run_test()
2388
2389
2390class Test_openssl_ESNoff_ARoff_AES_NULL_GMAC_256_NONE(RunTestIpsecEspAll):
2391 """openssl ESNoff ARoff AES-NULL-GMAC-256/NONE IPSec test"""
2392
2393 def test_ipsec(self):
2394 """openssl ESNoff ARoff AES-NULL-GMAC-256/NONE IPSec test"""
2395 self.run_test()
2396
2397
Neale Ranns5b891102021-06-28 13:31:28 +00002398class Test_async_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
2399 """async ESNon ARon AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002400
Neale Ranns9c23ff82021-06-25 13:30:50 +00002401 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002402 """async ESNon ARon AES-GCM-128/NONE IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00002403 self.run_test()
2404
2405
Neale Ranns5b891102021-06-28 13:31:28 +00002406class Test_async_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
2407 """async ESNon ARon AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002408
Neale Ranns9c23ff82021-06-25 13:30:50 +00002409 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002410 """async ESNon ARon AES-GCM-192/NONE IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00002411 self.run_test()
2412
2413
Neale Ranns5b891102021-06-28 13:31:28 +00002414class Test_async_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
2415 """async ESNon ARon AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002416
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002417 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002418 """async ESNon ARon AES-GCM-256/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002419 self.run_test()
2420
2421
Neale Ranns5b891102021-06-28 13:31:28 +00002422class Test_async_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2423 """async ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002424
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002425 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002426 """async ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002427 self.run_test()
2428
2429
Neale Ranns5b891102021-06-28 13:31:28 +00002430class Test_async_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2431 """async ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002432
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002433 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002434 """async ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002435 self.run_test()
2436
2437
Neale Ranns5b891102021-06-28 13:31:28 +00002438class Test_async_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2439 """async ESNon ARoff AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002440
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002441 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002442 """async ESNon ARoff AES-GCM-128/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002443 self.run_test()
2444
2445
Neale Ranns5b891102021-06-28 13:31:28 +00002446class Test_async_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2447 """async ESNon ARoff AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002448
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002449 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002450 """async ESNon ARoff AES-GCM-192/NONE IPSec test"""
Andrew Yourtchenkofbc38892019-09-09 11:14:59 +00002451 self.run_test()
Neale Ranns6afaae12019-07-17 15:07:14 +00002452
Neale Ranns4f33c802019-04-10 12:39:10 +00002453
Neale Ranns5b891102021-06-28 13:31:28 +00002454class Test_async_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2455 """async ESNon ARoff AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002456
Benoît Ganne490b9272021-01-22 18:03:09 +01002457 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002458 """async ESNon ARoff AES-GCM-256/NONE IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002459 self.run_test()
2460
2461
Neale Ranns5b891102021-06-28 13:31:28 +00002462class Test_async_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2463 """async ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002464
Benoît Ganne490b9272021-01-22 18:03:09 +01002465 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002466 """async ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002467 self.run_test()
2468
2469
Neale Ranns5b891102021-06-28 13:31:28 +00002470class Test_async_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2471 """async ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002472
Benoît Ganne490b9272021-01-22 18:03:09 +01002473 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002474 """async ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
Benoît Ganne490b9272021-01-22 18:03:09 +01002475 self.run_test()
2476
2477
Neale Ranns5b891102021-06-28 13:31:28 +00002478class Test_async_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
2479 """async ESNoff ARon AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002480
Neale Ranns8c609af2021-02-25 10:05:32 +00002481 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002482 """async ESNoff ARon AES-GCM-128/NONE IPSec test"""
Neale Ranns8c609af2021-02-25 10:05:32 +00002483 self.run_test()
2484
2485
Neale Ranns5b891102021-06-28 13:31:28 +00002486class Test_async_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
2487 """async ESNoff ARon AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002488
Neale Ranns8c609af2021-02-25 10:05:32 +00002489 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002490 """async ESNoff ARon AES-GCM-192/NONE IPSec test"""
Neale Ranns8c609af2021-02-25 10:05:32 +00002491 self.run_test()
2492
2493
Neale Ranns5b891102021-06-28 13:31:28 +00002494class Test_async_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
2495 """async ESNoff ARon AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002496
Neale Ranns8c609af2021-02-25 10:05:32 +00002497 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002498 """async ESNoff ARon AES-GCM-256/NONE IPSec test"""
Neale Ranns8c609af2021-02-25 10:05:32 +00002499 self.run_test()
2500
2501
Neale Ranns5b891102021-06-28 13:31:28 +00002502class Test_async_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2503 """async ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002504
Neale Ranns8c609af2021-02-25 10:05:32 +00002505 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002506 """async ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
Neale Ranns8c609af2021-02-25 10:05:32 +00002507 self.run_test()
2508
2509
Neale Ranns5b891102021-06-28 13:31:28 +00002510class Test_async_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2511 """async ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002512
Neale Ranns8c609af2021-02-25 10:05:32 +00002513 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002514 """async ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
Neale Ranns8c609af2021-02-25 10:05:32 +00002515 self.run_test()
2516
2517
Neale Ranns5b891102021-06-28 13:31:28 +00002518class Test_async_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2519 """async ESNoff ARoff AES-GCM-128/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002520
Neale Ranns9c23ff82021-06-25 13:30:50 +00002521 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002522 """async ESNoff ARoff AES-GCM-128/NONE IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00002523 self.run_test()
2524
2525
Neale Ranns5b891102021-06-28 13:31:28 +00002526class Test_async_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2527 """async ESNoff ARoff AES-GCM-192/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002528
Neale Ranns9c23ff82021-06-25 13:30:50 +00002529 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002530 """async ESNoff ARoff AES-GCM-192/NONE IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00002531 self.run_test()
2532
2533
Neale Ranns5b891102021-06-28 13:31:28 +00002534class Test_async_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2535 """async ESNoff ARoff AES-GCM-256/NONE IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002536
Neale Ranns9c23ff82021-06-25 13:30:50 +00002537 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002538 """async ESNoff ARoff AES-GCM-256/NONE IPSec test"""
Neale Ranns9c23ff82021-06-25 13:30:50 +00002539 self.run_test()
2540
2541
Neale Ranns5b891102021-06-28 13:31:28 +00002542class Test_async_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2543 """async ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002544
Neale Ranns8c609af2021-02-25 10:05:32 +00002545 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002546 """async ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
Neale Ranns8c609af2021-02-25 10:05:32 +00002547 self.run_test()
2548
2549
Neale Ranns5b891102021-06-28 13:31:28 +00002550class Test_async_ESNoff_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2551 """async ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
Klement Sekerad9b0c6f2022-04-26 19:02:15 +02002552
Neale Ranns8c609af2021-02-25 10:05:32 +00002553 def test_ipsec(self):
Neale Ranns5b891102021-06-28 13:31:28 +00002554 """async ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
Neale Ranns8c609af2021-02-25 10:05:32 +00002555 self.run_test()