The current KLIPS1 encapsulation and decapsulation routines make explicit synchronous calls to the 3DES encrypt and decrypt functions. This causes three problems:
A standard API from FreeSWAN KLIPS to algorithm functions (e.g. 3DES-MD5-ESP) would provide for plug and play capabilities for algorithms.
An asynchronous interface would permit multiple processors or hardware accelerators to interface easily as well.
Despite this, the packets must still emerge from the system in the same order that they arrived. That is, they must not be reordered, as this causes inefficiencies for TCP.