[dpdk-dev] [PATCH v3 1/5] lib/ethdev: support for inline IPsec events
Anoob Joseph
Anoob.Joseph at caviumnetworks.com
Tue Apr 3 16:27:21 CEST 2018
Adding maintainers of testpmd & lib/ethdev
Thanks,
Anoob
On 21/03/18 16:41, Anoob Joseph wrote:
> Adding support for IPsec events in rte_eth_event framework. In inline
> IPsec offload, the per packet protocol defined variables, like ESN,
> would be managed by PMD. In such cases, PMD would need IPsec events
> to notify application about various conditions like, ESN overflow.
>
> Signed-off-by: Anoob Joseph <anoob.joseph at caviumnetworks.com>
> ---
> v3:
> * No change
>
> v2:
> * Added time expiry & byte expiry IPsec events in the enum
>
> lib/librte_ether/rte_ethdev.h | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
> index 0361533..96b2aa0 100644
> --- a/lib/librte_ether/rte_ethdev.h
> +++ b/lib/librte_ether/rte_ethdev.h
> @@ -2438,6 +2438,33 @@ int
> rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t free_cnt);
>
> /**
> + * Subtypes for IPsec offload events raised by eth device.
> + */
> +enum rte_eth_event_ipsec_subtype {
> + RTE_ETH_EVENT_IPSEC_UNKNOWN = 0,
> + /** Unknown event type */
> + RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW,
> + /** Sequence number overflow in security offload */
> + RTE_ETH_EVENT_IPSEC_SA_TIME_EXPIRY,
> + /** Soft time expiry of SA */
> + RTE_ETH_EVENT_IPSEC_SA_BYTE_EXPIRY,
> + /** Soft byte expiry of SA */
> + RTE_ETH_EVENT_IPSEC_MAX
> + /** Max value of this enum */
> +};
> +
> +/**
> + * Descriptor for IPsec event. Used by eth dev to send extra information of the
> + * event.
> + */
> +struct rte_eth_event_ipsec_desc {
> + enum rte_eth_event_ipsec_subtype stype;
> + /** Type of IPsec event */
> + uint64_t md;
> + /** Event specific metadata */
> +};
> +
> +/**
> * The eth device event type for interrupt, and maybe others in the future.
> */
> enum rte_eth_event_type {
> @@ -2448,6 +2475,7 @@ enum rte_eth_event_type {
> RTE_ETH_EVENT_INTR_RESET,
> /**< reset interrupt event, sent to VF on PF reset */
> RTE_ETH_EVENT_VF_MBOX, /**< message from the VF received by PF */
> + RTE_ETH_EVENT_IPSEC, /**< IPsec offload related event */
> RTE_ETH_EVENT_MACSEC, /**< MACsec offload related event */
> RTE_ETH_EVENT_INTR_RMV, /**< device removal event */
> RTE_ETH_EVENT_NEW, /**< port is probed */
More information about the dev
mailing list