diff --git a/test/test_ipsec_esp.py b/test/test_ipsec_esp.py
index 11d4404..209298a 100644
--- a/test/test_ipsec_esp.py
+++ b/test/test_ipsec_esp.py
@@ -27,13 +27,13 @@
 class ConfigIpsecESP(TemplateIpsec):
     encryption_type = ESP
     tra4_encrypt_node_name = "esp4-encrypt"
-    tra4_decrypt_node_name = "esp4-decrypt"
+    tra4_decrypt_node_name = ["esp4-decrypt", "esp4-decrypt-post"]
     tra6_encrypt_node_name = "esp6-encrypt"
-    tra6_decrypt_node_name = "esp6-decrypt"
+    tra6_decrypt_node_name = ["esp6-decrypt", "esp6-decrypt-post"]
     tun4_encrypt_node_name = "esp4-encrypt"
-    tun4_decrypt_node_name = "esp4-decrypt"
+    tun4_decrypt_node_name = ["esp4-decrypt", "esp4-decrypt-post"]
     tun6_encrypt_node_name = "esp6-encrypt"
-    tun6_decrypt_node_name = "esp6-decrypt"
+    tun6_decrypt_node_name = ["esp6-decrypt", "esp6-decrypt-post"]
 
     @classmethod
     def setUpClass(cls):
@@ -645,6 +645,14 @@
                          IpsecTun4, IpsecTun6):
     """ Ipsec ESP all Algos """
 
+    @classmethod
+    def setUpConstants(cls):
+        test_args = str.split(cls.__doc__, " ")
+        engine = test_args[0]
+        if engine == "async":
+            cls.worker_config = "workers 2"
+        super(RunTestIpsecEspAll, cls).setUpConstants()
+
     def setUp(self):
         super(RunTestIpsecEspAll, self).setUp()
         test_args = str.split(self.__doc__, " ")
@@ -656,6 +664,9 @@
             self.flag = params.flags[1]
 
         self.algo = params.algos[test_args[2]]
+        self.async_mode = False
+        if self.engine == "async":
+            self.async_mode = True
 
     def tearDown(self):
         super(RunTestIpsecEspAll, self).tearDown()
@@ -664,10 +675,12 @@
         self.run_a_test(self.engine, self.flag, self.algo)
 
     def run_a_test(self, engine, flag, algo, payload_size=None):
-        if engine == "ia32":
-            engine = "native"
-        self.vapi.cli("set crypto handler all %s" % engine)
+        if self.async_mode:
+            self.vapi.cli("set ipsec async mode on")
+        else:
+            self.vapi.cli("set crypto handler all %s" % engine)
 
+        self.logger.info(self.vapi.cli("show crypto async status"))
         self.ipv4_params = IPsecIPv4Params()
         self.ipv6_params = IPsecIPv6Params()
 
@@ -685,6 +698,7 @@
             p.salt = algo['salt']
             p.flags = p.flags | flag
             p.outer_flow_label = 243224
+            p.async_mode = self.async_mode
 
         self.reporter.send_keep_alive(self)
 
@@ -747,7 +761,7 @@
 # To generate test classes, do:
 #   grep '# GEN' test_ipsec_esp.py | sed -e 's/# GEN //g' | bash
 #
-# GEN for ENG in ia32 ipsecmb openssl; do \
+# GEN for ENG in native ipsecmb openssl; do \
 # GEN   for FLG in noESN ESN; do for ALG in AES-GCM-128/NONE \
 # GEN     AES-GCM-192/NONE AES-GCM-256/NONE AES-CBC-128/MD5-96 \
 # GEN     AES-CBC-192/SHA1-96 AES-CBC-256/SHA1-96 \
@@ -760,118 +774,129 @@
 # GEN      echo "    def test_ipsec(self):";
 # GEN      echo "        self.run_test()";
 # GEN done; done; done
