X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_ipsec_api.py;h=9c62c87e16d810c1a640c8ff19ae7fb102c7c51f;hb=051579d0f2bf5a408ed8439cfd28831e846389ab;hp=00885ae05b6a88dfbc4fe50f2d7c74b10fe1a936;hpb=7f9b7f9f492d1748d8ba025b3a713058fdb1943d;p=vpp.git diff --git a/test/test_ipsec_api.py b/test/test_ipsec_api.py index 00885ae05b6..9c62c87e16d 100644 --- a/test/test_ipsec_api.py +++ b/test/test_ipsec_api.py @@ -6,7 +6,7 @@ from vpp_papi import VppEnum class IpsecApiTestCase(VppTestCase): - """ IPSec API tests """ + """IPSec API tests""" @classmethod def setUpClass(cls): @@ -22,10 +22,8 @@ class IpsecApiTestCase(VppTestCase): self.pg0.config_ip4() self.pg0.admin_up() - self.vpp_esp_protocol = (VppEnum.vl_api_ipsec_proto_t. - IPSEC_API_PROTO_ESP) - self.vpp_ah_protocol = (VppEnum.vl_api_ipsec_proto_t. - IPSEC_API_PROTO_AH) + self.vpp_esp_protocol = VppEnum.vl_api_ipsec_proto_t.IPSEC_API_PROTO_ESP + self.vpp_ah_protocol = VppEnum.vl_api_ipsec_proto_t.IPSEC_API_PROTO_AH self.ipv4_params = IPsecIPv4Params() def tearDown(self): @@ -34,32 +32,34 @@ class IpsecApiTestCase(VppTestCase): super(IpsecApiTestCase, self).tearDown() def test_backend_dump(self): - """ backend dump """ + """backend dump""" d = self.vapi.ipsec_backend_dump() self.assert_equal(len(d), 2, "number of ipsec backends in dump") - self.assert_equal(d[0].protocol, self.vpp_ah_protocol, - "ipsec protocol in dump entry") + self.assert_equal( + d[0].protocol, self.vpp_ah_protocol, "ipsec protocol in dump entry" + ) self.assert_equal(d[0].index, 0, "index in dump entry") self.assert_equal(d[0].active, 1, "active flag in dump entry") - self.assert_equal(d[1].protocol, self.vpp_esp_protocol, - "ipsec protocol in dump entry") + self.assert_equal( + d[1].protocol, self.vpp_esp_protocol, "ipsec protocol in dump entry" + ) self.assert_equal(d[1].index, 0, "index in dump entry") self.assert_equal(d[1].active, 1, "active flag in dump entry") def test_select_valid_backend(self): - """ select valid backend """ + """select valid backend""" self.vapi.ipsec_select_backend(self.vpp_ah_protocol, 0) self.vapi.ipsec_select_backend(self.vpp_esp_protocol, 0) def test_select_invalid_backend(self): - """ select invalid backend """ + """select invalid backend""" with self.vapi.assert_negative_api_retval(): self.vapi.ipsec_select_backend(self.vpp_ah_protocol, 200) with self.vapi.assert_negative_api_retval(): self.vapi.ipsec_select_backend(self.vpp_esp_protocol, 200) def test_select_backend_in_use(self): - """ attempt to change backend while sad configured """ + """attempt to change backend while sad configured""" params = self.ipv4_params addr_type = params.addr_type is_ipv6 = params.is_ipv6 @@ -70,26 +70,51 @@ class IpsecApiTestCase(VppTestCase): crypt_algo_vpp_id = params.crypt_algo_vpp_id crypt_key = params.crypt_key - self.vapi.ipsec_sad_entry_add_del(scapy_tun_sa_id, scapy_tun_spi, - auth_algo_vpp_id, auth_key, - crypt_algo_vpp_id, crypt_key, - self.vpp_ah_protocol, - self.pg0.local_addr[addr_type], - self.pg0.remote_addr[addr_type]) + self.vapi.ipsec_sad_entry_add_del( + is_add=1, + entry={ + "sad_id": scapy_tun_sa_id, + "spi": scapy_tun_spi, + "integrity_algorithm": auth_algo_vpp_id, + "integrity_key": { + "data": auth_key, + "length": len(auth_key), + }, + "crypto_algorithm": crypt_algo_vpp_id, + "crypto_key": { + "data": crypt_key, + "length": len(crypt_key), + }, + "protocol": self.vpp_ah_protocol, + "tunnel_src": self.pg0.local_addr[addr_type], + "tunnel_dst": self.pg0.remote_addr[addr_type], + }, + ) with self.vapi.assert_negative_api_retval(): - self.vapi.ipsec_select_backend( - protocol=self.vpp_ah_protocol, index=0) - - self.vapi.ipsec_sad_entry_add_del(scapy_tun_sa_id, scapy_tun_spi, - auth_algo_vpp_id, auth_key, - crypt_algo_vpp_id, crypt_key, - self.vpp_ah_protocol, - self.pg0.local_addr[addr_type], - self.pg0.remote_addr[addr_type], - is_add=0) - self.vapi.ipsec_select_backend( - protocol=self.vpp_ah_protocol, index=0) - - -if __name__ == '__main__': + self.vapi.ipsec_select_backend(protocol=self.vpp_ah_protocol, index=0) + + self.vapi.ipsec_sad_entry_add_del( + is_add=0, + entry={ + "sad_id": scapy_tun_sa_id, + "spi": scapy_tun_spi, + "integrity_algorithm": auth_algo_vpp_id, + "integrity_key": { + "data": auth_key, + "length": len(auth_key), + }, + "crypto_algorithm": crypt_algo_vpp_id, + "crypto_key": { + "data": crypt_key, + "length": len(crypt_key), + }, + "protocol": self.vpp_ah_protocol, + "tunnel_src": self.pg0.local_addr[addr_type], + "tunnel_dst": self.pg0.remote_addr[addr_type], + }, + ) + self.vapi.ipsec_select_backend(protocol=self.vpp_ah_protocol, index=0) + + +if __name__ == "__main__": unittest.main(testRunner=VppTestRunner)