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.jos...@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 */