examples/ipsec-secgw: support 192/256 AES key sizes
[dpdk.git] / examples / ipsec-secgw / ipsec.h
index ec3d60b..2fc60ff 100644 (file)
 #include <rte_flow.h>
 #include <rte_ipsec.h>
 
-#define RTE_LOGTYPE_IPSEC       RTE_LOGTYPE_USER1
+#include "ipsec-secgw.h"
+
 #define RTE_LOGTYPE_IPSEC_ESP   RTE_LOGTYPE_USER2
 #define RTE_LOGTYPE_IPSEC_IPIP  RTE_LOGTYPE_USER3
 
-#define MAX_PKT_BURST 32
 #define MAX_INFLIGHT 128
 #define MAX_QP_PER_LCORE 256
 
@@ -72,7 +72,7 @@ struct ip_addr {
        } ip;
 };
 
-#define MAX_KEY_SIZE           32
+#define MAX_KEY_SIZE           36
 
 /*
  * application wide SA parameters
@@ -255,21 +255,16 @@ struct cnt_blk {
        uint32_t salt;
        uint64_t iv;
        uint32_t cnt;
-} __attribute__((packed));
-
-struct traffic_type {
-       const uint8_t *data[MAX_PKT_BURST * 2];
-       struct rte_mbuf *pkts[MAX_PKT_BURST * 2];
-       void *saptr[MAX_PKT_BURST * 2];
-       uint32_t res[MAX_PKT_BURST * 2];
-       uint32_t num;
-};
+} __rte_packed;
 
-struct ipsec_traffic {
-       struct traffic_type ipsec;
-       struct traffic_type ip4;
-       struct traffic_type ip6;
-};
+/* Socket ctx */
+extern struct socket_ctx socket_ctx[NB_SOCKETS];
+
+void
+ipsec_poll_mode_worker(void);
+
+int
+ipsec_launch_one_lcore(void *args);
 
 extern struct ipsec_sa *sa_out;
 extern uint32_t nb_sa_out;