From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anoob Joseph Subject: Re: [PATCH v3 1/5] lib/ethdev: support for inline IPsec events Date: Tue, 10 Apr 2018 10:40:36 +0530 Message-ID: <6342d9c4-74ee-2ff7-5b81-36d01611d929@caviumnetworks.com> References: <1519896103-32479-1-git-send-email-anoob.joseph@caviumnetworks.com> <1521630685-5179-1-git-send-email-anoob.joseph@caviumnetworks.com> <1521630685-5179-2-git-send-email-anoob.joseph@caviumnetworks.com> <9039830b-813d-1a72-a0c4-fb30592d4af9@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Cc: Akhil Goyal , Declan Doherty , Radu Nicolau , Jerin Jacob , Narayana Prasad , Nelio Laranjeiro , dev@dpdk.org, Wenzhuo Lu , Jingjing Wu To: Thomas Monjalon Return-path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0056.outbound.protection.outlook.com [104.47.32.56]) by dpdk.org (Postfix) with ESMTP id 258F21B973 for ; Tue, 10 Apr 2018 07:10:59 +0200 (CEST) In-Reply-To: <9039830b-813d-1a72-a0c4-fb30592d4af9@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" Hi Thomas, Can you review the patch and let me know if you have any comments. Thanks, Anoob On 03/04/18 19:57, Anoob Joseph wrote: > 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 >> --- >> 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 */ >