[dpdk-dev] [PATCH v3 1/5] lib/ethdev: support for inline IPsec events

Thomas Monjalon thomas at monjalon.net
Tue Apr 10 11:11:43 CEST 2018


Hi,

21/03/2018 12:11, Anoob Joseph:
> 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>

No comment about IPsec handling.

The documentation could try to better link things together, see below:

>  /**
> + * 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.
> + */

You could link it to the event type RTE_ETH_EVENT_IPSEC in this doxygen comment.

> +struct rte_eth_event_ipsec_desc {
> +	enum rte_eth_event_ipsec_subtype stype;

stype is not easy to read & understand. What about subtype?

> +			/** Type of IPsec event */

You could add the prefix of the events in this comment: RTE_ETH_EVENT_IPSEC_*

> +	uint64_t md;

What about metadata?

> +			/** Event specific metadata */

Could you describe what is the metadata, depending on each sub-type?

> +};
> +
> +/**
>   * 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