dpdk/ipsec: rework plus improved cli commands
[vpp.git] / src / vnet / ipsec / ipsec.h
index 1eff1c3..f11bc56 100644 (file)
@@ -15,6 +15,9 @@
 #ifndef __IPSEC_H__
 #define __IPSEC_H__
 
+#include <vnet/ip/ip.h>
+#include <vnet/feature/feature.h>
+
 #define IPSEC_FLAG_IPSEC_GRE_TUNNEL (1 << 0)
 
 
@@ -63,7 +66,12 @@ typedef enum
   _(1, AES_CBC_128, "aes-cbc-128")  \
   _(2, AES_CBC_192, "aes-cbc-192")  \
   _(3, AES_CBC_256, "aes-cbc-256")  \
-  _(4, AES_GCM_128, "aes-gcm-128")
+  _(4, AES_CTR_128, "aes-ctr-128")  \
+  _(5, AES_CTR_192, "aes-ctr-192")  \
+  _(6, AES_CTR_256, "aes-ctr-256")  \
+  _(7, AES_GCM_128, "aes-gcm-128")  \
+  _(8, AES_GCM_192, "aes-gcm-192")  \
+  _(9, AES_GCM_256, "aes-gcm-256")
 
 typedef enum
 {
@@ -80,8 +88,7 @@ typedef enum
   _(3, SHA_256_96, "sha-256-96")   /* draft-ietf-ipsec-ciph-sha-256-00 */ \
   _(4, SHA_256_128, "sha-256-128") /* RFC4868 */                          \
   _(5, SHA_384_192, "sha-384-192") /* RFC4868 */                          \
-  _(6, SHA_512_256, "sha-512-256") /* RFC4868 */                          \
-  _(7, AES_GCM_128, "aes-gcm-128")     /* RFC4106 */
+  _(6, SHA_512_256, "sha-512-256")     /* RFC4868 */
 
 typedef enum
 {
@@ -236,7 +243,7 @@ typedef struct
 
 typedef struct
 {
-  i32 (*add_del_sa_sess_cb) (u32 sa_index, u8 is_add);
+  clib_error_t *(*add_del_sa_sess_cb) (u32 sa_index, u8 is_add);
   clib_error_t *(*check_support_cb) (ipsec_sa_t * sa);
 } ipsec_main_callbacks_t;