For such new library, I think we need to vote in techboard to accept it. That's a process we had in recent years to keep the project scope in control.
22/12/2022 10:25, Anoob Joseph: > Add Packet Data Convergence Protocol (PDCP) processing library. > > The library is similar to lib_ipsec which provides IPsec processing > capabilities in DPDK. > > PDCP would involve roughly the following options, > 1. Transfer of user plane data > 2. Transfer of control plane data > 3. Header compression > 4. Uplink data compression > 5. Ciphering and integrity protection > > PDCP library provides following control path APIs that is used to > configure various PDCP entities, > 1. rte_pdcp_entity_establish() > 2. rte_pdcp_entity_suspend() > 3. rte_pdcp_entity_release() > > PDCP process is split into 2 parts. One before crypto processing > (rte_pdcp_pkt_pre_process()) and one after crypto processing > (rte_pdcp_pkt_post_process()). Since cryptodev dequeue can return crypto > operations belonging to multiple entities, rte_pdcp_pkt_crypto_group() > is added to help grouping crypto operations belonging to same entity. > > Similar to lib IPsec, lib PDCP would allow application to use same API > sequence while leveraging protocol offload features enabled by rte_security > library. Lib PDCP would internally change the handles registered for > *pre_process* and *post_process* based on features enabled in the entity. > > Lib PDCP would create the required sessions on the device provided in entity > to > minimize the application requirements. Also, the crypto_op allocation and free > would also be done internally by lib PDCP to allow the library to create > crypto ops as required for the input packets. For example, when control PDUs > are > received, no cryptodev enqueue-dequeue is expected for the same and lib PDCP > is expected to handle it differently.