summaryrefslogtreecommitdiffstats
path: root/test/test_ipsec_tun_if_esp.py
diff options
context:
space:
mode:
authorKlement Sekera <ksekera@cisco.com>2018-05-16 10:52:45 +0200
committerFlorin Coras <florin.coras@gmail.com>2018-06-21 14:50:10 +0000
commita98346f664aae148d26a8e158008b773d73db96f (patch)
tree2a850b1925f3dd70817fb0e41324baef71fd7a05 /test/test_ipsec_tun_if_esp.py
parent56ba844d6a8b8f58b18fe51bf22707b0c37d3a87 (diff)
ipsec: VPP-1316 calculate IP/TCP/UDP inner checksums
Calculate IP/TCP/UDP checksums in software before adding authentication. Change-Id: I3e121cb00aeba667764f39ade8d62170f18f8b6b Signed-off-by: Klement Sekera <ksekera@cisco.com>
Diffstat (limited to 'test/test_ipsec_tun_if_esp.py')
-rw-r--r--test/test_ipsec_tun_if_esp.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/test_ipsec_tun_if_esp.py b/test/test_ipsec_tun_if_esp.py
new file mode 100644
index 00000000000..c260f03b63d
--- /dev/null
+++ b/test/test_ipsec_tun_if_esp.py
@@ -0,0 +1,52 @@
+import unittest
+import socket
+from scapy.layers.ipsec import ESP
+from framework import VppTestRunner
+from template_ipsec import TemplateIpsec, IpsecTunTests, IpsecTcpTests
+from vpp_ipsec_tun_interface import VppIpsecTunInterface
+
+
+class TemplateIpsecTunIfEsp(TemplateIpsec):
+ """ IPsec tunnel interface tests """
+
+ encryption_type = ESP
+
+ @classmethod
+ def setUpClass(cls):
+ super(TemplateIpsecTunIfEsp, cls).setUpClass()
+ cls.tun_if = cls.pg0
+
+ def setUp(self):
+ self.ipsec_tun_if = VppIpsecTunInterface(self, self.pg0,
+ self.vpp_tun_spi,
+ self.scapy_tun_spi,
+ self.crypt_algo_vpp_id,
+ self.crypt_key,
+ self.crypt_key,
+ self.auth_algo_vpp_id,
+ self.auth_key,
+ self.auth_key)
+ self.ipsec_tun_if.add_vpp_config()
+ self.ipsec_tun_if.admin_up()
+ self.ipsec_tun_if.config_ip4()
+ src4 = socket.inet_pton(socket.AF_INET, self.remote_tun_if_host)
+ self.vapi.ip_add_del_route(src4, 32, self.ipsec_tun_if.remote_ip4n)
+
+ def tearDown(self):
+ if not self.vpp_dead:
+ self.vapi.cli("show hardware")
+ super(TemplateIpsecTunIfEsp, self).tearDown()
+
+
+class TestIpsecTunIfEsp1(TemplateIpsecTunIfEsp, IpsecTunTests):
+ """ Ipsec ESP - TUN tests """
+ pass
+
+
+class TestIpsecTunIfEsp2(TemplateIpsecTunIfEsp, IpsecTcpTests):
+ """ Ipsec ESP - TCP tests """
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main(testRunner=VppTestRunner)