X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fipsec-secgw%2Fipsec.h;h=7031e28c4686a19683532444a188d8110d085fa8;hb=8e693616fcb20fc03f9460836dde9c5e5eeff95d;hp=f8f29f9b152ff451350b81055bf261825cb299ae;hpb=9ad50c29d01d0d3e7a1f420178d795a92ca4b682;p=dpdk.git diff --git a/examples/ipsec-secgw/ipsec.h b/examples/ipsec-secgw/ipsec.h index f8f29f9b15..7031e28c46 100644 --- a/examples/ipsec-secgw/ipsec.h +++ b/examples/ipsec-secgw/ipsec.h @@ -28,13 +28,6 @@ #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) @@ -72,7 +65,7 @@ struct ip_addr { } ip; }; -#define MAX_KEY_SIZE 32 +#define MAX_KEY_SIZE 36 /* * application wide SA parameters @@ -144,6 +137,8 @@ struct ipsec_sa { }; enum rte_security_ipsec_sa_direction direction; uint16_t portid; + uint8_t fdir_qid; + uint8_t fdir_flag; #define MAX_RTE_FLOW_PATTERN (4) #define MAX_RTE_FLOW_ACTIONS (3) @@ -255,7 +250,7 @@ struct cnt_blk { uint32_t salt; uint64_t iv; uint32_t cnt; -} __attribute__((packed)); +} __rte_packed; /* Socket ctx */ extern struct socket_ctx socket_ctx[NB_SOCKETS]; @@ -408,5 +403,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__ */