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 VppTestRunner
11 from template_ipsec import (
26 IpsecTun6HandoffTests,
27 IpsecTun4HandoffTests,
30 from vpp_ipsec import VppIpsecSpd, VppIpsecSpdEntry, VppIpsecSA, VppIpsecSpdItfBinding
31 from vpp_ip_route import VppIpRoute, VppRoutePath
32 from vpp_ip import DpoProto
33 from vpp_papi import VppEnum
36 engines_supporting_chain_bufs = ["openssl", "async"]
37 engines = ["ia32", "ipsecmb", "openssl"]
40 class ConfigIpsecESP(TemplateIpsec):
42 tra4_encrypt_node_name = "esp4-encrypt"
43 tra4_decrypt_node_name = ["esp4-decrypt", "esp4-decrypt-post"]
44 tra6_encrypt_node_name = "esp6-encrypt"
45 tra6_decrypt_node_name = ["esp6-decrypt", "esp6-decrypt-post"]
46 tun4_encrypt_node_name = "esp4-encrypt"
47 tun4_decrypt_node_name = ["esp4-decrypt", "esp4-decrypt-post"]
48 tun6_encrypt_node_name = "esp6-encrypt"
49 tun6_decrypt_node_name = ["esp6-decrypt", "esp6-decrypt-post"]
53 super(ConfigIpsecESP, cls).setUpClass()
56 def tearDownClass(cls):
57 super(ConfigIpsecESP, cls).tearDownClass()
60 super(ConfigIpsecESP, self).setUp()
63 super(ConfigIpsecESP, self).tearDown()
65 def config_anti_replay(self, params):
66 saf = VppEnum.vl_api_ipsec_sad_flags_t
68 p.flags |= saf.IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY
70 def config_network(self, params):
72 self.tun_if = self.pg0
73 self.tra_if = self.pg2
74 self.logger.info(self.vapi.ppcli("show int addr"))
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)
83 b = VppIpsecSpdItfBinding(self, self.tun_spd, self.tun_if)
85 self.net_objs.append(b)
87 b = VppIpsecSpdItfBinding(self, self.tra_spd, self.tra_if)
89 self.net_objs.append(b)
92 self.config_esp_tra(p)
93 config_tra_params(p, self.encryption_type)
95 self.config_esp_tun(p)
96 config_tun_params(p, self.encryption_type, self.tun_if)
99 d = DpoProto.DPO_PROTO_IP6 if p.is_ipv6 else DpoProto.DPO_PROTO_IP4
102 p.remote_tun_if_host,
106 self.tun_if.remote_addr[p.addr_type], 0xFFFFFFFF, proto=d
111 self.net_objs.append(r)
113 self.logger.info(self.vapi.ppcli("show ipsec all"))
115 def unconfig_network(self):
116 for o in reversed(self.net_objs):
117 o.remove_vpp_config()
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
135 tun_flags = params.tun_flags
139 params.tun_sa_in = VppIpsecSA(
147 self.vpp_esp_protocol,
148 self.tun_if.remote_addr[addr_type],
149 self.tun_if.local_addr[addr_type],
154 hop_limit=params.outer_hop_limit,
156 params.tun_sa_out = VppIpsecSA(
164 self.vpp_esp_protocol,
165 self.tun_if.local_addr[addr_type],
166 self.tun_if.remote_addr[addr_type],
171 hop_limit=params.outer_hop_limit,
173 objs.append(params.tun_sa_in)
174 objs.append(params.tun_sa_out)
176 params.spd_policy_in_any = VppIpsecSpdEntry(
186 params.spd_policy_out_any = VppIpsecSpdEntry(
197 objs.append(params.spd_policy_out_any)
198 objs.append(params.spd_policy_in_any)
207 self.pg1.remote_addr[addr_type],
208 self.pg1.remote_addr[addr_type],
211 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
220 self.pg1.remote_addr[addr_type],
221 self.pg1.remote_addr[addr_type],
225 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
236 self.pg0.local_addr[addr_type],
237 self.pg0.local_addr[addr_type],
240 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
249 self.pg0.local_addr[addr_type],
250 self.pg0.local_addr[addr_type],
254 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
260 self.net_objs = self.net_objs + objs
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
274 e = VppEnum.vl_api_ipsec_spd_action_t
279 params.tra_sa_in = VppIpsecSA(
287 self.vpp_esp_protocol,
291 params.tra_sa_out = VppIpsecSA(
299 self.vpp_esp_protocol,
303 objs.append(params.tra_sa_in)
304 objs.append(params.tra_sa_out)
336 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],
342 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
351 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],
356 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
362 self.net_objs = self.net_objs + objs
365 class TemplateIpsecEsp(ConfigIpsecESP):
367 Basic test for ipsec esp sanity - tunnel and transport modes.
369 Below 4 cases are covered as part of this test
371 #. ipsec esp v4 transport basic test - IPv4 Transport mode
372 scenario using HMAC-SHA1-96 integrity algo
374 #. ipsec esp v4 transport burst test
375 Above test for 257 pkts
377 #. ipsec esp 4o4 tunnel basic test - IPv4 Tunnel mode
378 scenario using HMAC-SHA1-96 integrity algo
380 #. ipsec esp 4o4 tunnel burst test
381 Above test for 257 pkts
386 |pg2| <-------> |VPP|
391 --- encrypt --- plain ---
392 |pg0| <------- |VPP| <------ |pg1|
395 --- decrypt --- plain ---
396 |pg0| -------> |VPP| ------> |pg1|
403 super(TemplateIpsecEsp, cls).setUpClass()
406 def tearDownClass(cls):
407 super(TemplateIpsecEsp, cls).tearDownClass()
410 super(TemplateIpsecEsp, self).setUp()
411 self.config_anti_replay(self.params.values())
412 self.config_network(self.params.values())
415 self.unconfig_network()
416 super(TemplateIpsecEsp, self).tearDown()
420 TemplateIpsecEsp, IpsecTra46Tests, IpsecTun46Tests, IpsecTra6ExtTests
422 """Ipsec ESP - TUN & TRA tests"""
426 super(TestIpsecEsp1, cls).setUpClass()
429 def tearDownClass(cls):
430 super(TestIpsecEsp1, cls).tearDownClass()
433 super(TestIpsecEsp1, self).setUp()
436 super(TestIpsecEsp1, self).tearDown()
438 def test_tun_46(self):
439 """ipsec 4o6 tunnel"""
440 # 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
444 p6.remote_tun_if_host4 = "2.2.2.2"
445 e = VppEnum.vl_api_ipsec_spd_action_t
451 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,
457 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
462 p6.remote_tun_if_host4,
464 [VppRoutePath(self.tun_if.remote_addr[p4.addr_type], 0xFFFFFFFF)],
467 old_name = self.tun6_encrypt_node_name
468 self.tun6_encrypt_node_name = "esp4-encrypt"
470 self.verify_tun_46(p6, count=63)
471 self.tun6_encrypt_node_name = old_name
473 def test_tun_64(self):
474 """ipsec 6o4 tunnel"""
475 # add an SPD entry to direct 4444::4 to the v4 tunnel SA
476 p6 = self.ipv6_params
477 p4 = self.ipv4_params
479 p4.remote_tun_if_host6 = "4444::4"
480 e = VppEnum.vl_api_ipsec_spd_action_t
486 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,
492 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
495 d = DpoProto.DPO_PROTO_IP6
498 p4.remote_tun_if_host6,
500 [VppRoutePath(self.tun_if.remote_addr[p6.addr_type], 0xFFFFFFFF, proto=d)],
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
509 class TestIpsecEspTun(TemplateIpsecEsp, IpsecTun46Tests):
510 """Ipsec ESP - TUN encap tests"""
513 self.ipv4_params = IPsecIPv4Params()
514 self.ipv6_params = IPsecIPv6Params()
517 VppEnum.vl_api_tunnel_encap_decap_flags_t.TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DSCP
520 VppEnum.vl_api_tunnel_encap_decap_flags_t.TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_ECN
523 self.ipv4_params.tun_flags = c
524 self.ipv6_params.tun_flags = c1
526 super(TestIpsecEspTun, self).setUp()
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
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)
538 def gen_pkts6(self, p, sw_intf, src, dst, count=1, payload_size=54):
539 # set the DSCP + ECN - flags are set to copy both
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)
548 def verify_encrypted(self, p, sa, rxs):
549 # just check that only the DSCP is copied
551 self.assertEqual(rx[IP].tos, 4)
553 def verify_encrypted6(self, p, sa, rxs):
554 # just check that the DSCP & ECN are copied
556 self.assertEqual(rx[IPv6].tc, 5)
559 class TestIpsecEspTun2(TemplateIpsecEsp, IpsecTun46Tests):
560 """Ipsec ESP - TUN DSCP tests"""
563 self.ipv4_params = IPsecIPv4Params()
564 self.ipv6_params = IPsecIPv6Params()
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
569 super(TestIpsecEspTun2, self).setUp()
571 def gen_pkts(self, sw_intf, src, dst, count=1, payload_size=54):
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)
580 def gen_pkts6(self, p, sw_intf, src, dst, count=1, payload_size=54):
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)
589 def verify_encrypted(self, p, sa, rxs):
590 # just check that only the DSCP is set
592 self.assertEqual(rx[IP].tos, VppEnum.vl_api_ip_dscp_t.IP_API_DSCP_EF << 2)
594 def verify_encrypted6(self, p, sa, rxs):
595 # just check that the DSCP is set
598 rx[IPv6].tc, VppEnum.vl_api_ip_dscp_t.IP_API_DSCP_AF11 << 2
602 class TestIpsecEsp2(TemplateIpsecEsp, IpsecTcpTests):
603 """Ipsec ESP - TCP tests"""
608 class TestIpsecEspAsync(TemplateIpsecEsp):
609 """Ipsec ESP - Aysnc tests"""
614 super(TestIpsecEspAsync, self).setUp()
616 self.p_sync = IPsecIPv4Params()
618 self.p_sync.crypt_algo_vpp_id = (
619 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_256
621 self.p_sync.crypt_algo = "AES-CBC" # scapy name
622 self.p_sync.crypt_key = b"JPjyOWBeVEQiMe7hJPjyOWBeVEQiMe7h"
624 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
628 self.p_sync.remote_tun_if_host = "2.2.2.2"
629 e = VppEnum.vl_api_ipsec_spd_action_t
631 self.p_sync.sa = VppIpsecSA(
633 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,
639 self.vpp_esp_protocol,
640 self.tun_if.local_addr[self.p_sync.addr_type],
641 self.tun_if.remote_addr[self.p_sync.addr_type],
643 self.p_sync.spd = VppIpsecSpdEntry(
646 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,
653 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
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)],
662 config_tun_params(self.p_sync, self.encryption_type, self.tun_if)
664 self.p_async = IPsecIPv4Params()
666 self.p_async.crypt_algo_vpp_id = (
667 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_256
669 self.p_async.auth_algo_vpp_id = (
670 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
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"
676 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
680 self.p_async.remote_tun_if_host = "2.2.2.3"
682 iflags = VppEnum.vl_api_ipsec_sad_flags_t
683 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
689 self.p_async.sa = VppIpsecSA(
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],
700 flags=self.p_async.flags,
702 self.p_async.spd = VppIpsecSpdEntry(
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,
712 policy=e.IPSEC_API_SPD_ACTION_PROTECT,
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)],
721 config_tun_params(self.p_async, self.encryption_type, self.tun_if)
723 def test_dual_stream(self):
724 """Alternating SAs"""
725 p = self.params[self.p_sync.addr_type]
726 self.vapi.ipsec_set_async_mode(async_enable=True)
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)
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)
744 rxs = self.send_and_expect(self.pg1, pkts, self.pg0)
746 self.assertEqual(len(rxs), len(pkts))
749 if rx[ESP].spi == p.vpp_tun_spi:
750 decrypted = p.vpp_tun_sa.decrypt(rx[IP])
751 elif rx[ESP].spi == self.p_sync.vpp_tun_spi:
752 decrypted = self.p_sync.vpp_tun_sa.decrypt(rx[IP])
755 self.assertTrue(False)
757 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)
763 def test_sync_async_noop_stream(self):
764 """Alternating SAs sync/async/noop"""
765 p = self.params[self.p_sync.addr_type]
767 # first pin the default/noop SA to worker 0
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)
776 rxs = self.send_and_expect(self.pg1, pkts, self.pg0, worker=0)
778 self.logger.info(self.vapi.cli("sh ipsec sa"))
779 self.logger.info(self.vapi.cli("sh crypto async status"))
781 # then use all the other SAs on worker 1.
782 # some will handoff, other take the sync and async paths
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)
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)
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)
805 rxs = self.send_and_expect(self.pg1, pkts, self.pg0, worker=1)
807 self.assertEqual(len(rxs), len(pkts))
810 if rx[ESP].spi == p.vpp_tun_spi:
811 decrypted = p.vpp_tun_sa.decrypt(rx[IP])
812 elif rx[ESP].spi == self.p_sync.vpp_tun_spi:
813 decrypted = self.p_sync.vpp_tun_sa.decrypt(rx[IP])
814 elif rx[ESP].spi == self.p_async.vpp_tun_spi:
815 decrypted = self.p_async.vpp_tun_sa.decrypt(rx[IP])
818 self.assertTrue(False)
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()
826 class TestIpsecEspHandoff(
827 TemplateIpsecEsp, IpsecTun6HandoffTests, IpsecTun4HandoffTests
829 """Ipsec ESP - handoff tests"""
834 class TemplateIpsecEspUdp(ConfigIpsecESP):
841 super(TemplateIpsecEspUdp, cls).setUpClass()
844 def tearDownClass(cls):
845 super(TemplateIpsecEspUdp, cls).tearDownClass()
848 super(TemplateIpsecEspUdp, self).setUp()
850 self.tun_if = self.pg0
851 self.tra_if = self.pg2
852 self.logger.info(self.vapi.ppcli("show int addr"))
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
859 p.nat_header = UDP(sport=5454, dport=4500)
861 self.tra_spd = VppIpsecSpd(self, self.tra_spd_id)
862 self.tra_spd.add_vpp_config()
863 VppIpsecSpdItfBinding(self, self.tra_spd, self.tra_if).add_vpp_config()
865 self.config_esp_tra(p)
866 config_tra_params(p, self.encryption_type)
868 self.tun_spd = VppIpsecSpd(self, self.tun_spd_id)
869 self.tun_spd.add_vpp_config()
870 VppIpsecSpdItfBinding(self, self.tun_spd, self.tun_if).add_vpp_config()
872 self.config_esp_tun(p)
873 self.logger.info(self.vapi.ppcli("show ipsec all"))
875 d = DpoProto.DPO_PROTO_IP4
878 p.remote_tun_if_host,
880 [VppRoutePath(self.tun_if.remote_addr[p.addr_type], 0xFFFFFFFF, proto=d)],
884 super(TemplateIpsecEspUdp, self).tearDown()
886 def show_commands_at_teardown(self):
887 self.logger.info(self.vapi.cli("show hardware"))
890 class TestIpsecEspUdp(TemplateIpsecEspUdp, IpsecTra4Tests):
891 """Ipsec NAT-T ESP UDP tests"""
898 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]
902 # foreach crypto algorithm
904 "AES-GCM-128/NONE": {
906 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_128
909 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
911 "scapy-crypto": "AES-GCM",
912 "scapy-integ": "NULL",
913 "key": b"JPjyOWBeVEQiMe7h",
916 "AES-GCM-192/NONE": {
918 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_192
921 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
923 "scapy-crypto": "AES-GCM",
924 "scapy-integ": "NULL",
925 "key": b"JPjyOWBeVEQiMe7h01234567",
928 "AES-GCM-256/NONE": {
930 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_GCM_256
933 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
935 "scapy-crypto": "AES-GCM",
936 "scapy-integ": "NULL",
937 "key": b"JPjyOWBeVEQiMe7h0123456787654321",
940 "AES-CBC-128/MD5-96": {
942 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_128
945 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_MD5_96
947 "scapy-crypto": "AES-CBC",
948 "scapy-integ": "HMAC-MD5-96",
950 "key": b"JPjyOWBeVEQiMe7h",
952 "AES-CBC-192/SHA1-96": {
954 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_192
957 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
959 "scapy-crypto": "AES-CBC",
960 "scapy-integ": "HMAC-SHA1-96",
962 "key": b"JPjyOWBeVEQiMe7hJPjyOWBe",
964 "AES-CBC-256/SHA1-96": {
966 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CBC_256
969 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
971 "scapy-crypto": "AES-CBC",
972 "scapy-integ": "HMAC-SHA1-96",
974 "key": b"JPjyOWBeVEQiMe7hJPjyOWBeVEQiMe7h",
976 "3DES-CBC/SHA1-96": {
978 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_3DES_CBC
981 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
983 "scapy-crypto": "3DES",
984 "scapy-integ": "HMAC-SHA1-96",
986 "key": b"JPjyOWBeVEQiMe7h00112233",
990 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_NONE
993 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
995 "scapy-crypto": "NULL",
996 "scapy-integ": "HMAC-SHA1-96",
998 "key": b"JPjyOWBeVEQiMe7h00112233",
1000 "AES-CTR-128/SHA1-96": {
1002 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CTR_128
1005 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
1007 "scapy-crypto": "AES-CTR",
1008 "scapy-integ": "HMAC-SHA1-96",
1010 "key": b"JPjyOWBeVEQiMe7h",
1012 "AES-CTR-192/SHA1-96": {
1014 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CTR_192
1017 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
1019 "scapy-crypto": "AES-CTR",
1020 "scapy-integ": "HMAC-SHA1-96",
1022 "key": b"JPjyOWBeVEQiMe7hJPjyOWBe",
1024 "AES-CTR-256/SHA1-96": {
1026 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_CTR_256
1029 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_SHA1_96
1031 "scapy-crypto": "AES-CTR",
1032 "scapy-integ": "HMAC-SHA1-96",
1034 "key": b"JPjyOWBeVEQiMe7hJPjyOWBeVEQiMe7h",
1036 "AES-NULL-GMAC-128/NONE": {
1038 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_128
1041 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
1043 "scapy-crypto": "AES-NULL-GMAC",
1044 "scapy-integ": "NULL",
1045 "key": b"JPjyOWBeVEQiMe7h",
1048 "AES-NULL-GMAC-192/NONE": {
1050 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_192
1053 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
1055 "scapy-crypto": "AES-NULL-GMAC",
1056 "scapy-integ": "NULL",
1057 "key": b"JPjyOWBeVEQiMe7h01234567",
1060 "AES-NULL-GMAC-256/NONE": {
1062 VppEnum.vl_api_ipsec_crypto_alg_t.IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_256
1065 VppEnum.vl_api_ipsec_integ_alg_t.IPSEC_API_INTEG_ALG_NONE
1067 "scapy-crypto": "AES-NULL-GMAC",
1068 "scapy-integ": "NULL",
1069 "key": b"JPjyOWBeVEQiMe7h0123456787654321",
1075 class RunTestIpsecEspAll(ConfigIpsecESP, IpsecTra4, IpsecTra6, IpsecTun4, IpsecTun6):
1076 """Ipsec ESP all Algos"""
1079 def setUpConstants(cls):
1080 test_args = str.split(cls.__doc__, " ")
1081 engine = test_args[0]
1082 if engine == "async":
1083 cls.vpp_worker_count = 2
1084 super(RunTestIpsecEspAll, cls).setUpConstants()
1087 super(RunTestIpsecEspAll, self).setUp()
1088 test_args = str.split(self.__doc__, " ")
1090 params = MyParameters()
1091 self.engine = test_args[0]
1092 self.flag = params.flags[0]
1093 if test_args[1] == "ESNon":
1094 self.flag |= params.flags[1]
1095 if test_args[2] == "ARon":
1096 self.flag |= params.flags[2]
1098 self.algo = params.algos[test_args[3]]
1099 self.async_mode = False
1100 if self.engine == "async":
1101 self.async_mode = True
1104 super(RunTestIpsecEspAll, self).tearDown()
1107 self.run_a_test(self.engine, self.flag, self.algo)
1109 def run_a_test(self, engine, flag, algo, payload_size=None):
1111 self.vapi.cli("set ipsec async mode on")
1113 self.vapi.cli("set crypto handler all %s" % engine)
1115 self.logger.info(self.vapi.cli("show crypto async status"))
1116 self.ipv4_params = IPsecIPv4Params()
1117 self.ipv6_params = IPsecIPv6Params()
1120 self.ipv4_params.addr_type: self.ipv4_params,
1121 self.ipv6_params.addr_type: self.ipv6_params,
1124 for _, p in self.params.items():
1125 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"]
1132 p.outer_flow_label = 243224
1133 p.async_mode = self.async_mode
1135 self.reporter.send_keep_alive(self)
1138 # configure the SPDs. SAs, etc
1140 self.config_network(self.params.values())
1144 # An exhautsive 4o6, 6o4 is not necessary
1147 self.verify_tra_basic6(count=NUM_PKTS)
1148 self.verify_tra_basic4(count=NUM_PKTS)
1149 self.verify_tun_66(self.params[socket.AF_INET6], count=NUM_PKTS)
1151 # Use an odd-byte payload size to check for correct padding.
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
1157 psz = 49 - len(IP() / ICMP()) if payload_size is None else payload_size
1159 self.params[socket.AF_INET], count=NUM_PKTS, payload_size=psz
1163 1970, # results in 2 chained buffers entering decrypt node
1164 # but leaving as simple buffer due to ICV removal (tra4)
1165 2004, # footer+ICV will be added to 2nd buffer (tun4)
1166 4010, # ICV ends up splitted across 2 buffers in esp_decrypt
1167 # for transport4; transport6 takes normal path
1168 4020, # same as above but tra4 and tra6 are switched
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)
1175 self.params[socket.AF_INET6], count=NUM_PKTS, payload_size=sz
1178 self.params[socket.AF_INET], count=NUM_PKTS, payload_size=sz
1182 # reconfigure the network and SA to run the
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()
1191 self.unconfig_network()
1192 self.config_network(self.params.values())
1193 self.verify_hi_seq_num()
1194 self.unconfig_network()
1195 self.config_network(self.params.values())
1196 self.verify_tra_lost()
1199 # swap the handlers while SAs are up
1201 self.unconfig_network()
1202 self.config_network(self.params.values())
1205 self.vapi.cli("set crypto handler all %s" % e)
1206 self.verify_tra_basic4(count=NUM_PKTS)
1208 self.unconfig_network()
1212 # To generate test classes, do:
1213 # grep '# GEN' test_ipsec_esp.py | sed -e 's/# GEN //g' | bash
1215 # GEN for ENG in native ipsecmb openssl; do \
1216 # GEN for ESN in ESNon ESNoff; do for AR in ARon ARoff; do \
1217 # GEN for ALG in AES-GCM-128/NONE \
1218 # 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 \
1220 # GEN 3DES-CBC/SHA1-96 NONE/SHA1-96 \
1221 # 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 \
1223 # 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'"""' ;
1227 # GEN echo " def test_ipsec(self):";
1228 # GEN echo ' """'$ENG $ESN $AR $ALG IPSec test'"""' ;
1229 # GEN echo " self.run_test()";
1230 # GEN done; done; done; done
1232 # GEN for ESN in ESNon ESNoff; do for AR in ARon ARoff; do \
1234 # 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 \
1236 # 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'"""' ;
1240 # GEN echo " def test_ipsec(self):";
1241 # GEN echo ' """'async $ESN $AR $ALG IPSec test'"""' ;
1242 # GEN echo " self.run_test()";
1243 # GEN done; done; done;
1246 class Test_native_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1247 """native ESNon ARon AES-GCM-128/NONE IPSec test"""
1249 def test_ipsec(self):
1250 """native ESNon ARon AES-GCM-128/NONE IPSec test"""
1254 class Test_native_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1255 """native ESNon ARon AES-GCM-192/NONE IPSec test"""
1257 def test_ipsec(self):
1258 """native ESNon ARon AES-GCM-192/NONE IPSec test"""
1262 class Test_native_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1263 """native ESNon ARon AES-GCM-256/NONE IPSec test"""
1265 def test_ipsec(self):
1266 """native ESNon ARon AES-GCM-256/NONE IPSec test"""
1270 class Test_native_ESNon_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1271 """native ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1273 def test_ipsec(self):
1274 """native ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1278 class Test_native_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1279 """native ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1281 def test_ipsec(self):
1282 """native ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1286 class Test_native_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1287 """native ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1289 def test_ipsec(self):
1290 """native ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1294 class Test_native_ESNon_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1295 """native ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
1297 def test_ipsec(self):
1298 """native ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
1302 class Test_native_ESNon_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1303 """native ESNon ARon NONE/SHA1-96 IPSec test"""
1305 def test_ipsec(self):
1306 """native ESNon ARon NONE/SHA1-96 IPSec test"""
1310 class Test_native_ESNon_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1311 """native ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
1313 def test_ipsec(self):
1314 """native ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
1318 class Test_native_ESNon_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1319 """native ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
1321 def test_ipsec(self):
1322 """native ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
1326 class Test_native_ESNon_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1327 """native ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
1329 def test_ipsec(self):
1330 """native ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
1334 class Test_native_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1335 """native ESNon ARoff AES-GCM-128/NONE IPSec test"""
1337 def test_ipsec(self):
1338 """native ESNon ARoff AES-GCM-128/NONE IPSec test"""
1342 class Test_native_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1343 """native ESNon ARoff AES-GCM-192/NONE IPSec test"""
1345 def test_ipsec(self):
1346 """native ESNon ARoff AES-GCM-192/NONE IPSec test"""
1350 class Test_native_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1351 """native ESNon ARoff AES-GCM-256/NONE IPSec test"""
1353 def test_ipsec(self):
1354 """native ESNon ARoff AES-GCM-256/NONE IPSec test"""
1358 class Test_native_ESNon_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1359 """native ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
1361 def test_ipsec(self):
1362 """native ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
1366 class Test_native_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1367 """native ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
1369 def test_ipsec(self):
1370 """native ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
1374 class Test_native_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1375 """native ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
1377 def test_ipsec(self):
1378 """native ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
1382 class Test_native_ESNon_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1383 """native ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
1385 def test_ipsec(self):
1386 """native ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
1390 class Test_native_ESNon_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1391 """native ESNon ARoff NONE/SHA1-96 IPSec test"""
1393 def test_ipsec(self):
1394 """native ESNon ARoff NONE/SHA1-96 IPSec test"""
1398 class Test_native_ESNon_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1399 """native ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
1401 def test_ipsec(self):
1402 """native ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
1406 class Test_native_ESNon_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1407 """native ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
1409 def test_ipsec(self):
1410 """native ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
1414 class Test_native_ESNon_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1415 """native ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
1417 def test_ipsec(self):
1418 """native ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
1422 class Test_native_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1423 """native ESNoff ARon AES-GCM-128/NONE IPSec test"""
1425 def test_ipsec(self):
1426 """native ESNoff ARon AES-GCM-128/NONE IPSec test"""
1430 class Test_native_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1431 """native ESNoff ARon AES-GCM-192/NONE IPSec test"""
1433 def test_ipsec(self):
1434 """native ESNoff ARon AES-GCM-192/NONE IPSec test"""
1438 class Test_native_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1439 """native ESNoff ARon AES-GCM-256/NONE IPSec test"""
1441 def test_ipsec(self):
1442 """native ESNoff ARon AES-GCM-256/NONE IPSec test"""
1446 class Test_native_ESNoff_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1447 """native ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
1449 def test_ipsec(self):
1450 """native ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
1454 class Test_native_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1455 """native ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
1457 def test_ipsec(self):
1458 """native ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
1462 class Test_native_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1463 """native ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
1465 def test_ipsec(self):
1466 """native ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
1470 class Test_native_ESNoff_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1471 """native ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
1473 def test_ipsec(self):
1474 """native ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
1478 class Test_native_ESNoff_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1479 """native ESNoff ARon NONE/SHA1-96 IPSec test"""
1481 def test_ipsec(self):
1482 """native ESNoff ARon NONE/SHA1-96 IPSec test"""
1486 class Test_native_ESNoff_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1487 """native ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
1489 def test_ipsec(self):
1490 """native ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
1494 class Test_native_ESNoff_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1495 """native ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
1497 def test_ipsec(self):
1498 """native ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
1502 class Test_native_ESNoff_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1503 """native ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
1505 def test_ipsec(self):
1506 """native ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
1510 class Test_native_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1511 """native ESNoff ARoff AES-GCM-128/NONE IPSec test"""
1513 def test_ipsec(self):
1514 """native ESNoff ARoff AES-GCM-128/NONE IPSec test"""
1518 class Test_native_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1519 """native ESNoff ARoff AES-GCM-192/NONE IPSec test"""
1521 def test_ipsec(self):
1522 """native ESNoff ARoff AES-GCM-192/NONE IPSec test"""
1526 class Test_native_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1527 """native ESNoff ARoff AES-GCM-256/NONE IPSec test"""
1529 def test_ipsec(self):
1530 """native ESNoff ARoff AES-GCM-256/NONE IPSec test"""
1534 class Test_native_ESNoff_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1535 """native ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
1537 def test_ipsec(self):
1538 """native ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
1542 class Test_native_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1543 """native ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
1545 def test_ipsec(self):
1546 """native ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
1550 class Test_native_ESNoff_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1551 """native ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
1553 def test_ipsec(self):
1554 """native ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
1558 class Test_native_ESNoff_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1559 """native ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
1561 def test_ipsec(self):
1562 """native ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
1566 class Test_native_ESNoff_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1567 """native ESNoff ARoff NONE/SHA1-96 IPSec test"""
1569 def test_ipsec(self):
1570 """native ESNoff ARoff NONE/SHA1-96 IPSec test"""
1574 class Test_native_ESNoff_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1575 """native ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
1577 def test_ipsec(self):
1578 """native ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
1582 class Test_native_ESNoff_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1583 """native ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
1585 def test_ipsec(self):
1586 """native ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
1590 class Test_native_ESNoff_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1591 """native ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
1593 def test_ipsec(self):
1594 """native ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
1598 class Test_ipsecmb_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1599 """ipsecmb ESNon ARon AES-GCM-128/NONE IPSec test"""
1601 def test_ipsec(self):
1602 """ipsecmb ESNon ARon AES-GCM-128/NONE IPSec test"""
1606 class Test_ipsecmb_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1607 """ipsecmb ESNon ARon AES-GCM-192/NONE IPSec test"""
1609 def test_ipsec(self):
1610 """ipsecmb ESNon ARon AES-GCM-192/NONE IPSec test"""
1614 class Test_ipsecmb_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1615 """ipsecmb ESNon ARon AES-GCM-256/NONE IPSec test"""
1617 def test_ipsec(self):
1618 """ipsecmb ESNon ARon AES-GCM-256/NONE IPSec test"""
1622 class Test_ipsecmb_ESNon_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1623 """ipsecmb ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1625 def test_ipsec(self):
1626 """ipsecmb ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1630 class Test_ipsecmb_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1631 """ipsecmb ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1633 def test_ipsec(self):
1634 """ipsecmb ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1638 class Test_ipsecmb_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1639 """ipsecmb ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1641 def test_ipsec(self):
1642 """ipsecmb ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1646 class Test_ipsecmb_ESNon_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1647 """ipsecmb ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
1649 def test_ipsec(self):
1650 """ipsecmb ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
1654 class Test_ipsecmb_ESNon_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1655 """ipsecmb ESNon ARon NONE/SHA1-96 IPSec test"""
1657 def test_ipsec(self):
1658 """ipsecmb ESNon ARon NONE/SHA1-96 IPSec test"""
1662 class Test_ipsecmb_ESNon_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1663 """ipsecmb ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
1665 def test_ipsec(self):
1666 """ipsecmb ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
1670 class Test_ipsecmb_ESNon_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1671 """ipsecmb ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
1673 def test_ipsec(self):
1674 """ipsecmb ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
1678 class Test_ipsecmb_ESNon_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1679 """ipsecmb ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
1681 def test_ipsec(self):
1682 """ipsecmb ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
1686 class Test_ipsecmb_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1687 """ipsecmb ESNon ARoff AES-GCM-128/NONE IPSec test"""
1689 def test_ipsec(self):
1690 """ipsecmb ESNon ARoff AES-GCM-128/NONE IPSec test"""
1694 class Test_ipsecmb_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1695 """ipsecmb ESNon ARoff AES-GCM-192/NONE IPSec test"""
1697 def test_ipsec(self):
1698 """ipsecmb ESNon ARoff AES-GCM-192/NONE IPSec test"""
1702 class Test_ipsecmb_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1703 """ipsecmb ESNon ARoff AES-GCM-256/NONE IPSec test"""
1705 def test_ipsec(self):
1706 """ipsecmb ESNon ARoff AES-GCM-256/NONE IPSec test"""
1710 class Test_ipsecmb_ESNon_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1711 """ipsecmb ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
1713 def test_ipsec(self):
1714 """ipsecmb ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
1718 class Test_ipsecmb_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1719 """ipsecmb ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
1721 def test_ipsec(self):
1722 """ipsecmb ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
1726 class Test_ipsecmb_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1727 """ipsecmb ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
1729 def test_ipsec(self):
1730 """ipsecmb ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
1734 class Test_ipsecmb_ESNon_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1735 """ipsecmb ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
1737 def test_ipsec(self):
1738 """ipsecmb ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
1742 class Test_ipsecmb_ESNon_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1743 """ipsecmb ESNon ARoff NONE/SHA1-96 IPSec test"""
1745 def test_ipsec(self):
1746 """ipsecmb ESNon ARoff NONE/SHA1-96 IPSec test"""
1750 class Test_ipsecmb_ESNon_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1751 """ipsecmb ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
1753 def test_ipsec(self):
1754 """ipsecmb ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
1758 class Test_ipsecmb_ESNon_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1759 """ipsecmb ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
1761 def test_ipsec(self):
1762 """ipsecmb ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
1766 class Test_ipsecmb_ESNon_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1767 """ipsecmb ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
1769 def test_ipsec(self):
1770 """ipsecmb ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
1774 class Test_ipsecmb_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1775 """ipsecmb ESNoff ARon AES-GCM-128/NONE IPSec test"""
1777 def test_ipsec(self):
1778 """ipsecmb ESNoff ARon AES-GCM-128/NONE IPSec test"""
1782 class Test_ipsecmb_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1783 """ipsecmb ESNoff ARon AES-GCM-192/NONE IPSec test"""
1785 def test_ipsec(self):
1786 """ipsecmb ESNoff ARon AES-GCM-192/NONE IPSec test"""
1790 class Test_ipsecmb_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1791 """ipsecmb ESNoff ARon AES-GCM-256/NONE IPSec test"""
1793 def test_ipsec(self):
1794 """ipsecmb ESNoff ARon AES-GCM-256/NONE IPSec test"""
1798 class Test_ipsecmb_ESNoff_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1799 """ipsecmb ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
1801 def test_ipsec(self):
1802 """ipsecmb ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
1806 class Test_ipsecmb_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1807 """ipsecmb ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
1809 def test_ipsec(self):
1810 """ipsecmb ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
1814 class Test_ipsecmb_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1815 """ipsecmb ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
1817 def test_ipsec(self):
1818 """ipsecmb ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
1822 class Test_ipsecmb_ESNoff_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1823 """ipsecmb ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
1825 def test_ipsec(self):
1826 """ipsecmb ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
1830 class Test_ipsecmb_ESNoff_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
1831 """ipsecmb ESNoff ARon NONE/SHA1-96 IPSec test"""
1833 def test_ipsec(self):
1834 """ipsecmb ESNoff ARon NONE/SHA1-96 IPSec test"""
1838 class Test_ipsecmb_ESNoff_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1839 """ipsecmb ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
1841 def test_ipsec(self):
1842 """ipsecmb ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
1846 class Test_ipsecmb_ESNoff_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1847 """ipsecmb ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
1849 def test_ipsec(self):
1850 """ipsecmb ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
1854 class Test_ipsecmb_ESNoff_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1855 """ipsecmb ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
1857 def test_ipsec(self):
1858 """ipsecmb ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
1862 class Test_ipsecmb_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
1863 """ipsecmb ESNoff ARoff AES-GCM-128/NONE IPSec test"""
1865 def test_ipsec(self):
1866 """ipsecmb ESNoff ARoff AES-GCM-128/NONE IPSec test"""
1870 class Test_ipsecmb_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
1871 """ipsecmb ESNoff ARoff AES-GCM-192/NONE IPSec test"""
1873 def test_ipsec(self):
1874 """ipsecmb ESNoff ARoff AES-GCM-192/NONE IPSec test"""
1878 class Test_ipsecmb_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
1879 """ipsecmb ESNoff ARoff AES-GCM-256/NONE IPSec test"""
1881 def test_ipsec(self):
1882 """ipsecmb ESNoff ARoff AES-GCM-256/NONE IPSec test"""
1886 class Test_ipsecmb_ESNoff_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1887 """ipsecmb ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
1889 def test_ipsec(self):
1890 """ipsecmb ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
1894 class Test_ipsecmb_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1895 """ipsecmb ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
1897 def test_ipsec(self):
1898 """ipsecmb ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
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 class Test_ipsecmb_ESNoff_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1911 """ipsecmb ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
1913 def test_ipsec(self):
1914 """ipsecmb ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
1918 class Test_ipsecmb_ESNoff_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
1919 """ipsecmb ESNoff ARoff NONE/SHA1-96 IPSec test"""
1921 def test_ipsec(self):
1922 """ipsecmb ESNoff ARoff NONE/SHA1-96 IPSec test"""
1926 class Test_ipsecmb_ESNoff_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
1927 """ipsecmb ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
1929 def test_ipsec(self):
1930 """ipsecmb ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
1934 class Test_ipsecmb_ESNoff_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
1935 """ipsecmb ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
1937 def test_ipsec(self):
1938 """ipsecmb ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
1942 class Test_ipsecmb_ESNoff_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
1943 """ipsecmb ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
1945 def test_ipsec(self):
1946 """ipsecmb ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
1950 class Test_openssl_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
1951 """openssl ESNon ARon AES-GCM-128/NONE IPSec test"""
1953 def test_ipsec(self):
1954 """openssl ESNon ARon AES-GCM-128/NONE IPSec test"""
1958 class Test_openssl_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
1959 """openssl ESNon ARon AES-GCM-192/NONE IPSec test"""
1961 def test_ipsec(self):
1962 """openssl ESNon ARon AES-GCM-192/NONE IPSec test"""
1966 class Test_openssl_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
1967 """openssl ESNon ARon AES-GCM-256/NONE IPSec test"""
1969 def test_ipsec(self):
1970 """openssl ESNon ARon AES-GCM-256/NONE IPSec test"""
1974 class Test_openssl_ESNon_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
1975 """openssl ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1977 def test_ipsec(self):
1978 """openssl ESNon ARon AES-CBC-128/MD5-96 IPSec test"""
1982 class Test_openssl_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
1983 """openssl ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1985 def test_ipsec(self):
1986 """openssl ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
1990 class Test_openssl_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
1991 """openssl ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1993 def test_ipsec(self):
1994 """openssl ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
1998 class Test_openssl_ESNon_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
1999 """openssl ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
2001 def test_ipsec(self):
2002 """openssl ESNon ARon 3DES-CBC/SHA1-96 IPSec test"""
2006 class Test_openssl_ESNon_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
2007 """openssl ESNon ARon NONE/SHA1-96 IPSec test"""
2009 def test_ipsec(self):
2010 """openssl ESNon ARon NONE/SHA1-96 IPSec test"""
2014 class Test_openssl_ESNon_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2015 """openssl ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
2017 def test_ipsec(self):
2018 """openssl ESNon ARon AES-CTR-128/SHA1-96 IPSec test"""
2022 class Test_openssl_ESNon_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2023 """openssl ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
2025 def test_ipsec(self):
2026 """openssl ESNon ARon AES-CTR-192/SHA1-96 IPSec test"""
2030 class Test_openssl_ESNon_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2031 """openssl ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
2033 def test_ipsec(self):
2034 """openssl ESNon ARon AES-CTR-256/SHA1-96 IPSec test"""
2038 class Test_openssl_ESNon_ARon_AES_NULL_GMAC_128_NONE(RunTestIpsecEspAll):
2039 """openssl ESNon ARon AES-NULL-GMAC-128/NONE IPSec test"""
2041 def test_ipsec(self):
2042 """openssl ESNon ARon AES-NULL-GMAC-128/NONE IPSec test"""
2046 class Test_openssl_ESNon_ARon_AES_NULL_GMAC_192_NONE(RunTestIpsecEspAll):
2047 """openssl ESNon ARon AES-NULL-GMAC-192/NONE IPSec test"""
2049 def test_ipsec(self):
2050 """openssl ESNon ARon AES-NULL-GMAC-192/NONE IPSec test"""
2054 class Test_openssl_ESNon_ARon_AES_NULL_GMAC_256_NONE(RunTestIpsecEspAll):
2055 """openssl ESNon ARon AES-NULL-GMAC-256/NONE IPSec test"""
2057 def test_ipsec(self):
2058 """openssl ESNon ARon AES-NULL-GMAC-256/NONE IPSec test"""
2062 class Test_openssl_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2063 """openssl ESNon ARoff AES-GCM-128/NONE IPSec test"""
2065 def test_ipsec(self):
2066 """openssl ESNon ARoff AES-GCM-128/NONE IPSec test"""
2070 class Test_openssl_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2071 """openssl ESNon ARoff AES-GCM-192/NONE IPSec test"""
2073 def test_ipsec(self):
2074 """openssl ESNon ARoff AES-GCM-192/NONE IPSec test"""
2078 class Test_openssl_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2079 """openssl ESNon ARoff AES-GCM-256/NONE IPSec test"""
2081 def test_ipsec(self):
2082 """openssl ESNon ARoff AES-GCM-256/NONE IPSec test"""
2086 class Test_openssl_ESNon_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
2087 """openssl ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
2089 def test_ipsec(self):
2090 """openssl ESNon ARoff AES-CBC-128/MD5-96 IPSec test"""
2094 class Test_openssl_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2095 """openssl ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
2097 def test_ipsec(self):
2098 """openssl ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
2102 class Test_openssl_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2103 """openssl ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
2105 def test_ipsec(self):
2106 """openssl ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
2110 class Test_openssl_ESNon_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
2111 """openssl ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
2113 def test_ipsec(self):
2114 """openssl ESNon ARoff 3DES-CBC/SHA1-96 IPSec test"""
2118 class Test_openssl_ESNon_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
2119 """openssl ESNon ARoff NONE/SHA1-96 IPSec test"""
2121 def test_ipsec(self):
2122 """openssl ESNon ARoff NONE/SHA1-96 IPSec test"""
2126 class Test_openssl_ESNon_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2127 """openssl ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
2129 def test_ipsec(self):
2130 """openssl ESNon ARoff AES-CTR-128/SHA1-96 IPSec test"""
2134 class Test_openssl_ESNon_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2135 """openssl ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
2137 def test_ipsec(self):
2138 """openssl ESNon ARoff AES-CTR-192/SHA1-96 IPSec test"""
2142 class Test_openssl_ESNon_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2143 """openssl ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
2145 def test_ipsec(self):
2146 """openssl ESNon ARoff AES-CTR-256/SHA1-96 IPSec test"""
2150 class Test_openssl_ESNon_ARoff_AES_NULL_GMAC_128_NONE(RunTestIpsecEspAll):
2151 """openssl ESNon ARoff AES-NULL-GMAC-128/NONE IPSec test"""
2153 def test_ipsec(self):
2154 """openssl ESNon ARoff AES-NULL-GMAC-128/NONE IPSec test"""
2158 class Test_openssl_ESNon_ARoff_AES_NULL_GMAC_192_NONE(RunTestIpsecEspAll):
2159 """openssl ESNon ARoff AES-NULL-GMAC-192/NONE IPSec test"""
2161 def test_ipsec(self):
2162 """openssl ESNon ARoff AES-NULL-GMAC-192/NONE IPSec test"""
2166 class Test_openssl_ESNon_ARoff_AES_NULL_GMAC_256_NONE(RunTestIpsecEspAll):
2167 """openssl ESNon ARoff AES-NULL-GMAC-256/NONE IPSec test"""
2169 def test_ipsec(self):
2170 """openssl ESNon ARoff AES-NULL-GMAC-256/NONE IPSec test"""
2174 class Test_openssl_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
2175 """openssl ESNoff ARon AES-GCM-128/NONE IPSec test"""
2177 def test_ipsec(self):
2178 """openssl ESNoff ARon AES-GCM-128/NONE IPSec test"""
2182 class Test_openssl_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
2183 """openssl ESNoff ARon AES-GCM-192/NONE IPSec test"""
2185 def test_ipsec(self):
2186 """openssl ESNoff ARon AES-GCM-192/NONE IPSec test"""
2190 class Test_openssl_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
2191 """openssl ESNoff ARon AES-GCM-256/NONE IPSec test"""
2193 def test_ipsec(self):
2194 """openssl ESNoff ARon AES-GCM-256/NONE IPSec test"""
2198 class Test_openssl_ESNoff_ARon_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
2199 """openssl ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
2201 def test_ipsec(self):
2202 """openssl ESNoff ARon AES-CBC-128/MD5-96 IPSec test"""
2206 class Test_openssl_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2207 """openssl ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
2209 def test_ipsec(self):
2210 """openssl ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
2214 class Test_openssl_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2215 """openssl ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
2217 def test_ipsec(self):
2218 """openssl ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
2222 class Test_openssl_ESNoff_ARon_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
2223 """openssl ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
2225 def test_ipsec(self):
2226 """openssl ESNoff ARon 3DES-CBC/SHA1-96 IPSec test"""
2230 class Test_openssl_ESNoff_ARon_NONE_SHA1_96(RunTestIpsecEspAll):
2231 """openssl ESNoff ARon NONE/SHA1-96 IPSec test"""
2233 def test_ipsec(self):
2234 """openssl ESNoff ARon NONE/SHA1-96 IPSec test"""
2238 class Test_openssl_ESNoff_ARon_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2239 """openssl ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
2241 def test_ipsec(self):
2242 """openssl ESNoff ARon AES-CTR-128/SHA1-96 IPSec test"""
2246 class Test_openssl_ESNoff_ARon_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2247 """openssl ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
2249 def test_ipsec(self):
2250 """openssl ESNoff ARon AES-CTR-192/SHA1-96 IPSec test"""
2254 class Test_openssl_ESNoff_ARon_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2255 """openssl ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
2257 def test_ipsec(self):
2258 """openssl ESNoff ARon AES-CTR-256/SHA1-96 IPSec test"""
2262 class Test_openssl_ESNoff_ARon_AES_NULL_GMAC_128_NONE(RunTestIpsecEspAll):
2263 """openssl ESNoff ARon AES-NULL-GMAC-128/NONE IPSec test"""
2265 def test_ipsec(self):
2266 """openssl ESNoff ARon AES-NULL-GMAC-128/NONE IPSec test"""
2270 class Test_openssl_ESNoff_ARon_AES_NULL_GMAC_192_NONE(RunTestIpsecEspAll):
2271 """openssl ESNoff ARon AES-NULL-GMAC-192/NONE IPSec test"""
2273 def test_ipsec(self):
2274 """openssl ESNoff ARon AES-NULL-GMAC-192/NONE IPSec test"""
2278 class Test_openssl_ESNoff_ARon_AES_NULL_GMAC_256_NONE(RunTestIpsecEspAll):
2279 """openssl ESNoff ARon AES-NULL-GMAC-256/NONE IPSec test"""
2281 def test_ipsec(self):
2282 """openssl ESNoff ARon AES-NULL-GMAC-256/NONE IPSec test"""
2286 class Test_openssl_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2287 """openssl ESNoff ARoff AES-GCM-128/NONE IPSec test"""
2289 def test_ipsec(self):
2290 """openssl ESNoff ARoff AES-GCM-128/NONE IPSec test"""
2294 class Test_openssl_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2295 """openssl ESNoff ARoff AES-GCM-192/NONE IPSec test"""
2297 def test_ipsec(self):
2298 """openssl ESNoff ARoff AES-GCM-192/NONE IPSec test"""
2302 class Test_openssl_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2303 """openssl ESNoff ARoff AES-GCM-256/NONE IPSec test"""
2305 def test_ipsec(self):
2306 """openssl ESNoff ARoff AES-GCM-256/NONE IPSec test"""
2310 class Test_openssl_ESNoff_ARoff_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
2311 """openssl ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
2313 def test_ipsec(self):
2314 """openssl ESNoff ARoff AES-CBC-128/MD5-96 IPSec test"""
2318 class Test_openssl_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2319 """openssl ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
2321 def test_ipsec(self):
2322 """openssl ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
2326 class Test_openssl_ESNoff_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2327 """openssl ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
2329 def test_ipsec(self):
2330 """openssl ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
2334 class Test_openssl_ESNoff_ARoff_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
2335 """openssl ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
2337 def test_ipsec(self):
2338 """openssl ESNoff ARoff 3DES-CBC/SHA1-96 IPSec test"""
2342 class Test_openssl_ESNoff_ARoff_NONE_SHA1_96(RunTestIpsecEspAll):
2343 """openssl ESNoff ARoff NONE/SHA1-96 IPSec test"""
2345 def test_ipsec(self):
2346 """openssl ESNoff ARoff NONE/SHA1-96 IPSec test"""
2350 class Test_openssl_ESNoff_ARoff_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
2351 """openssl ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
2353 def test_ipsec(self):
2354 """openssl ESNoff ARoff AES-CTR-128/SHA1-96 IPSec test"""
2358 class Test_openssl_ESNoff_ARoff_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
2359 """openssl ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
2361 def test_ipsec(self):
2362 """openssl ESNoff ARoff AES-CTR-192/SHA1-96 IPSec test"""
2366 class Test_openssl_ESNoff_ARoff_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
2367 """openssl ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
2369 def test_ipsec(self):
2370 """openssl ESNoff ARoff AES-CTR-256/SHA1-96 IPSec test"""
2374 class Test_openssl_ESNoff_ARoff_AES_NULL_GMAC_128_NONE(RunTestIpsecEspAll):
2375 """openssl ESNoff ARoff AES-NULL-GMAC-128/NONE IPSec test"""
2377 def test_ipsec(self):
2378 """openssl ESNoff ARoff AES-NULL-GMAC-128/NONE IPSec test"""
2382 class Test_openssl_ESNoff_ARoff_AES_NULL_GMAC_192_NONE(RunTestIpsecEspAll):
2383 """openssl ESNoff ARoff AES-NULL-GMAC-192/NONE IPSec test"""
2385 def test_ipsec(self):
2386 """openssl ESNoff ARoff AES-NULL-GMAC-192/NONE IPSec test"""
2390 class Test_openssl_ESNoff_ARoff_AES_NULL_GMAC_256_NONE(RunTestIpsecEspAll):
2391 """openssl ESNoff ARoff AES-NULL-GMAC-256/NONE IPSec test"""
2393 def test_ipsec(self):
2394 """openssl ESNoff ARoff AES-NULL-GMAC-256/NONE IPSec test"""
2398 class Test_async_ESNon_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
2399 """async ESNon ARon AES-GCM-128/NONE IPSec test"""
2401 def test_ipsec(self):
2402 """async ESNon ARon AES-GCM-128/NONE IPSec test"""
2406 class Test_async_ESNon_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
2407 """async ESNon ARon AES-GCM-192/NONE IPSec test"""
2409 def test_ipsec(self):
2410 """async ESNon ARon AES-GCM-192/NONE IPSec test"""
2414 class Test_async_ESNon_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
2415 """async ESNon ARon AES-GCM-256/NONE IPSec test"""
2417 def test_ipsec(self):
2418 """async ESNon ARon AES-GCM-256/NONE IPSec test"""
2422 class Test_async_ESNon_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2423 """async ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
2425 def test_ipsec(self):
2426 """async ESNon ARon AES-CBC-192/SHA1-96 IPSec test"""
2430 class Test_async_ESNon_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2431 """async ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
2433 def test_ipsec(self):
2434 """async ESNon ARon AES-CBC-256/SHA1-96 IPSec test"""
2438 class Test_async_ESNon_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2439 """async ESNon ARoff AES-GCM-128/NONE IPSec test"""
2441 def test_ipsec(self):
2442 """async ESNon ARoff AES-GCM-128/NONE IPSec test"""
2446 class Test_async_ESNon_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2447 """async ESNon ARoff AES-GCM-192/NONE IPSec test"""
2449 def test_ipsec(self):
2450 """async ESNon ARoff AES-GCM-192/NONE IPSec test"""
2454 class Test_async_ESNon_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2455 """async ESNon ARoff AES-GCM-256/NONE IPSec test"""
2457 def test_ipsec(self):
2458 """async ESNon ARoff AES-GCM-256/NONE IPSec test"""
2462 class Test_async_ESNon_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2463 """async ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
2465 def test_ipsec(self):
2466 """async ESNon ARoff AES-CBC-192/SHA1-96 IPSec test"""
2470 class Test_async_ESNon_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2471 """async ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
2473 def test_ipsec(self):
2474 """async ESNon ARoff AES-CBC-256/SHA1-96 IPSec test"""
2478 class Test_async_ESNoff_ARon_AES_GCM_128_NONE(RunTestIpsecEspAll):
2479 """async ESNoff ARon AES-GCM-128/NONE IPSec test"""
2481 def test_ipsec(self):
2482 """async ESNoff ARon AES-GCM-128/NONE IPSec test"""
2486 class Test_async_ESNoff_ARon_AES_GCM_192_NONE(RunTestIpsecEspAll):
2487 """async ESNoff ARon AES-GCM-192/NONE IPSec test"""
2489 def test_ipsec(self):
2490 """async ESNoff ARon AES-GCM-192/NONE IPSec test"""
2494 class Test_async_ESNoff_ARon_AES_GCM_256_NONE(RunTestIpsecEspAll):
2495 """async ESNoff ARon AES-GCM-256/NONE IPSec test"""
2497 def test_ipsec(self):
2498 """async ESNoff ARon AES-GCM-256/NONE IPSec test"""
2502 class Test_async_ESNoff_ARon_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2503 """async ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
2505 def test_ipsec(self):
2506 """async ESNoff ARon AES-CBC-192/SHA1-96 IPSec test"""
2510 class Test_async_ESNoff_ARon_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2511 """async ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
2513 def test_ipsec(self):
2514 """async ESNoff ARon AES-CBC-256/SHA1-96 IPSec test"""
2518 class Test_async_ESNoff_ARoff_AES_GCM_128_NONE(RunTestIpsecEspAll):
2519 """async ESNoff ARoff AES-GCM-128/NONE IPSec test"""
2521 def test_ipsec(self):
2522 """async ESNoff ARoff AES-GCM-128/NONE IPSec test"""
2526 class Test_async_ESNoff_ARoff_AES_GCM_192_NONE(RunTestIpsecEspAll):
2527 """async ESNoff ARoff AES-GCM-192/NONE IPSec test"""
2529 def test_ipsec(self):
2530 """async ESNoff ARoff AES-GCM-192/NONE IPSec test"""
2534 class Test_async_ESNoff_ARoff_AES_GCM_256_NONE(RunTestIpsecEspAll):
2535 """async ESNoff ARoff AES-GCM-256/NONE IPSec test"""
2537 def test_ipsec(self):
2538 """async ESNoff ARoff AES-GCM-256/NONE IPSec test"""
2542 class Test_async_ESNoff_ARoff_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
2543 """async ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
2545 def test_ipsec(self):
2546 """async ESNoff ARoff AES-CBC-192/SHA1-96 IPSec test"""
2550 class Test_async_ESNoff_ARoff_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
2551 """async ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""
2553 def test_ipsec(self):
2554 """async ESNoff ARoff AES-CBC-256/SHA1-96 IPSec test"""