OpenIKEv2 is an open source IKEv2 (draft #17 version) implementation written in C++. It is based in three core components:

These libraries can be used by any programmers to develop custom IKEv2 implementations. Please, refer to the libopenike and libopenikev2_impl API in the documentation section to see how to get this.

Why another IKEv2 daemon?

When OpenIKEv2 development started, there wasn't any opensource IKEv2 implementation. As the result of our master tesis, this implementation was designed and its development was started.

Now there are, at least, three more opensource implementations: racoon2, ikev2, and strongSwan. We perfom interoperability test with both, in order to allow that all opensource implementations can collaborate in the future. You can see a comparative table and an interoperability table here.

In addition, the libopenikev2 API allows use IKEv2 protocol inside other applications without running any stand-alone daemon. This allows a more elegant way to use IKEv2 protocol in several advanced scenarios that precise IKEv2 protocol.

Who are we?

We are members of the ANTS research group of the University of Murcia in Spain (UMU). We are: