On Mon, Dec 11, 2023 at 5:48 PM Yuanhan Liu <y...@fridaylinux.org> wrote: > > On Mon, Dec 11, 2023 at 11:32:16AM +0000, Jerin Jacob Kollanukkaran wrote: > > > > > > > -----Original Message----- > > > From: Yuanhan Liu <y...@fridaylinux.org> > > > Sent: Monday, December 11, 2023 3:27 PM > > > To: lib...@googlegroups.com > > > Cc: dev@dpdk.org; Yuanhan Liu <liuyuanhan....@bytedance.com> > > > Subject: [EXT] Libtpa: a DPDK based userspace TCP stack implementation > > > > > > External Email > > > > > > ---------------------------------------------------------------------- > > > Hi all, > > > > > > I'd like to share a new DPDK open source project, libtpa(Transport > > > Protocol > > > Acceleration)[0], which is just another userspace TCP stack > > > implementation so > > > far, written from scratch. > > > > > > I started this project 3 years ago, while I was searching for a feasible > > > open > > > source project with no luck. There were indeed quite a few options, but > > > none of > > > them actually met my needs. I then started writing one. Likely, there are > > > still > > > other guys out there looking for a high performance and stable userspace > > > TCP > > > stack. This is what this email and libtpa for. > > > > Great Yuanhan. > > > > If you have time and willing to put effort, I suggest make this part of > > dpdk code base > > as new library (tcp or so) and leverage + improve another existing library > > such ip_frag. > > > > I believe, that is only way. > > - This code soon won't soon outdated based on new DPDK version > > - More community review and contributors > > - More review and features from NIC vendors PoV. > > - More arch and driver support. > > - More quality > > Hi Jerin, > > Thanks for you suggestion and these really are good points! > > Although libtpa is currently designed as a libray, I doubt it would suit > well as a new library to DPDK. Just taking the code base an example,
I think, number of line won't be a concern for upstreaming > libtpa so far is about 27K lines of code. The TCP part is only about > 3K lines of code. All the rest are codes supporting the TCP part, such > as sock tracing, mem file, mem file auto archive, etc. You can look I think, key piece would be split the code as reusable library(like mem file)and leverage existing libraries like eal trace. DPDK standardized the new library addition process without doing a lot of throw away code. See https://doc.dpdk.org/guides/contributing/new_library.html > more from the internals page (or even read the code ;) > > https://github.com/bytedance/libtpa/blob/main/doc/internals.rst > > Thanks, > Yuanhan Liu > > > > > > Just my 2c. > > > > -- > > You received this message because you are subscribed to the Google Groups > > "libtpa" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to libtpa+unsubscr...@googlegroups.com. > > To view this discussion on the web visit > > https://groups.google.com/d/msgid/libtpa/BY3PR18MB478592AF236C7BBDB0285E3CC88FA%40BY3PR18MB4785.namprd18.prod.outlook.com. > > For more options, visit https://groups.google.com/d/optout.