diff options
Diffstat (limited to 'test/test_ipsec_tun_if_esp.py')
-rw-r--r-- | test/test_ipsec_tun_if_esp.py | 53 |
1 files changed, 46 insertions, 7 deletions
diff --git a/test/test_ipsec_tun_if_esp.py b/test/test_ipsec_tun_if_esp.py index 2734908e7a1..06d2c89ebe9 100644 --- a/test/test_ipsec_tun_if_esp.py +++ b/test/test_ipsec_tun_if_esp.py @@ -2,18 +2,19 @@ import unittest import socket from scapy.layers.ipsec import ESP from framework import VppTestRunner -from template_ipsec import TemplateIpsec, IpsecTun4Tests, IpsecTcpTests +from template_ipsec import TemplateIpsec, IpsecTun4Tests, IpsecTun6Tests, \ + IpsecTcpTests from vpp_ipsec_tun_interface import VppIpsecTunInterface -from vpp_ip_route import VppIpRoute, VppRoutePath +from vpp_ip_route import VppIpRoute, VppRoutePath, DpoProto -class TemplateIpsecTunIfEsp(TemplateIpsec): +class TemplateIpsec4TunIfEsp(TemplateIpsec): """ IPsec tunnel interface tests """ encryption_type = ESP def setUp(self): - super(TemplateIpsecTunIfEsp, self).setUp() + super(TemplateIpsec4TunIfEsp, self).setUp() self.tun_if = self.pg0 @@ -34,19 +35,57 @@ class TemplateIpsecTunIfEsp(TemplateIpsec): def tearDown(self): if not self.vpp_dead: self.vapi.cli("show hardware") - super(TemplateIpsecTunIfEsp, self).tearDown() + super(TemplateIpsec4TunIfEsp, self).tearDown() -class TestIpsecTunIfEsp1(TemplateIpsecTunIfEsp, IpsecTun4Tests): +class TestIpsec4TunIfEsp1(TemplateIpsec4TunIfEsp, IpsecTun4Tests): """ Ipsec ESP - TUN tests """ tun4_encrypt_node_name = "esp4-encrypt" tun4_decrypt_node_name = "esp4-decrypt" -class TestIpsecTunIfEsp2(TemplateIpsecTunIfEsp, IpsecTcpTests): +class TestIpsec4TunIfEsp2(TemplateIpsec4TunIfEsp, IpsecTcpTests): """ Ipsec ESP - TCP tests """ pass +class TemplateIpsec6TunIfEsp(TemplateIpsec): + """ IPsec tunnel interface tests """ + + encryption_type = ESP + + def setUp(self): + super(TemplateIpsec6TunIfEsp, self).setUp() + + self.tun_if = self.pg0 + + p = self.ipv6_params + tun_if = VppIpsecTunInterface(self, self.pg0, p.vpp_tun_spi, + p.scapy_tun_spi, p.crypt_algo_vpp_id, + p.crypt_key, p.crypt_key, + p.auth_algo_vpp_id, p.auth_key, + p.auth_key, is_ip6=True) + tun_if.add_vpp_config() + tun_if.admin_up() + tun_if.config_ip6() + + VppIpRoute(self, p.remote_tun_if_host, 32, + [VppRoutePath(tun_if.remote_ip6, + 0xffffffff, + proto=DpoProto.DPO_PROTO_IP6)], + is_ip6=1).add_vpp_config() + + def tearDown(self): + if not self.vpp_dead: + self.vapi.cli("show hardware") + super(TemplateIpsec6TunIfEsp, self).tearDown() + + +class TestIpsec6TunIfEsp1(TemplateIpsec6TunIfEsp, IpsecTun6Tests): + """ Ipsec ESP - TUN tests """ + tun6_encrypt_node_name = "esp6-encrypt" + tun6_decrypt_node_name = "esp6-decrypt" + + if __name__ == '__main__': unittest.main(testRunner=VppTestRunner) |