+#
+# GEN   for FLG in noESN ESN; do for ALG in \
+# GEN     AES-GCM-128/NONE AES-GCM-192/NONE AES-GCM-256/NONE \
+# GEN     AES-CBC-192/SHA1-96 AES-CBC-256/SHA1-96; do \
+# GEN      [[ ${FLG} == "ESN" &&  ${ALG} == *"NONE" ]] && continue
+# GEN      echo -e "\n\nclass Test_async_${FLG}_${ALG}(RunTestIpsecEspAll):" |
+# GEN             sed -e 's/-/_/g' -e 's#/#_#g' ; \
+# GEN      echo '    """'async $FLG $ALG IPSec test'"""' ;
+# GEN      echo "    def test_ipsec(self):";
+# GEN      echo "        self.run_test()";
+# GEN done; done;
 
 
-class Test_ia32_noESN_AES_GCM_128_NONE(RunTestIpsecEspAll):
-    """ia32 noESN AES-GCM-128/NONE IPSec test"""
+class Test_native_noESN_AES_GCM_128_NONE(RunTestIpsecEspAll):
+    """native noESN AES-GCM-128/NONE IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_noESN_AES_GCM_192_NONE(RunTestIpsecEspAll):
-    """ia32 noESN AES-GCM-192/NONE IPSec test"""
+class Test_native_noESN_AES_GCM_192_NONE(RunTestIpsecEspAll):
+    """native noESN AES-GCM-192/NONE IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_noESN_AES_GCM_256_NONE(RunTestIpsecEspAll):
-    """ia32 noESN AES-GCM-256/NONE IPSec test"""
+class Test_native_noESN_AES_GCM_256_NONE(RunTestIpsecEspAll):
+    """native noESN AES-GCM-256/NONE IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_noESN_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
-    """ia32 noESN AES-CBC-128/MD5-96 IPSec test"""
+class Test_native_noESN_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
+    """native noESN AES-CBC-128/MD5-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_noESN_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
-    """ia32 noESN AES-CBC-192/SHA1-96 IPSec test"""
+class Test_native_noESN_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
+    """native noESN AES-CBC-192/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_noESN_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
-    """ia32 noESN AES-CBC-256/SHA1-96 IPSec test"""
+class Test_native_noESN_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
+    """native noESN AES-CBC-256/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_noESN_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
-    """ia32 noESN 3DES-CBC/SHA1-96 IPSec test"""
+class Test_native_noESN_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
+    """native noESN 3DES-CBC/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_noESN_NONE_SHA1_96(RunTestIpsecEspAll):
-    """ia32 noESN NONE/SHA1-96 IPSec test"""
+class Test_native_noESN_NONE_SHA1_96(RunTestIpsecEspAll):
+    """native noESN NONE/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_noESN_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
-    """ia32 noESN AES-CTR-128/SHA1-96 IPSec test"""
+class Test_native_noESN_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
+    """native noESN AES-CTR-128/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_noESN_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
-    """ia32 noESN AES-CTR-192/SHA1-96 IPSec test"""
+class Test_native_noESN_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
+    """native noESN AES-CTR-192/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_noESN_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
-    """ia32 noESN AES-CTR-256/SHA1-96 IPSec test"""
+class Test_native_noESN_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
+    """native noESN AES-CTR-256/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_ESN_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
-    """ia32 ESN AES-CBC-128/MD5-96 IPSec test"""
+class Test_native_ESN_AES_CBC_128_MD5_96(RunTestIpsecEspAll):
+    """native ESN AES-CBC-128/MD5-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_ESN_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
-    """ia32 ESN AES-CBC-192/SHA1-96 IPSec test"""
+class Test_native_ESN_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
+    """native ESN AES-CBC-192/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_ESN_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
-    """ia32 ESN AES-CBC-256/SHA1-96 IPSec test"""
+class Test_native_ESN_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
+    """native ESN AES-CBC-256/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_ESN_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
-    """ia32 ESN 3DES-CBC/SHA1-96 IPSec test"""
+class Test_native_ESN_3DES_CBC_SHA1_96(RunTestIpsecEspAll):
+    """native ESN 3DES-CBC/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_ESN_NONE_SHA1_96(RunTestIpsecEspAll):
-    """ia32 ESN NONE/SHA1-96 IPSec test"""
+class Test_native_ESN_NONE_SHA1_96(RunTestIpsecEspAll):
+    """native ESN NONE/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_ESN_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
-    """ia32 ESN AES-CTR-128/SHA1-96 IPSec test"""
+class Test_native_ESN_AES_CTR_128_SHA1_96(RunTestIpsecEspAll):
+    """native ESN AES-CTR-128/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_ESN_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
-    """ia32 ESN AES-CTR-192/SHA1-96 IPSec test"""
+class Test_native_ESN_AES_CTR_192_SHA1_96(RunTestIpsecEspAll):
+    """native ESN AES-CTR-192/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
 
-class Test_ia32_ESN_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
-    """ia32 ESN AES-CTR-256/SHA1-96 IPSec test"""
+class Test_native_ESN_AES_CTR_256_SHA1_96(RunTestIpsecEspAll):
+    """native ESN AES-CTR-256/SHA1-96 IPSec test"""
     def test_ipsec(self):
         self.run_test()
 
@@ -1104,5 +1129,43 @@
         self.run_test()
 
 
-if __name__ == '__main__':
-    unittest.main(testRunner=VppTestRunner)
+class Test_async_noESN_AES_GCM_128_NONE(RunTestIpsecEspAll):
+    """async noESN AES-GCM-128/NONE IPSec test"""
+    def test_ipsec(self):
+        self.run_test()
+
+
+class Test_async_noESN_AES_GCM_192_NONE(RunTestIpsecEspAll):
+    """async noESN AES-GCM-192/NONE IPSec test"""
+    def test_ipsec(self):
+        self.run_test()
+
+
+class Test_async_noESN_AES_GCM_256_NONE(RunTestIpsecEspAll):
+    """async noESN AES-GCM-256/NONE IPSec test"""
+    def test_ipsec(self):
+        self.run_test()
+
+
+class Test_async_noESN_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
+    """async noESN AES-CBC-192/SHA1-96 IPSec test"""
+    def test_ipsec(self):
+        self.run_test()
+
+
+class Test_async_noESN_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
+    """async noESN AES-CBC-256/SHA1-96 IPSec test"""
+    def test_ipsec(self):
+        self.run_test()
+
+
+class Test_async_ESN_AES_CBC_192_SHA1_96(RunTestIpsecEspAll):
+    """async ESN AES-CBC-192/SHA1-96 IPSec test"""
+    def test_ipsec(self):
+        self.run_test()
+
+
+class Test_async_ESN_AES_CBC_256_SHA1_96(RunTestIpsecEspAll):
+    """async ESN AES-CBC-256/SHA1-96 IPSec test"""
+    def test_ipsec(self):
+        self.run_test()
