examples/ipsec-secgw: move global array from header
[dpdk.git] / examples / ipsec-secgw / ipsec.h
index 2fc60ff..2c36408 100644 (file)
 
 #define MAX_DIGEST_SIZE 32 /* Bytes -- 256 bits */
 
-#define IPSEC_OFFLOAD_ESN_SOFTLIMIT 0xffffff00
-
 #define IV_OFFSET              (sizeof(struct rte_crypto_op) + \
                                sizeof(struct rte_crypto_sym_op))
 
-#define uint32_t_to_char(ip, a, b, c, d) do {\
-               *a = (uint8_t)(ip >> 24 & 0xff);\
-               *b = (uint8_t)(ip >> 16 & 0xff);\
-               *c = (uint8_t)(ip >> 8 & 0xff);\
-               *d = (uint8_t)(ip & 0xff);\
-       } while (0)
-
 #define DEFAULT_MAX_CATEGORIES 1
 
 #define INVALID_SPI (0)
@@ -82,6 +73,7 @@ struct app_sa_prm {
        uint32_t window_size; /* replay window size */
        uint32_t enable_esn;  /* enable/disable ESN support */
        uint32_t cache_sz;      /* per lcore SA cache size */
+       uint32_t udp_encap;   /* enable/disable UDP Encapsulation */
        uint64_t flags;       /* rte_ipsec_sa_prm.flags */
 };
 
@@ -143,7 +135,11 @@ struct ipsec_sa {
                struct rte_security_ipsec_xform *sec_xform;
        };
        enum rte_security_ipsec_sa_direction direction;
+       uint8_t udp_encap;
        uint16_t portid;
+       uint16_t mss;
+       uint8_t fdir_qid;
+       uint8_t fdir_flag;
 
 #define MAX_RTE_FLOW_PATTERN (4)
 #define MAX_RTE_FLOW_ACTIONS (3)
@@ -408,5 +404,13 @@ create_lookaside_session(struct ipsec_ctx *ipsec_ctx, struct ipsec_sa *sa,
 int
 create_inline_session(struct socket_ctx *skt_ctx, struct ipsec_sa *sa,
                struct rte_ipsec_session *ips);
+int
+check_flow_params(uint16_t fdir_portid, uint8_t fdir_qid);
+
+int
+create_ipsec_esp_flow(struct ipsec_sa *sa);
+
+uint32_t
+get_nb_crypto_sessions(void);
 
 #endif /* __IPSEC_H__ */