From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Nicolau, Radu" Subject: Re: [PATCH 1/5] lib/ethdev: support for inline IPsec events Date: Mon, 26 Feb 2018 09:35:51 +0000 Message-ID: <763A2F19A5EFF34F8B7F1657C992EE297B32AFD8@IRSMSX104.ger.corp.intel.com> References: <1516626668-9031-0-git-send-email-anoob.joseph@caviumnetworks.com> <1519191430-19201-1-git-send-email-anoob.joseph@caviumnetworks.com> <1519191430-19201-2-git-send-email-anoob.joseph@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: Jerin Jacob , Narayana Prasad , Nelio Laranjeiro , "dev@dpdk.org" To: Anoob Joseph , Akhil Goyal , "Doherty, Declan" Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 2D9DB101B for ; Mon, 26 Feb 2018 10:35:56 +0100 (CET) In-Reply-To: <1519191430-19201-2-git-send-email-anoob.joseph@caviumnetworks.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > -----Original Message----- > From: Anoob Joseph [mailto:anoob.joseph@caviumnetworks.com] > Sent: Wednesday, February 21, 2018 5:37 AM > To: Akhil Goyal ; Doherty, Declan > ; Nicolau, Radu > Cc: Anoob Joseph ; Jerin Jacob > ; Narayana Prasad > ; Nelio Laranjeiro > ; dev@dpdk.org > Subject: [PATCH 1/5] lib/ethdev: support for inline IPsec events >=20 > Adding support for IPsec events in rte_eth_event framework. In inline IPs= ec > 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. >=20 > Signed-off-by: Anoob Joseph > --- > lib/librte_ether/rte_ethdev.h | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) >=20 > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.= h > index 0361533..4e4e18d 100644 > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -2438,6 +2438,27 @@ int > rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t > free_cnt); >=20 > /** > + * Subtypes for IPsec offload events raised by eth device. > + */ > +enum rte_eth_event_ipsec_subtype { > + RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW, > + /** Sequence number overflow in security offload */ > + RTE_ETH_EVENT_IPSEC_MAX > + /** Max value of this enum */ > +}; I would add some more events to the list (to make it look less like a very = specific case implementation): crypto/auth failed and undefined/unspecified= being the most obvious. Apart from this, the patchset looks fine. > + > +/** > + * 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 futu= re. > */ > enum rte_eth_event_type { > @@ -2448,6 +2469,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 */ > -- > 2.7.4