F: lib/librte_gso/
F: doc/guides/prog_guide/generic_segmentation_offload_lib.rst
-IPsec - EXPERIMENTAL
+IPsec
M: Konstantin Ananyev <konstantin.ananyev@intel.com>
T: git://dpdk.org/next/dpdk-next-crypto
F: lib/librte_ipsec/
* vhost: Moved vDPA APIs from experimental to stable.
+* ipsec: ``RTE_SATP_LOG2_NUM`` has been dropped from ``enum`` and
+ subsequently moved ``rte_ipsec`` lib from experimental to stable.
+
* rawdev: Added a structure size parameter to the functions
``rte_rawdev_queue_setup()``, ``rte_rawdev_queue_conf_get()``,
``rte_rawdev_info_get()`` and ``rte_rawdev_configure()``,
*
* RTE IPsec support.
*
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed without prior notice.
- *
* librte_ipsec provides a framework for data-path IPsec protocol
* processing (ESP/AH).
*/
* - Zero if operation completed successfully.
* - -EINVAL if the parameters are invalid.
*/
-__rte_experimental
int
rte_ipsec_session_prepare(struct rte_ipsec_session *ss);
* @return
* Number of successfully processed packets, with error code set in rte_errno.
*/
-__rte_experimental
static inline uint16_t
rte_ipsec_pkt_crypto_prepare(const struct rte_ipsec_session *ss,
struct rte_mbuf *mb[], struct rte_crypto_op *cop[], uint16_t num)
return ss->pkt_func.prepare.async(ss, mb, cop, num);
}
-__rte_experimental
static inline uint16_t
rte_ipsec_pkt_cpu_prepare(const struct rte_ipsec_session *ss,
struct rte_mbuf *mb[], uint16_t num)
* @return
* Number of successfully processed packets, with error code set in rte_errno.
*/
-__rte_experimental
static inline uint16_t
rte_ipsec_pkt_process(const struct rte_ipsec_session *ss, struct rte_mbuf *mb[],
uint16_t num)
/**
* @file rte_ipsec_group.h
- * @b EXPERIMENTAL: this API may change without prior notice
*
* RTE IPsec support.
* It is not recommended to include this file directly,
* @return
* The pointer to the related *rte_ipsec_session* structure.
*/
-__rte_experimental
static inline struct rte_ipsec_session *
rte_ipsec_ses_from_crypto(const struct rte_crypto_op *cop)
{
* @return
* Number of filled elements in *grp* array.
*/
-__rte_experimental
static inline uint16_t
rte_ipsec_pkt_crypto_group(const struct rte_crypto_op *cop[],
struct rte_mbuf *mb[], struct rte_ipsec_group grp[], uint16_t num)
/**
* @file rte_ipsec_sa.h
- * @b EXPERIMENTAL: this API may change without prior notice
*
* Defines API to manage IPsec Security Association (SA) objects.
*/
RTE_SATP_LOG2_SQN = RTE_SATP_LOG2_MODE + 2,
RTE_SATP_LOG2_ESN,
RTE_SATP_LOG2_ECN,
- RTE_SATP_LOG2_DSCP,
- RTE_SATP_LOG2_NUM
+ RTE_SATP_LOG2_DSCP
};
#define RTE_IPSEC_SATP_IPV_MASK (1ULL << RTE_SATP_LOG2_IPV)
* @return
* SA type value.
*/
-__rte_experimental
uint64_t
rte_ipsec_sa_type(const struct rte_ipsec_sa *sa);
* - Actual size required for SA with given parameters.
* - -EINVAL if the parameters are invalid.
*/
-__rte_experimental
int
rte_ipsec_sa_size(const struct rte_ipsec_sa_prm *prm);
* - -EINVAL if the parameters are invalid.
* - -ENOSPC if the size of the provided buffer is not big enough.
*/
-__rte_experimental
int
rte_ipsec_sa_init(struct rte_ipsec_sa *sa, const struct rte_ipsec_sa_prm *prm,
uint32_t size);
* @param sa
* Pointer to SA object to de-initialize.
*/
-__rte_experimental
void
rte_ipsec_sa_fini(struct rte_ipsec_sa *sa);
/**
* @file rte_ipsec_sad.h
- * @b EXPERIMENTAL: this API may change without prior notice
*
* RTE IPsec security association database (SAD) support.
* Contains helper functions to lookup and maintain SAD
* @return
* 0 on success, negative value otherwise
*/
-__rte_experimental
int
rte_ipsec_sad_add(struct rte_ipsec_sad *sad,
const union rte_ipsec_sad_key *key,
* @return
* 0 on success, negative value otherwise
*/
-__rte_experimental
int
rte_ipsec_sad_del(struct rte_ipsec_sad *sad,
const union rte_ipsec_sad_key *key,
* Handle to SAD object on success
* NULL otherwise with rte_errno set to an appropriate values.
*/
-__rte_experimental
struct rte_ipsec_sad *
rte_ipsec_sad_create(const char *name, const struct rte_ipsec_sad_conf *conf);
* set appropriately. Possible rte_errno values include:
* - ENOENT - required entry not available to return.
*/
-__rte_experimental
struct rte_ipsec_sad *
rte_ipsec_sad_find_existing(const char *name);
* @return
* None
*/
-__rte_experimental
void
rte_ipsec_sad_destroy(struct rte_ipsec_sad *sad);
* @return
* -EINVAL for incorrect arguments, otherwise number of successful lookups.
*/
-__rte_experimental
int
rte_ipsec_sad_lookup(const struct rte_ipsec_sad *sad,
const union rte_ipsec_sad_key *keys[],
-EXPERIMENTAL {
+DPDK_21 {
global:
rte_ipsec_pkt_crypto_group;