3 from scapy.layers.ipsec import ESP
4 from scapy.layers.inet import IP, ICMP, UDP
5 from scapy.layers.inet6 import IPv6
6 from scapy.layers.l2 import Ether
7 from scapy.packet import Raw
9 from parameterized import parameterized
10 from framework import tag_fixme_ubuntu2204
11 from framework import VppTestRunner
12 from template_ipsec import (
27 IpsecTun6HandoffTests,
28 IpsecTun4HandoffTests,
31 from vpp_ipsec import VppIpsecSpd, VppIpsecSpdEntry, VppIpsecSA, VppIpsecSpdItfBinding
32 from vpp_ip_route import VppIpRoute, VppRoutePath
33 from vpp_ip import DpoProto
34 from vpp_papi import VppEnum
37 engines_supporting_chain_bufs = ["openssl", "async"]
38 engines = ["ia32", "ipsecmb", "openssl"]
41 class ConfigIpsecESP(TemplateIpsec):
43 tra4_encrypt_node_name = "esp4-encrypt"
44 tra4_decrypt_node_name = ["esp4-decrypt", "esp4-decrypt-post"]
45 tra6_encrypt_node_name = "esp6-encrypt"
46 tra6_decrypt_node_name = ["esp6-decrypt", "esp6-decrypt-post"]
47 tun4_encrypt_node_name = "esp4-encrypt"
48 tun4_decrypt_node_name = ["esp4-decrypt", "esp4-decrypt-post"]
49 tun6_encrypt_node_name = "esp6-encrypt"
50 tun6_decrypt_node_name = ["esp6-decrypt", "esp6-decrypt-post"]
54 super(ConfigIpsecESP, cls).setUpClass()
57 def tearDownClass(cls):
58 super(ConfigIpsecESP, cls).tearDownClass()
61 super(ConfigIpsecESP, self).setUp()
64 super(ConfigIpsecESP, self).tearDown()
66 def config_anti_replay(self, params):
67 saf = VppEnum.vl_api_ipsec_sad_flags_t
69 p.flags |= saf.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY
71 def config_network(self, params):
73 self.tun_if = self.pg0
74 self.tra_if = self.pg2
75 self.logger.info(self.vapi.ppcli("show int addr"))
77 self.tra_spd = VppIpsecSpd(self, self.tra_spd_id)
78 self.tra_spd.add_vpp_config()
79 self.net_objs.append(self.tra_spd)
80 self.tun_spd = VppIpsecSpd(self, self.tun_spd_id)
81 self.tun_spd.add_vpp_config()
82 self.net_objs.append(self.tun_spd)
84 b = VppIpsecSpdItfBinding(self, self.tun_spd, self.tun_if)
86 self.net_objs.append(b)
88 b = VppIpsecSpdItfBinding(self, self.tra_spd, self.tra_if)
90 self.net_objs.append(b)
93 self.config_esp_tra(p)
94 config_tra_params(p, self.encryption_type)
96 self.config_esp_tun(p)
97 config_tun_params(p, self.encryption_type, self.tun_if)
100 d = DpoProto.DPO_PROTO_IP6 if p.is_ipv6 else DpoProto.DPO_PROTO_IP4
103 p.remote_tun_if_host,
107 self.tun_if.remote_addr[p.addr_type], 0xFFFFFFFF, proto=d
112 self.net_objs.append(r)
114 self.logger.info(self.vapi.ppcli("show ipsec all"))
116 def unconfig_network(self):
117 for o in reversed(self.net_objs):
118 o.remove_vpp_config()
121 def config_esp_tun(self, params):
122 addr_type = params.addr_type
123 scapy_tun_sa_id = params.scapy_tun_sa_id
124 scapy_tun_spi = params.scapy_tun_spi
125 vpp_tun_sa_id = params.vpp_tun_sa_id
126 vpp_tun_spi = params.vpp_tun_spi
127 auth_algo_vpp_id = params.auth_algo_vpp_id
128 auth_key = params.auth_key
129 crypt_algo_vpp_id = params.crypt_algo_vpp_id
130 crypt_key = params.crypt_key
131 remote_tun_if_host = params.remote_tun_if_host
132 addr_any = params.addr_any
133 addr_bcast = params.addr_bcast
134 e = VppEnum.vl_api_ipsec_spd_action_t
136 tun_flags = params.tun_flags
140 params.tun_sa_in = VppIpsecSA(
148 self.vpp_esp_protocol,
149 self.tun_if.local_addr[addr_type],
150 self.tun_if.remote_addr[addr_type],
155 hop_limit=params.outer_hop_limit,
157 params.tun_sa_out = VppIpsecSA(
165 self.vpp_esp_protocol,
166 self.tun_if.remote_addr[addr_type],
167 self.tun_if.local_addr[addr_type],
172 hop_limit=params.outer_hop_limit,
174 objs.append(params.tun_sa_in)
175 objs.append(params.tun_sa_out)
177 params.spd_policy_in_any = VppIpsecSpdEntry(
187 params.spd_policy_out_any = VppIpsecSpdEntry(
198 objs.append(params.spd_policy_out_any)
199 objs.append(params.spd_policy_in_any)
208 self.pg1.remote_addr[addr_type],
209 self.pg1.remote_addr[addr_type],
212 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
221 self.pg1.remote_addr[addr_type],
222 self.pg1.remote_addr[addr_type],
226 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
237 self.pg0.local_addr[addr_type],
238 self.pg0.local_addr[addr_type],
241 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
250 self.pg0.local_addr[addr_type],
251 self.pg0.local_addr[addr_type],
255 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
261 self.net_objs = self.net_objs + objs
263 def config_esp_tra(self, params):
264 addr_type = params.addr_type
265 scapy_tra_sa_id = params.scapy_tra_sa_id
266 scapy_tra_spi = params.scapy_tra_spi
267 vpp_tra_sa_id = params.vpp_tra_sa_id
268 vpp_tra_spi = params.vpp_tra_spi
269 auth_algo_vpp_id = params.auth_algo_vpp_id
270 auth_key = params.auth_key
271 crypt_algo_vpp_id = params.crypt_algo_vpp_id
272 crypt_key = params.crypt_key
273 addr_any = params.addr_any
274 addr_bcast = params.addr_bcast
275 e = VppEnum.vl_api_ipsec_spd_action_t
280 params.tra_sa_in = VppIpsecSA(
288 self.vpp_esp_protocol,
292 params.tra_sa_out = VppIpsecSA(
300 self.vpp_esp_protocol,
304 objs.append(params.tra_sa_in)
305 objs.append(params.tra_sa_out)
337 self.tra_if.local_addr[addr_type],
338 self.tra_if.local_addr[addr_type],
339 self.tra_if.remote_addr[addr_type],
340 self.tra_if.remote_addr[addr_type],
343 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
352 self.tra_if.local_addr[addr_type],
353 self.tra_if.local_addr[addr_type],
354 self.tra_if.remote_addr[addr_type],
355 self.tra_if.remote_addr[addr_type],
357 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
363 self.net_objs = self.net_objs + objs
366 class TemplateIpsecEsp(ConfigIpsecESP):
368 Basic test for ipsec esp sanity - tunnel and transport modes.
370 Below 4 cases are covered as part of this test
372 #. ipsec esp v4 transport basic test - IPv4 Transport mode
373 scenario using HMAC-SHA1-96 integrity algo
375 #. ipsec esp v4 transport burst test
376 Above test for 257 pkts
378 #. ipsec esp 4o4 tunnel basic test - IPv4 Tunnel mode
379 scenario using HMAC-SHA1-96 integrity algo
381 #. ipsec esp 4o4 tunnel burst test
382 Above test for 257 pkts
387 |pg2| <-------> |VPP|
392 --- encrypt --- plain ---
393 |pg0| <------- |VPP| <------ |pg1|
396 --- decrypt --- plain ---
397 |pg0| -------> |VPP| ------> |pg1|
404 super(TemplateIpsecEsp, cls).setUpClass()
407 def tearDownClass(cls):
408 super(TemplateIpsecEsp, cls).tearDownClass()
411 super(TemplateIpsecEsp, self).setUp()
412 self.config_anti_replay(self.params.values())
413 self.config_network(self.params.values())
416 self.unconfig_network()
417 super(TemplateIpsecEsp, self).tearDown()
421 TemplateIpsecEsp, IpsecTra46Tests, IpsecTun46Tests, IpsecTra6ExtTests
423 """Ipsec ESP - TUN & TRA tests"""
427 super(TestIpsecEsp1, cls).setUpClass()
430 def tearDownClass(cls):
431 super(TestIpsecEsp1, cls).tearDownClass()
434 super(TestIpsecEsp1, self).setUp()
437 super(TestIpsecEsp1, self).tearDown()
439 def test_tun_46(self):
440 """ipsec 4o6 tunnel"""
441 # add an SPD entry to direct 2.2.2.2 to the v6 tunnel SA
442 p6 = self.ipv6_params
443 p4 = self.ipv4_params
445 p6.remote_tun_if_host4 = "2.2.2.2"
446 e = VppEnum.vl_api_ipsec_spd_action_t
452 self.pg1.remote_addr[p4.addr_type],
453 self.pg1.remote_addr[p4.addr_type],
454 p6.remote_tun_if_host4,
455 p6.remote_tun_if_host4,
458 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
463 p6.remote_tun_if_host4,
465 [VppRoutePath(self.tun_if.remote_addr[p4.addr_type], 0xFFFFFFFF)],
468 old_name = self.tun6_encrypt_node_name
469 self.tun6_encrypt_node_name = "esp4-encrypt"
471 self.verify_tun_46(p6, count=63)
472 self.tun6_encrypt_node_name = old_name
474 def test_tun_64(self):
475 """ipsec 6o4 tunnel"""
476 # add an SPD entry to direct 4444::4 to the v4 tunnel SA
477 p6 = self.ipv6_params
478 p4 = self.ipv4_params
480 p4.remote_tun_if_host6 = "4444::4"
481 e = VppEnum.vl_api_ipsec_spd_action_t
487 self.pg1.remote_addr[p6.addr_type],
488 self.pg1.remote_addr[p6.addr_type],
489 p4.remote_tun_if_host6,
490 p4.remote_tun_if_host6,
493 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
496 d = DpoProto.DPO_PROTO_IP6
499 p4.remote_tun_if_host6,
501 [VppRoutePath(self.tun_if.remote_addr[p6.addr_type], 0xFFFFFFFF, proto=d)],
504 old_name = self.tun4_encrypt_node_name
505 self.tun4_encrypt_node_name = "esp6-encrypt"
506 self.verify_tun_64(p4, count=63)
507 self.tun4_encrypt_node_name = old_name
510 class TestIpsecEspTun(TemplateIpsecEsp, IpsecTun46Tests):
511 """Ipsec ESP - TUN encap tests"""
514 self.ipv4_params = IPsecIPv4Params()
515 self.ipv6_params = IPsecIPv6Params()
518 VppEnum.vl_api_tunnel_encap_decap_flags_t.TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DSCP
521 VppEnum.vl_api_tunnel_encap_decap_flags_t.TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_ECN
524 self.ipv4_params.tun_flags = c
525 self.ipv6_params.tun_flags = c1
527 super(TestIpsecEspTun, self).setUp()
529 def gen_pkts(self, sw_intf, src, dst, count=1, payload_size=54):
530 # set the DSCP + ECN - flags are set to copy only DSCP
532 Ether(src=sw_intf.remote_mac, dst=sw_intf.local_mac)
533 / IP(src=src, dst=dst, tos=5)
534 / UDP(sport=4444, dport=4444)
535 / Raw(b"X" * payload_size)
536 for i in range(count)
539 def gen_pkts6(self, p, sw_intf, src, dst, count=1, payload_size=54):
540 # set the DSCP + ECN - flags are set to copy both
542 Ether(src=sw_intf.remote_mac, dst=sw_intf.local_mac)
543 / IPv6(src=src, dst=dst, tc=5)
544 / UDP(sport=4444, dport=4444)
545 / Raw(b"X" * payload_size)
546 for i in range(count)
549 def verify_encrypted(self, p, sa, rxs):
550 # just check that only the DSCP is copied
552 self.assertEqual(rx[IP].tos, 4)
554 def verify_encrypted6(self, p, sa, rxs):
555 # just check that the DSCP & ECN are copied
557 self.assertEqual(rx[IPv6].tc, 5)
560 class TestIpsecEspTun2(TemplateIpsecEsp, IpsecTun46Tests):
561 """Ipsec ESP - TUN DSCP tests"""
564 self.ipv4_params = IPsecIPv4Params()
565 self.ipv6_params = IPsecIPv6Params()
567 self.ipv4_params.dscp = VppEnum.vl_api_ip_dscp_t.IP_API_DSCP_EF
568 self.ipv6_params.dscp = VppEnum.vl_api_ip_dscp_t.IP_API_DSCP_AF11
570 super(TestIpsecEspTun2, self).setUp()
572 def gen_pkts(self, sw_intf, src, dst, count=1, payload_size=54):
574 Ether(src=sw_intf.remote_mac, dst=sw_intf.local_mac)
575 / IP(src=src, dst=dst)
576 / UDP(sport=4444, dport=4444)
577 / Raw(b"X" * payload_size)
578 for i in range(count)
581 def gen_pkts6(self, p, sw_intf, src, dst, count=1, payload_size=54):
583 Ether(src=sw_intf.remote_mac, dst=sw_intf.local_mac)
584 / IPv6(src=src, dst=dst)
585 / UDP(sport=4444, dport=4444)
586 / Raw(b"X" * payload_size)
587 for i in range(count)
590 def verify_encrypted(self, p, sa, rxs):
591 # just check that only the DSCP is set
593 self.assertEqual(rx[IP].tos, VppEnum.vl_api_ip_dscp_t.IP_API_DSCP_EF << 2)
595 def verify_encrypted6(self, p, sa, rxs):
596 # just check that the DSCP is set
599 rx[IPv6].tc, VppEnum.vl_api_ip_dscp_t.IP_API_DSCP_AF11 << 2
603 class TestIpsecEsp2(TemplateIpsecEsp, IpsecTcpTests):
604 """Ipsec ESP - TCP tests"""
609 class TestIpsecEspAsync(TemplateIpsecEsp):
610 """Ipsec ESP - Aysnc tests"""
615 super(TestIpsecEspAsync, self).setUp()
617 self.p_sync = IPsecIPv4Params()
619 self.p_sync.crypt_algo_vpp_id = (
620 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_256
622 self.p_sync.crypt_algo = "AES-CBC" # scapy name
623 self.p_sync.crypt_key = b"JPjyOWBeVEQiMe7hJPjyOWBeVEQiMe7h"
625 self.p_sync.scapy_tun_sa_id += 0xF0000
626 self.p_sync.scapy_tun_spi += 0xF0000
627 self.p_sync.vpp_tun_sa_id += 0xF0000
628 self.p_sync.vpp_tun_spi += 0xF0000
629 self.p_sync.remote_tun_if_host = "2.2.2.2"
630 e = VppEnum.vl_api_ipsec_spd_action_t
632 self.p_sync.sa = VppIpsecSA(
634 self.p_sync.vpp_tun_sa_id,
635 self.p_sync.vpp_tun_spi,
636 self.p_sync.auth_algo_vpp_id,
637 self.p_sync.auth_key,
638 self.p_sync.crypt_algo_vpp_id,
639 self.p_sync.crypt_key,
640 self.vpp_esp_protocol,
641 self.tun_if.local_addr[self.p_sync.addr_type],
642 self.tun_if.remote_addr[self.p_sync.addr_type],
644 self.p_sync.spd = VppIpsecSpdEntry(
647 self.p_sync.vpp_tun_sa_id,
648 self.pg1.remote_addr[self.p_sync.addr_type],
649 self.pg1.remote_addr[self.p_sync.addr_type],
650 self.p_sync.remote_tun_if_host,
651 self.p_sync.remote_tun_if_host,
654 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
659 self.p_sync.remote_tun_if_host,
660 self.p_sync.addr_len,
661 [VppRoutePath(self.tun_if.remote_addr[self.p_sync.addr_type], 0xFFFFFFFF)],
663 config_tun_params(self.p_sync, self.encryption_type, self.tun_if)
665 self.p_async = IPsecIPv4Params()
667 self.p_async.crypt_algo_vpp_id = (
668 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_256
670 self.p_async.auth_algo_vpp_id = (
671 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
673 self.p_async.crypt_algo = "AES-GCM" # scapy name
674 self.p_async.crypt_key = b"JPjyOWBeVEQiMe7hJPjyOWBeVEQiMe7h"
675 self.p_async.auth_algo = "NULL"
677 self.p_async.scapy_tun_sa_id += 0xE0000
678 self.p_async.scapy_tun_spi += 0xE0000
679 self.p_async.vpp_tun_sa_id += 0xE0000
680 self.p_async.vpp_tun_spi += 0xE0000
681 self.p_async.remote_tun_if_host = "2.2.2.3"
683 iflags = VppEnum.vl_api_ipsec_sad_flags_t
684 self.p_async.flags = (
685 iflags.IPSEC_API_SAD_FLAG_USE_ESN
686 | iflags.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY
687 | iflags.IPSEC_API_SAD_FLAG_ASYNC
690 self.p_async.sa = VppIpsecSA(
692 self.p_async.vpp_tun_sa_id,
693 self.p_async.vpp_tun_spi,
694 self.p_async.auth_algo_vpp_id,
695 self.p_async.auth_key,
696 self.p_async.crypt_algo_vpp_id,
697 self.p_async.crypt_key,
698 self.vpp_esp_protocol,
699 self.tun_if.local_addr[self.p_async.addr_type],
700 self.tun_if.remote_addr[self.p_async.addr_type],
701 flags=self.p_async.flags,
703 self.p_async.spd = VppIpsecSpdEntry(
706 self.p_async.vpp_tun_sa_id,
707 self.pg1.remote_addr[self.p_async.addr_type],
708 self.pg1.remote_addr[self.p_async.addr_type],
709 self.p_async.remote_tun_if_host,
710 self.p_async.remote_tun_if_host,
713 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
718 self.p_async.remote_tun_if_host,
719 self.p_async.addr_len,
720 [VppRoutePath(self.tun_if.remote_addr[self.p_async.addr_type], 0xFFFFFFFF)],
722 config_tun_params(self.p_async, self.encryption_type, self.tun_if)
724 def test_dual_stream(self):
725 """Alternating SAs"""
726 p = self.params[self.p_sync.addr_type]
727 self.vapi.ipsec_set_async_mode(async_enable=True)
731 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
732 / IP(src=self.pg1.remote_ip4, dst=self.p_sync.remote_tun_if_host)
733 / UDP(sport=4444, dport=4444)
737 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
738 / IP(src=self.pg1.remote_ip4, dst=p.remote_tun_if_host)
739 / UDP(sport=4444, dport=4444)
745 rxs = self.send_and_expect(self.pg1, pkts, self.pg0)
747 self.assertEqual(len(rxs), len(pkts))
750 if rx[ESP].spi == p.scapy_tun_spi:
751 decrypted = p.vpp_tun_sa.decrypt(rx[IP])
752 elif rx[ESP].spi == self.p_sync.vpp_tun_spi:
753 decrypted = self.p_sync.scapy_tun_sa.decrypt(rx[IP])
756 self.assertTrue(False)
758 self.p_sync.spd.remove_vpp_config()
759 self.p_sync.sa.remove_vpp_config()
760 self.p_async.spd.remove_vpp_config()
761 self.p_async.sa.remove_vpp_config()
762 self.vapi.ipsec_set_async_mode(async_enable=False)
764 def test_sync_async_noop_stream(self):
765 """Alternating SAs sync/async/noop"""
766 p = self.params[self.p_sync.addr_type]
768 # first pin the default/noop SA to worker 0
771 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
772 / IP(src=self.pg1.remote_ip4, dst=p.remote_tun_if_host)
773 / UDP(sport=4444, dport=4444)
777 rxs = self.send_and_expect(self.pg1, pkts, self.pg0, worker=0)
779 self.logger.info(self.vapi.cli("sh ipsec sa"))
780 self.logger.info(self.vapi.cli("sh crypto async status"))
782 # then use all the other SAs on worker 1.
783 # some will handoff, other take the sync and async paths
786 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
787 / IP(src=self.pg1.remote_ip4, dst=self.p_sync.remote_tun_if_host)
788 / UDP(sport=4444, dport=4444)
792 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
793 / IP(src=self.pg1.remote_ip4, dst=p.remote_tun_if_host)
794 / UDP(sport=4444, dport=4444)
798 Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)
799 / IP(src=self.pg1.remote_ip4, dst=self.p_async.remote_tun_if_host)
800 / UDP(sport=4444, dport=4444)
806 rxs = self.send_and_expect(self.pg1, pkts, self.pg0, worker=1)
808 self.assertEqual(len(rxs), len(pkts))
811 if rx[ESP].spi == p.scapy_tun_spi:
812 decrypted = p.vpp_tun_sa.decrypt(rx[IP])
813 elif rx[ESP].spi == self.p_sync.vpp_tun_spi:
814 decrypted = self.p_sync.scapy_tun_sa.decrypt(rx[IP])
815 elif rx[ESP].spi == self.p_async.vpp_tun_spi:
816 decrypted = self.p_async.scapy_tun_sa.decrypt(rx[IP])
819 self.assertTrue(False)
821 self.p_sync.spd.remove_vpp_config()
822 self.p_sync.sa.remove_vpp_config()
823 self.p_async.spd.remove_vpp_config()
824 self.p_async.sa.remove_vpp_config()
826 # async mode should have been disabled now that there are
827 # no async SAs. there's no API for this, so a reluctant
829 self.assertTrue("DISABLED" in self.vapi.cli("sh crypto async status"))
832 class TestIpsecEspHandoff(
833 TemplateIpsecEsp, IpsecTun6HandoffTests, IpsecTun4HandoffTests
835 """Ipsec ESP - handoff tests"""
840 class TemplateIpsecEspUdp(ConfigIpsecESP):
847 super(TemplateIpsecEspUdp, cls).setUpClass()
850 def tearDownClass(cls):
851 super(TemplateIpsecEspUdp, cls).tearDownClass()
854 super(TemplateIpsecEspUdp, self).setUp()
856 self.tun_if = self.pg0
857 self.tra_if = self.pg2
858 self.logger.info(self.vapi.ppcli("show int addr"))
862 VppEnum.vl_api_ipsec_sad_flags_t.IPSEC_API_SAD_FLAG_UDP_ENCAP
863 | VppEnum.vl_api_ipsec_sad_flags_t.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY
865 p.nat_header = UDP(sport=5454, dport=4500)
867 self.tra_spd = VppIpsecSpd(self, self.tra_spd_id)
868 self.tra_spd.add_vpp_config()
869 VppIpsecSpdItfBinding(self, self.tra_spd, self.tra_if).add_vpp_config()
871 self.config_esp_tra(p)
872 config_tra_params(p, self.encryption_type)
874 self.tun_spd = VppIpsecSpd(self, self.tun_spd_id)
875 self.tun_spd.add_vpp_config()
876 VppIpsecSpdItfBinding(self, self.tun_spd, self.tun_if).add_vpp_config()
878 self.config_esp_tun(p)
879 self.logger.info(self.vapi.ppcli("show ipsec all"))
881 d = DpoProto.DPO_PROTO_IP4
884 p.remote_tun_if_host,
886 [VppRoutePath(self.tun_if.remote_addr[p.addr_type], 0xFFFFFFFF, proto=d)],
890 super(TemplateIpsecEspUdp, self).tearDown()
892 def show_commands_at_teardown(self):
893 self.logger.info(self.vapi.cli("show hardware"))
896 class TestIpsecEspUdp(TemplateIpsecEspUdp, IpsecTra4Tests):
897 """Ipsec NAT-T ESP UDP tests"""
904 saf = VppEnum.vl_api_ipsec_sad_flags_t
905 flag_esn = saf.IPSEC_API_SAD_FLAG_USE_ESN
906 flag_ar = saf.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY
907 self.flags = [0, flag_esn, flag_ar]
908 # foreach crypto algorithm
910 "AES-GCM-128/NONE": {
912 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_128
915 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
917 "scapy-crypto": "AES-GCM",
918 "scapy-integ": "NULL",
919 "key": b"JPjyOWBeVEQiMe7h",
922 "AES-GCM-192/NONE": {
924 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_192
927 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
929 "scapy-crypto": "AES-GCM",
930 "scapy-integ": "NULL",
931 "key": b"JPjyOWBeVEQiMe7h01234567",
934 "AES-GCM-256/NONE": {
936 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_256
939 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
941 "scapy-crypto": "AES-GCM",
942 "scapy-integ": "NULL",
943 "key": b"JPjyOWBeVEQiMe7h0123456787654321",
946 "AES-CBC-128/MD5-96": {
948 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_128
951 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_MD5_96
953 "scapy-crypto": "AES-CBC",
954 "scapy-integ": "HMAC-MD5-96",
956 "key": b"JPjyOWBeVEQiMe7h",
958 "AES-CBC-192/SHA1-96": {
960 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_192
963 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
965 "scapy-crypto": "AES-CBC",
966 "scapy-integ": "HMAC-SHA1-96",
968 "key": b"JPjyOWBeVEQiMe7hJPjyOWBe",
970 "AES-CBC-256/SHA1-96": {
972 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_256
975 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
977 "scapy-crypto": "AES-CBC",
978 "scapy-integ": "HMAC-SHA1-96",
980 "key": b"JPjyOWBeVEQiMe7hJPjyOWBeVEQiMe7h",
982 "3DES-CBC/SHA1-96": {
984 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_3DES_CBC
987 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
989 "scapy-crypto": "3DES",
990 "scapy-integ": "HMAC-SHA1-96",
992 "key": b"JPjyOWBeVEQiMe7h00112233",
996 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_NONE
999 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
1001 "scapy-crypto": "NULL",
1002 "scapy-integ": "HMAC-SHA1-96",
1004 "key": b"JPjyOWBeVEQiMe7h00112233",
1006 "AES-CTR-128/SHA1-96": {
1008 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CTR_128
1011 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
1013 "scapy-crypto": "AES-CTR",
1014 "scapy-integ": "HMAC-SHA1-96",
1016 "key": b"JPjyOWBeVEQiMe7h",
1018 "AES-CTR-192/SHA1-96": {
1020 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CTR_192
1023 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
1025 "scapy-crypto": "AES-CTR",
1026 "scapy-integ": "HMAC-SHA1-96",
1028 "key": b"JPjyOWBeVEQiMe7hJPjyOWBe",
1030 "AES-CTR-256/SHA1-96": {
1032 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CTR_256
1035 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
1037 "scapy-crypto": "AES-CTR",
1038 "scapy-integ": "HMAC-SHA1-96",
1040 "key": b"JPjyOWBeVEQiMe7hJPjyOWBeVEQiMe7h",
1045 class RunTestIpsecEspAll(ConfigIpsecESP, IpsecTra4, IpsecTra6, IpsecTun4, IpsecTun6):
1046 """Ipsec ESP all Algos"""
1049 def setUpConstants(cls):
1050 test_args = str.split(cls.__doc__, " ")
1051 engine = test_args[0]
1052 if engine == "async":
1053 cls.vpp_worker_count = 2
1054 super(RunTestIpsecEspAll, cls).setUpConstants()
1057 super(RunTestIpsecEspAll, self).setUp()
1058 test_args = str.split(self.__doc__, " ")
1060 params = MyParameters()
1061 self.engine = test_args[0]
1062 self.flag = params.flags[0]
1063 if test_args[1] == "ESNon":
1064 self.flag |= params.flags[1]
1065 if test_args[2] == "ARon":
1066 self.flag |= params.flags[2]
1068 self.algo = params.algos[test_args[3]]
1069 self.async_mode = False
1070 if self.engine == "async":
1071 self.async_mode = True
1074 super(RunTestIpsecEspAll, self).tearDown()
1077 self.run_a_test(self.engine, self.flag, self.algo)
1079 def run_a_test(self, engine, flag, algo, payload_size=None):
1081 self.vapi.cli("set ipsec async mode on")
1083 self.vapi.cli("set crypto handler all %s" % engine)
1085 self.logger.info(self.vapi.cli("show crypto async status"))
1086 self.ipv4_params = IPsecIPv4Params()
1087 self.ipv6_params = IPsecIPv6Params()
1090 self.ipv4_params.addr_type: self.ipv4_params,
1091 self.ipv6_params.addr_type: self.ipv6_params,
1094 for _, p in self.params.items():
1095 p.auth_algo_vpp_id = algo["vpp-integ"]
1096 p.crypt_algo_vpp_id = algo["vpp-crypto"]
1097 p.crypt_algo = algo["scapy-crypto"]
1098 p.auth_algo = algo["scapy-integ"]
1099 p.crypt_key = algo["key"]
1100 p.salt = algo["salt"]
1102 p.outer_flow_label = 243224
1103 p.async_mode = self.async_mode
1105 self.reporter.send_keep_alive(self)
1108 # configure the SPDs. SAs, etc
1110 self.config_network(self.params.values())
1114 # An exhautsive 4o6, 6o4 is not necessary
1117 self.verify_tra_basic6(count=NUM_PKTS)
1118 self.verify_tra_basic4(count=NUM_PKTS)
1119 self.verify_tun_66(self.params[socket.AF_INET6], count=NUM_PKTS)
1121 # Use an odd-byte payload size to check for correct padding.
1123 # 49 + 2 == 51 which should pad +1 to 52 for 4 byte alignment, +5
1124 # to 56 for 8 byte alignment, and +13 to 64 for 64 byte alignment.
1125 # This should catch bugs where the code is incorrectly over-padding
1126 # for algorithms that don't require it
1127 psz = 49 - len(IP() / ICMP()) if payload_size is None else payload_size
1129 self.params[socket.AF_INET], count=NUM_PKTS, payload_size=psz
1133 1970, # results in 2 chained buffers entering decrypt node
1134 # but leaving as simple buffer due to ICV removal (tra4)
1135 2004, # footer+ICV will be added to 2nd buffer (tun4)
1136 4010, # ICV ends up splitted across 2 buffers in esp_decrypt
1137 # for transport4; transport6 takes normal path
1138 4020, # same as above but tra4 and tra6 are switched
1140 if self.engine in engines_supporting_chain_bufs:
1141 for sz in LARGE_PKT_SZ:
1142 self.verify_tra_basic4(count=NUM_PKTS, payload_size=sz)
1143 self.verify_tra_basic6(count=NUM_PKTS, payload_size=sz)
1145 self.params[socket.AF_INET6], count=NUM_PKTS, payload_size=sz
1148 self.params[socket.AF_INET], count=NUM_PKTS, payload_size=sz
1152 # reconfigure the network and SA to run the
1155 saf = VppEnum.vl_api_ipsec_sad_flags_t
1156 if flag & saf.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY:
1157 self.unconfig_network()
1158 self.config_network(self.params.values())
1159 self.verify_tra_anti_replay()
1161 self.unconfig_network()
1162 self.config_network(self.params.values())
1163 self.verify_hi_seq_num()
1164 self.unconfig_network()
1165 self.config_network(self.params.values())
1166 self.verify_tra_lost()
1169 # swap the handlers while SAs are up
1171 self.unconfig_network()
1172 self.config_network(self.params.values())
1175 self.vapi.cli("set crypto handler all %s" % e)
1176 self.verify_tra_basic4(count=NUM_PKTS)
1178 self.unconfig_network()
1182 # To generate test classes, do:
1183 # grep '# GEN' test_ipsec_esp.py | sed -e 's/# GEN //g' | bash
1185 # GEN for ENG in native ipsecmb openssl; do \
1186 # GEN for ESN in ESNon ESNoff; do for AR in ARon ARoff; do \
1187 # GEN for ALG in AES-GCM-128/NONE \
1188 # GEN AES-GCM-192/NONE AES-GCM-256/NONE AES-CBC-128/MD5-96 \
1189 # GEN AES-CBC-192/SHA1-96 AES-CBC-256/SHA1-96 \
1190 # GEN 3DES-CBC/SHA1-96 NONE/SHA1-96 \
1191 # GEN AES-CTR-128/SHA1-96 AES-CTR-192/SHA1-96 AES-CTR-256/SHA1-96; do \
1192 # GEN echo -en "\n\nclass "
1193 # GEN echo -e "Test_${ENG}_${ESN}_${AR}_${ALG}(RunTestIpsecEspAll):" |
1194 # GEN sed -e 's/-/_/g' -e 's#/#_#g' ;
1195 # GEN echo ' """'$ENG $ESN $AR $ALG IPSec test'"""' ;
1196 # GEN echo " def test_ipsec(self):";
1197 # GEN echo ' """'$ENG $ESN $AR $ALG IPSec test'"""' ;
1198 # GEN echo " self.run_test()";
1199 # GEN done; done; done; done
1201 # GEN for ESN in ESNon ESNoff; do for AR in ARon ARoff; do \
1203 # GEN AES-GCM-128/NONE AES-GCM-192/NONE AES-GCM-256/NONE \
1204 # GEN AES-CBC-192/SHA1-96 AES-CBC-256/SHA1-96; do \
1205 # GEN echo -en "\n\nclass "
1206 # GEN echo -e "Test_async_${ESN}_${AR}_${ALG}(RunTestIpsecEspAll):" |
1207 # GEN sed -e 's/-/_/g' -e 's#/#_#g' ;
1208 # GEN echo ' """'async $ESN $AR $ALG IPSec test'"""' ;
1209 # GEN echo " def test_ipsec(self):";
1210 # GEN echo ' """'async $ESN $AR $ALG IPSec test'"""' ;
1211 # GEN echo " self.run_test()";
1212 # GEN done; done; done;
1215 class Test_native_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1216 """native ESNon ARon AES-GCM-128/NONE IPSec test"""
1218 def test_ipsec(self):
1219 """native ESNon ARon AES-GCM-128/NONE IPSec test"""
1223 class Test_native_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1224 """native ESNon ARon AES-GCM-192/NONE IPSec test"""
1226 def test_ipsec(self):
1227 """native ESNon ARon AES-GCM-192/NONE IPSec test"""
1231 class Test_native_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1232 """native ESNon ARon AES-GCM-256/NONE IPSec test"""
1234 def test_ipsec(self):
1235 """native ESNon ARon AES-GCM-256/NONE IPSec test"""
1239 @tag_fixme_ubuntu2204
1240 class Test_native_ESNon_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1241 """native ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1243 def test_ipsec(self):
1244 """native ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1248 @tag_fixme_ubuntu2204
1249 class Test_native_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1250 """native ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1252 def test_ipsec(self):
1253 """native ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1257 @tag_fixme_ubuntu2204
1258 class Test_native_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1259 """native ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1261 def test_ipsec(self):
1262 """native ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1266 @tag_fixme_ubuntu2204
1267 class Test_native_ESNon_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1268 """native ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
1270 def test_ipsec(self):
1271 """native ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
1275 class Test_native_ESNon_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1276 """native ESNon ARon NONE/SHA1-96 IPSec test"""
1278 def test_ipsec(self):
1279 """native ESNon ARon NONE/SHA1-96 IPSec test"""
1283 class Test_native_ESNon_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1284 """native ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
1286 def test_ipsec(self):
1287 """native ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
1291 class Test_native_ESNon_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1292 """native ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
1294 def test_ipsec(self):
1295 """native ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
1299 class Test_native_ESNon_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1300 """native ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
1302 def test_ipsec(self):
1303 """native ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
1307 class Test_native_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1308 """native ESNon ARoff AES-GCM-128/NONE IPSec test"""
1310 def test_ipsec(self):
1311 """native ESNon ARoff AES-GCM-128/NONE IPSec test"""
1315 class Test_native_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1316 """native ESNon ARoff AES-GCM-192/NONE IPSec test"""
1318 def test_ipsec(self):
1319 """native ESNon ARoff AES-GCM-192/NONE IPSec test"""
1323 class Test_native_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1324 """native ESNon ARoff AES-GCM-256/NONE IPSec test"""
1326 def test_ipsec(self):
1327 """native ESNon ARoff AES-GCM-256/NONE IPSec test"""
1331 @tag_fixme_ubuntu2204
1332 class Test_native_ESNon_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1333 """native ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
1335 def test_ipsec(self):
1336 """native ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
1340 @tag_fixme_ubuntu2204
1341 class Test_native_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1342 """native ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
1344 def test_ipsec(self):
1345 """native ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
1349 @tag_fixme_ubuntu2204
1350 class Test_native_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1351 """native ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
1353 def test_ipsec(self):
1354 """native ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
1358 @tag_fixme_ubuntu2204
1359 class Test_native_ESNon_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1360 """native ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
1362 def test_ipsec(self):
1363 """native ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
1367 class Test_native_ESNon_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1368 """native ESNon ARoff NONE/SHA1-96 IPSec test"""
1370 def test_ipsec(self):
1371 """native ESNon ARoff NONE/SHA1-96 IPSec test"""
1375 class Test_native_ESNon_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1376 """native ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
1378 def test_ipsec(self):
1379 """native ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
1383 class Test_native_ESNon_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1384 """native ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
1386 def test_ipsec(self):
1387 """native ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
1391 class Test_native_ESNon_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1392 """native ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
1394 def test_ipsec(self):
1395 """native ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
1399 class Test_native_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1400 """native ESNoff ARon AES-GCM-128/NONE IPSec test"""
1402 def test_ipsec(self):
1403 """native ESNoff ARon AES-GCM-128/NONE IPSec test"""
1407 class Test_native_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1408 """native ESNoff ARon AES-GCM-192/NONE IPSec test"""
1410 def test_ipsec(self):
1411 """native ESNoff ARon AES-GCM-192/NONE IPSec test"""
1415 class Test_native_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1416 """native ESNoff ARon AES-GCM-256/NONE IPSec test"""
1418 def test_ipsec(self):
1419 """native ESNoff ARon AES-GCM-256/NONE IPSec test"""
1423 @tag_fixme_ubuntu2204
1424 class Test_native_ESNoff_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1425 """native ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
1427 def test_ipsec(self):
1428 """native ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
1432 @tag_fixme_ubuntu2204
1433 class Test_native_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1434 """native ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
1436 def test_ipsec(self):
1437 """native ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
1441 @tag_fixme_ubuntu2204
1442 class Test_native_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1443 """native ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
1445 def test_ipsec(self):
1446 """native ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
1450 @tag_fixme_ubuntu2204
1451 class Test_native_ESNoff_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1452 """native ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
1454 def test_ipsec(self):
1455 """native ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
1459 class Test_native_ESNoff_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1460 """native ESNoff ARon NONE/SHA1-96 IPSec test"""
1462 def test_ipsec(self):
1463 """native ESNoff ARon NONE/SHA1-96 IPSec test"""
1467 class Test_native_ESNoff_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1468 """native ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
1470 def test_ipsec(self):
1471 """native ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
1475 class Test_native_ESNoff_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1476 """native ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
1478 def test_ipsec(self):
1479 """native ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
1483 class Test_native_ESNoff_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1484 """native ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
1486 def test_ipsec(self):
1487 """native ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
1491 class Test_native_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1492 """native ESNoff ARoff AES-GCM-128/NONE IPSec test"""
1494 def test_ipsec(self):
1495 """native ESNoff ARoff AES-GCM-128/NONE IPSec test"""
1499 class Test_native_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1500 """native ESNoff ARoff AES-GCM-192/NONE IPSec test"""
1502 def test_ipsec(self):
1503 """native ESNoff ARoff AES-GCM-192/NONE IPSec test"""
1507 class Test_native_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1508 """native ESNoff ARoff AES-GCM-256/NONE IPSec test"""
1510 def test_ipsec(self):
1511 """native ESNoff ARoff AES-GCM-256/NONE IPSec test"""
1515 @tag_fixme_ubuntu2204
1516 class Test_native_ESNoff_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1517 """native ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
1519 def test_ipsec(self):
1520 """native ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
1524 @tag_fixme_ubuntu2204
1525 class Test_native_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1526 """native ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
1528 def test_ipsec(self):
1529 """native ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
1533 @tag_fixme_ubuntu2204
1534 class Test_native_ESNoff_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1535 """native ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
1537 def test_ipsec(self):
1538 """native ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
1542 @tag_fixme_ubuntu2204
1543 class Test_native_ESNoff_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1544 """native ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
1546 def test_ipsec(self):
1547 """native ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
1551 class Test_native_ESNoff_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1552 """native ESNoff ARoff NONE/SHA1-96 IPSec test"""
1554 def test_ipsec(self):
1555 """native ESNoff ARoff NONE/SHA1-96 IPSec test"""
1559 class Test_native_ESNoff_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1560 """native ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
1562 def test_ipsec(self):
1563 """native ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
1567 class Test_native_ESNoff_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1568 """native ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
1570 def test_ipsec(self):
1571 """native ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
1575 class Test_native_ESNoff_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1576 """native ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
1578 def test_ipsec(self):
1579 """native ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
1583 class Test_ipsecmb_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1584 """ipsecmb ESNon ARon AES-GCM-128/NONE IPSec test"""
1586 def test_ipsec(self):
1587 """ipsecmb ESNon ARon AES-GCM-128/NONE IPSec test"""
1591 class Test_ipsecmb_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1592 """ipsecmb ESNon ARon AES-GCM-192/NONE IPSec test"""
1594 def test_ipsec(self):
1595 """ipsecmb ESNon ARon AES-GCM-192/NONE IPSec test"""
1599 class Test_ipsecmb_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1600 """ipsecmb ESNon ARon AES-GCM-256/NONE IPSec test"""
1602 def test_ipsec(self):
1603 """ipsecmb ESNon ARon AES-GCM-256/NONE IPSec test"""
1607 @tag_fixme_ubuntu2204
1608 class Test_ipsecmb_ESNon_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1609 """ipsecmb ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1611 def test_ipsec(self):
1612 """ipsecmb ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1616 @tag_fixme_ubuntu2204
1617 class Test_ipsecmb_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1618 """ipsecmb ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1620 def test_ipsec(self):
1621 """ipsecmb ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1625 @tag_fixme_ubuntu2204
1626 class Test_ipsecmb_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1627 """ipsecmb ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1629 def test_ipsec(self):
1630 """ipsecmb ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1634 @tag_fixme_ubuntu2204
1635 class Test_ipsecmb_ESNon_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1636 """ipsecmb ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
1638 def test_ipsec(self):
1639 """ipsecmb ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
1643 class Test_ipsecmb_ESNon_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1644 """ipsecmb ESNon ARon NONE/SHA1-96 IPSec test"""
1646 def test_ipsec(self):
1647 """ipsecmb ESNon ARon NONE/SHA1-96 IPSec test"""
1651 class Test_ipsecmb_ESNon_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1652 """ipsecmb ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
1654 def test_ipsec(self):
1655 """ipsecmb ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
1659 class Test_ipsecmb_ESNon_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1660 """ipsecmb ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
1662 def test_ipsec(self):
1663 """ipsecmb ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
1667 class Test_ipsecmb_ESNon_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1668 """ipsecmb ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
1670 def test_ipsec(self):
1671 """ipsecmb ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
1675 class Test_ipsecmb_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1676 """ipsecmb ESNon ARoff AES-GCM-128/NONE IPSec test"""
1678 def test_ipsec(self):
1679 """ipsecmb ESNon ARoff AES-GCM-128/NONE IPSec test"""
1683 class Test_ipsecmb_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1684 """ipsecmb ESNon ARoff AES-GCM-192/NONE IPSec test"""
1686 def test_ipsec(self):
1687 """ipsecmb ESNon ARoff AES-GCM-192/NONE IPSec test"""
1691 class Test_ipsecmb_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1692 """ipsecmb ESNon ARoff AES-GCM-256/NONE IPSec test"""
1694 def test_ipsec(self):
1695 """ipsecmb ESNon ARoff AES-GCM-256/NONE IPSec test"""
1699 @tag_fixme_ubuntu2204
1700 class Test_ipsecmb_ESNon_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1701 """ipsecmb ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
1703 def test_ipsec(self):
1704 """ipsecmb ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
1708 @tag_fixme_ubuntu2204
1709 class Test_ipsecmb_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1710 """ipsecmb ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
1712 def test_ipsec(self):
1713 """ipsecmb ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
1717 @tag_fixme_ubuntu2204
1718 class Test_ipsecmb_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1719 """ipsecmb ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
1721 def test_ipsec(self):
1722 """ipsecmb ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
1726 @tag_fixme_ubuntu2204
1727 class Test_ipsecmb_ESNon_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1728 """ipsecmb ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
1730 def test_ipsec(self):
1731 """ipsecmb ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
1735 class Test_ipsecmb_ESNon_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1736 """ipsecmb ESNon ARoff NONE/SHA1-96 IPSec test"""
1738 def test_ipsec(self):
1739 """ipsecmb ESNon ARoff NONE/SHA1-96 IPSec test"""
1743 class Test_ipsecmb_ESNon_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1744 """ipsecmb ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
1746 def test_ipsec(self):
1747 """ipsecmb ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
1751 class Test_ipsecmb_ESNon_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1752 """ipsecmb ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
1754 def test_ipsec(self):
1755 """ipsecmb ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
1759 class Test_ipsecmb_ESNon_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1760 """ipsecmb ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
1762 def test_ipsec(self):
1763 """ipsecmb ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
1767 class Test_ipsecmb_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1768 """ipsecmb ESNoff ARon AES-GCM-128/NONE IPSec test"""
1770 def test_ipsec(self):
1771 """ipsecmb ESNoff ARon AES-GCM-128/NONE IPSec test"""
1775 class Test_ipsecmb_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1776 """ipsecmb ESNoff ARon AES-GCM-192/NONE IPSec test"""
1778 def test_ipsec(self):
1779 """ipsecmb ESNoff ARon AES-GCM-192/NONE IPSec test"""
1783 class Test_ipsecmb_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1784 """ipsecmb ESNoff ARon AES-GCM-256/NONE IPSec test"""
1786 def test_ipsec(self):
1787 """ipsecmb ESNoff ARon AES-GCM-256/NONE IPSec test"""
1791 @tag_fixme_ubuntu2204
1792 class Test_ipsecmb_ESNoff_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1793 """ipsecmb ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
1795 def test_ipsec(self):
1796 """ipsecmb ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
1800 @tag_fixme_ubuntu2204
1801 class Test_ipsecmb_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1802 """ipsecmb ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
1804 def test_ipsec(self):
1805 """ipsecmb ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
1809 @tag_fixme_ubuntu2204
1810 class Test_ipsecmb_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1811 """ipsecmb ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
1813 def test_ipsec(self):
1814 """ipsecmb ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
1818 @tag_fixme_ubuntu2204
1819 class Test_ipsecmb_ESNoff_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1820 """ipsecmb ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
1822 def test_ipsec(self):
1823 """ipsecmb ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
1827 class Test_ipsecmb_ESNoff_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1828 """ipsecmb ESNoff ARon NONE/SHA1-96 IPSec test"""
1830 def test_ipsec(self):
1831 """ipsecmb ESNoff ARon NONE/SHA1-96 IPSec test"""
1835 class Test_ipsecmb_ESNoff_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1836 """ipsecmb ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
1838 def test_ipsec(self):
1839 """ipsecmb ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
1843 class Test_ipsecmb_ESNoff_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1844 """ipsecmb ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
1846 def test_ipsec(self):
1847 """ipsecmb ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
1851 class Test_ipsecmb_ESNoff_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1852 """ipsecmb ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
1854 def test_ipsec(self):
1855 """ipsecmb ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
1859 class Test_ipsecmb_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1860 """ipsecmb ESNoff ARoff AES-GCM-128/NONE IPSec test"""
1862 def test_ipsec(self):
1863 """ipsecmb ESNoff ARoff AES-GCM-128/NONE IPSec test"""
1867 class Test_ipsecmb_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1868 """ipsecmb ESNoff ARoff AES-GCM-192/NONE IPSec test"""
1870 def test_ipsec(self):
1871 """ipsecmb ESNoff ARoff AES-GCM-192/NONE IPSec test"""
1875 class Test_ipsecmb_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1876 """ipsecmb ESNoff ARoff AES-GCM-256/NONE IPSec test"""
1878 def test_ipsec(self):
1879 """ipsecmb ESNoff ARoff AES-GCM-256/NONE IPSec test"""
1883 @tag_fixme_ubuntu2204
1884 class Test_ipsecmb_ESNoff_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1885 """ipsecmb ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
1887 def test_ipsec(self):
1888 """ipsecmb ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
1892 @tag_fixme_ubuntu2204
1893 class Test_ipsecmb_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1894 """ipsecmb ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
1896 def test_ipsec(self):
1897 """ipsecmb ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
1901 @tag_fixme_ubuntu2204
1902 class Test_ipsecmb_ESNoff_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1903 """ipsecmb ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
1905 def test_ipsec(self):
1906 """ipsecmb ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
1910 @tag_fixme_ubuntu2204
1911 class Test_ipsecmb_ESNoff_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1912 """ipsecmb ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
1914 def test_ipsec(self):
1915 """ipsecmb ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
1919 class Test_ipsecmb_ESNoff_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1920 """ipsecmb ESNoff ARoff NONE/SHA1-96 IPSec test"""
1922 def test_ipsec(self):
1923 """ipsecmb ESNoff ARoff NONE/SHA1-96 IPSec test"""
1927 class Test_ipsecmb_ESNoff_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1928 """ipsecmb ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
1930 def test_ipsec(self):
1931 """ipsecmb ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
1935 class Test_ipsecmb_ESNoff_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1936 """ipsecmb ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
1938 def test_ipsec(self):
1939 """ipsecmb ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
1943 class Test_ipsecmb_ESNoff_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1944 """ipsecmb ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
1946 def test_ipsec(self):
1947 """ipsecmb ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
1951 class Test_openssl_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1952 """openssl ESNon ARon AES-GCM-128/NONE IPSec test"""
1954 def test_ipsec(self):
1955 """openssl ESNon ARon AES-GCM-128/NONE IPSec test"""
1959 class Test_openssl_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1960 """openssl ESNon ARon AES-GCM-192/NONE IPSec test"""
1962 def test_ipsec(self):
1963 """openssl ESNon ARon AES-GCM-192/NONE IPSec test"""
1967 class Test_openssl_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1968 """openssl ESNon ARon AES-GCM-256/NONE IPSec test"""
1970 def test_ipsec(self):
1971 """openssl ESNon ARon AES-GCM-256/NONE IPSec test"""
1975 @tag_fixme_ubuntu2204
1976 class Test_openssl_ESNon_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1977 """openssl ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1979 def test_ipsec(self):
1980 """openssl ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1984 @tag_fixme_ubuntu2204
1985 class Test_openssl_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1986 """openssl ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1988 def test_ipsec(self):
1989 """openssl ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1993 @tag_fixme_ubuntu2204
1994 class Test_openssl_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1995 """openssl ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1997 def test_ipsec(self):
1998 """openssl ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
2002 @tag_fixme_ubuntu2204
2003 class Test_openssl_ESNon_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
2004 """openssl ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
2006 def test_ipsec(self):
2007 """openssl ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
2011 class Test_openssl_ESNon_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
2012 """openssl ESNon ARon NONE/SHA1-96 IPSec test"""
2014 def test_ipsec(self):
2015 """openssl ESNon ARon NONE/SHA1-96 IPSec test"""
2019 class Test_openssl_ESNon_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2020 """openssl ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
2022 def test_ipsec(self):
2023 """openssl ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
2027 class Test_openssl_ESNon_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2028 """openssl ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
2030 def test_ipsec(self):
2031 """openssl ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
2035 class Test_openssl_ESNon_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2036 """openssl ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
2038 def test_ipsec(self):
2039 """openssl ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
2043 class Test_openssl_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2044 """openssl ESNon ARoff AES-GCM-128/NONE IPSec test"""
2046 def test_ipsec(self):
2047 """openssl ESNon ARoff AES-GCM-128/NONE IPSec test"""
2051 class Test_openssl_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2052 """openssl ESNon ARoff AES-GCM-192/NONE IPSec test"""
2054 def test_ipsec(self):
2055 """openssl ESNon ARoff AES-GCM-192/NONE IPSec test"""
2059 class Test_openssl_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2060 """openssl ESNon ARoff AES-GCM-256/NONE IPSec test"""
2062 def test_ipsec(self):
2063 """openssl ESNon ARoff AES-GCM-256/NONE IPSec test"""
2067 @tag_fixme_ubuntu2204
2068 class Test_openssl_ESNon_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
2069 """openssl ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
2071 def test_ipsec(self):
2072 """openssl ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
2076 @tag_fixme_ubuntu2204
2077 class Test_openssl_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2078 """openssl ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
2080 def test_ipsec(self):
2081 """openssl ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
2085 @tag_fixme_ubuntu2204
2086 class Test_openssl_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2087 """openssl ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
2089 def test_ipsec(self):
2090 """openssl ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
2094 @tag_fixme_ubuntu2204
2095 class Test_openssl_ESNon_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
2096 """openssl ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
2098 def test_ipsec(self):
2099 """openssl ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
2103 class Test_openssl_ESNon_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
2104 """openssl ESNon ARoff NONE/SHA1-96 IPSec test"""
2106 def test_ipsec(self):
2107 """openssl ESNon ARoff NONE/SHA1-96 IPSec test"""
2111 class Test_openssl_ESNon_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2112 """openssl ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
2114 def test_ipsec(self):
2115 """openssl ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
2119 class Test_openssl_ESNon_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2120 """openssl ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
2122 def test_ipsec(self):
2123 """openssl ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
2127 class Test_openssl_ESNon_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2128 """openssl ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
2130 def test_ipsec(self):
2131 """openssl ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
2135 class Test_openssl_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
2136 """openssl ESNoff ARon AES-GCM-128/NONE IPSec test"""
2138 def test_ipsec(self):
2139 """openssl ESNoff ARon AES-GCM-128/NONE IPSec test"""
2143 class Test_openssl_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
2144 """openssl ESNoff ARon AES-GCM-192/NONE IPSec test"""
2146 def test_ipsec(self):
2147 """openssl ESNoff ARon AES-GCM-192/NONE IPSec test"""
2151 class Test_openssl_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
2152 """openssl ESNoff ARon AES-GCM-256/NONE IPSec test"""
2154 def test_ipsec(self):
2155 """openssl ESNoff ARon AES-GCM-256/NONE IPSec test"""
2159 @tag_fixme_ubuntu2204
2160 class Test_openssl_ESNoff_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
2161 """openssl ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
2163 def test_ipsec(self):
2164 """openssl ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
2168 @tag_fixme_ubuntu2204
2169 class Test_openssl_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2170 """openssl ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
2172 def test_ipsec(self):
2173 """openssl ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
2177 @tag_fixme_ubuntu2204
2178 class Test_openssl_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2179 """openssl ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
2181 def test_ipsec(self):
2182 """openssl ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
2186 @tag_fixme_ubuntu2204
2187 class Test_openssl_ESNoff_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
2188 """openssl ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
2190 def test_ipsec(self):
2191 """openssl ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
2195 class Test_openssl_ESNoff_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
2196 """openssl ESNoff ARon NONE/SHA1-96 IPSec test"""
2198 def test_ipsec(self):
2199 """openssl ESNoff ARon NONE/SHA1-96 IPSec test"""
2203 class Test_openssl_ESNoff_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2204 """openssl ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
2206 def test_ipsec(self):
2207 """openssl ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
2211 class Test_openssl_ESNoff_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2212 """openssl ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
2214 def test_ipsec(self):
2215 """openssl ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
2219 class Test_openssl_ESNoff_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2220 """openssl ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
2222 def test_ipsec(self):
2223 """openssl ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
2227 class Test_openssl_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2228 """openssl ESNoff ARoff AES-GCM-128/NONE IPSec test"""
2230 def test_ipsec(self):
2231 """openssl ESNoff ARoff AES-GCM-128/NONE IPSec test"""
2235 class Test_openssl_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2236 """openssl ESNoff ARoff AES-GCM-192/NONE IPSec test"""
2238 def test_ipsec(self):
2239 """openssl ESNoff ARoff AES-GCM-192/NONE IPSec test"""
2243 class Test_openssl_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2244 """openssl ESNoff ARoff AES-GCM-256/NONE IPSec test"""
2246 def test_ipsec(self):
2247 """openssl ESNoff ARoff AES-GCM-256/NONE IPSec test"""
2251 @tag_fixme_ubuntu2204
2252 class Test_openssl_ESNoff_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
2253 """openssl ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
2255 def test_ipsec(self):
2256 """openssl ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
2260 @tag_fixme_ubuntu2204
2261 class Test_openssl_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2262 """openssl ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
2264 def test_ipsec(self):
2265 """openssl ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
2269 @tag_fixme_ubuntu2204
2270 class Test_openssl_ESNoff_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2271 """openssl ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
2273 def test_ipsec(self):
2274 """openssl ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
2278 @tag_fixme_ubuntu2204
2279 class Test_openssl_ESNoff_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
2280 """openssl ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
2282 def test_ipsec(self):
2283 """openssl ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
2287 class Test_openssl_ESNoff_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
2288 """openssl ESNoff ARoff NONE/SHA1-96 IPSec test"""
2290 def test_ipsec(self):
2291 """openssl ESNoff ARoff NONE/SHA1-96 IPSec test"""
2295 class Test_openssl_ESNoff_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2296 """openssl ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
2298 def test_ipsec(self):
2299 """openssl ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
2303 class Test_openssl_ESNoff_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2304 """openssl ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
2306 def test_ipsec(self):
2307 """openssl ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
2311 class Test_openssl_ESNoff_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2312 """openssl ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
2314 def test_ipsec(self):
2315 """openssl ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
2319 class Test_async_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
2320 """async ESNon ARon AES-GCM-128/NONE IPSec test"""
2322 def test_ipsec(self):
2323 """async ESNon ARon AES-GCM-128/NONE IPSec test"""
2327 class Test_async_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
2328 """async ESNon ARon AES-GCM-192/NONE IPSec test"""
2330 def test_ipsec(self):
2331 """async ESNon ARon AES-GCM-192/NONE IPSec test"""
2335 class Test_async_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
2336 """async ESNon ARon AES-GCM-256/NONE IPSec test"""
2338 def test_ipsec(self):
2339 """async ESNon ARon AES-GCM-256/NONE IPSec test"""
2343 @tag_fixme_ubuntu2204
2344 class Test_async_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2345 """async ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
2347 def test_ipsec(self):
2348 """async ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
2352 @tag_fixme_ubuntu2204
2353 class Test_async_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2354 """async ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
2356 def test_ipsec(self):
2357 """async ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
2361 class Test_async_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2362 """async ESNon ARoff AES-GCM-128/NONE IPSec test"""
2364 def test_ipsec(self):
2365 """async ESNon ARoff AES-GCM-128/NONE IPSec test"""
2369 class Test_async_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2370 """async ESNon ARoff AES-GCM-192/NONE IPSec test"""
2372 def test_ipsec(self):
2373 """async ESNon ARoff AES-GCM-192/NONE IPSec test"""
2377 class Test_async_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2378 """async ESNon ARoff AES-GCM-256/NONE IPSec test"""
2380 def test_ipsec(self):
2381 """async ESNon ARoff AES-GCM-256/NONE IPSec test"""
2385 @tag_fixme_ubuntu2204
2386 class Test_async_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2387 """async ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
2389 def test_ipsec(self):
2390 """async ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
2394 @tag_fixme_ubuntu2204
2395 class Test_async_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2396 """async ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
2398 def test_ipsec(self):
2399 """async ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
2403 class Test_async_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
2404 """async ESNoff ARon AES-GCM-128/NONE IPSec test"""
2406 def test_ipsec(self):
2407 """async ESNoff ARon AES-GCM-128/NONE IPSec test"""
2411 class Test_async_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
2412 """async ESNoff ARon AES-GCM-192/NONE IPSec test"""
2414 def test_ipsec(self):
2415 """async ESNoff ARon AES-GCM-192/NONE IPSec test"""
2419 class Test_async_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
2420 """async ESNoff ARon AES-GCM-256/NONE IPSec test"""
2422 def test_ipsec(self):
2423 """async ESNoff ARon AES-GCM-256/NONE IPSec test"""
2427 @tag_fixme_ubuntu2204
2428 class Test_async_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2429 """async ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
2431 def test_ipsec(self):
2432 """async ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
2436 @tag_fixme_ubuntu2204
2437 class Test_async_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2438 """async ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
2440 def test_ipsec(self):
2441 """async ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
2445 class Test_async_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2446 """async ESNoff ARoff AES-GCM-128/NONE IPSec test"""
2448 def test_ipsec(self):
2449 """async ESNoff ARoff AES-GCM-128/NONE IPSec test"""
2453 class Test_async_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2454 """async ESNoff ARoff AES-GCM-192/NONE IPSec test"""
2456 def test_ipsec(self):
2457 """async ESNoff ARoff AES-GCM-192/NONE IPSec test"""
2461 class Test_async_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2462 """async ESNoff ARoff AES-GCM-256/NONE IPSec test"""
2464 def test_ipsec(self):
2465 """async ESNoff ARoff AES-GCM-256/NONE IPSec test"""
2469 @tag_fixme_ubuntu2204
2470 class Test_async_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2471 """async ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
2473 def test_ipsec(self):
2474 """async ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
2478 @tag_fixme_ubuntu2204
2479 class Test_async_ESNoff_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2480 """async ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
2482 def test_ipsec(self):
2483 """async ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""