* [dpdk-dev] TCP/IP stack for DPDK @ 2014-09-09 0:49 zimeiw 2014-09-09 6:20 ` Matthew Hall 2014-09-09 16:09 ` Jeff Shaw 0 siblings, 2 replies; 24+ messages in thread From: zimeiw @ 2014-09-09 0:49 UTC (permalink / raw) To: dev [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=GBK, Size: 744 bytes --] hi, I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack is based on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster to forwarding packets. Below feature are ready: Netdp initialize Ether layer ARP IP layer Routing ICMP Commands for adding, deleting, showing IP address Commands for adding, deleting, showing static route Next planning: Porting udp to netdp. Porting tcp to netdp. Porting socket to netdp. You can find the code from the link: https://github.com/dpdk-net/netdp \x16º&(âjx%觵é\¢dîy'©÷NyÛ~¶Ó^\x11zÛ«ö8£©à+¢×¥ryÇ¢½ç_®¦6{^Ê&\x06´Ú)ízW(]ø×~5ß´o'ivJ+ú,µø±Â+a\x11#\x13>'{\x10\x10wßÁ\x01~Ýz÷ivJ+;õ'©ÛMxÓvß´ÛM\x02\x11$ÑyÇ¢½ç_®¨®É kM6ø§µé\¢mtïm=ÛVò¢»&tÖ7â×¥r°ØDHÄÏÓħm5ãm9ï~´ïM\x17\x13^[K¢uÕr+¢sè®Ð\x15 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 0:49 [dpdk-dev] TCP/IP stack for DPDK zimeiw @ 2014-09-09 6:20 ` Matthew Hall 2014-09-09 6:30 ` Jim Thompson ` (2 more replies) 2014-09-09 16:09 ` Jeff Shaw 1 sibling, 3 replies; 24+ messages in thread From: Matthew Hall @ 2014-09-09 6:20 UTC (permalink / raw) To: zimeiw; +Cc: dev On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: > I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack is based > on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster to > forwarding packets. Hello, This is awesome work to be doing and badly needed to use DPDK for any L4 purposes where it is very limited. I'll be following your progress. You didn't mention your name, and compare your work with https://github.com/rumpkernel/dpdk-rumptcpip/ , and talk about behavior / performance, and how long you think it'll take. I'm curious if you can give some more comments. I'm implementing an RX-side very basic stack myself... but I'm not using BSD standard APIs or doing TX-side like yours will have. Matthew. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 6:20 ` Matthew Hall @ 2014-09-09 6:30 ` Jim Thompson 2014-09-09 6:30 ` Vadim Suraev 2014-09-09 7:30 ` zimeiw 2 siblings, 0 replies; 24+ messages in thread From: Jim Thompson @ 2014-09-09 6:30 UTC (permalink / raw) To: Matthew Hall; +Cc: dev > On Sep 8, 2014, at 11:20 PM, Matthew Hall <mhall@mhcomputing.net> wrote: > > On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: >> I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack is based >> on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster to >> forwarding packets. > > Hello, > > This is awesome work to be doing and badly needed to use DPDK for any L4 > purposes where it is very limited. I'll be following your progress. > > You didn't mention your name, and compare your work with > https://github.com/rumpkernel/dpdk-rumptcpip/ , and talk about behavior / > performance, and how long you think it'll take. I'm curious if you can give > some more comments. > > I'm implementing an RX-side very basic stack myself... but I'm not using BSD > standard APIs or doing TX-side like yours will have. > > Matthew. It’s interesting timing. We had just been talking (earlier today) to Venky Venkatesan at the DPDK Summit about a similar effort using libuinet https://github.com/pkelsey/libuinet <https://github.com/pkelsey/libuinet> or the work out of Sandstone (over netmap) http://conferences.sigcomm.org/hotnets/2013/papers/hotnets-final43.pdf <http://conferences.sigcomm.org/hotnets/2013/papers/hotnets-final43.pdf> http://dl.acm.org/citation.cfm?id=2626311&dl=ACM&coll=DL&CFID=422196400&CFTOKEN=18275972 <http://dl.acm.org/citation.cfm?id=2626311&dl=ACM&coll=DL&CFID=422196400&CFTOKEN=18275972> Jim ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 6:20 ` Matthew Hall 2014-09-09 6:30 ` Jim Thompson @ 2014-09-09 6:30 ` Vadim Suraev 2014-09-09 6:38 ` Zhang, Helin 2014-09-09 14:54 ` Stephen Hemminger 2014-09-09 7:30 ` zimeiw 2 siblings, 2 replies; 24+ messages in thread From: Vadim Suraev @ 2014-09-09 6:30 UTC (permalink / raw) To: Matthew Hall; +Cc: dev I've ported the Linux kernel TCP/IP stack to user space and integrated with DPDK, the source and documentation and the roadmap will be published (and announced) within few days. Regards, Vadim On Sep 9, 2014 9:20 AM, "Matthew Hall" <mhall@mhcomputing.net> wrote: > On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: > > I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack is > based > > on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster to > > forwarding packets. > > Hello, > > This is awesome work to be doing and badly needed to use DPDK for any L4 > purposes where it is very limited. I'll be following your progress. > > You didn't mention your name, and compare your work with > https://github.com/rumpkernel/dpdk-rumptcpip/ , and talk about behavior / > performance, and how long you think it'll take. I'm curious if you can give > some more comments. > > I'm implementing an RX-side very basic stack myself... but I'm not using > BSD > standard APIs or doing TX-side like yours will have. > > Matthew. > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 6:30 ` Vadim Suraev @ 2014-09-09 6:38 ` Zhang, Helin 2014-09-09 6:42 ` Vadim Suraev 2014-09-09 14:54 ` Stephen Hemminger 1 sibling, 1 reply; 24+ messages in thread From: Zhang, Helin @ 2014-09-09 6:38 UTC (permalink / raw) To: Vadim Suraev, Matthew Hall; +Cc: dev > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Vadim Suraev > Sent: Tuesday, September 9, 2014 2:30 PM > To: Matthew Hall > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] TCP/IP stack for DPDK > > I've ported the Linux kernel TCP/IP stack to user space and integrated with > DPDK, the source and documentation and the roadmap will be published (and > announced) within few days. Any license issue of porting Linux kernel stack into DPDK? > Regards, > Vadim > On Sep 9, 2014 9:20 AM, "Matthew Hall" <mhall@mhcomputing.net> wrote: > > > On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: > > > I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack > > > is > > based > > > on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster > > > to forwarding packets. > > > > Hello, > > > > This is awesome work to be doing and badly needed to use DPDK for any > > L4 purposes where it is very limited. I'll be following your progress. > > > > You didn't mention your name, and compare your work with > > https://github.com/rumpkernel/dpdk-rumptcpip/ , and talk about > > behavior / performance, and how long you think it'll take. I'm curious > > if you can give some more comments. > > > > I'm implementing an RX-side very basic stack myself... but I'm not > > using BSD standard APIs or doing TX-side like yours will have. > > > > Matthew. > > Regards, Helin ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 6:38 ` Zhang, Helin @ 2014-09-09 6:42 ` Vadim Suraev 2014-09-09 6:47 ` Zhang, Helin 0 siblings, 1 reply; 24+ messages in thread From: Vadim Suraev @ 2014-09-09 6:42 UTC (permalink / raw) To: Zhang, Helin; +Cc: dev IMHO, since GPL is more restrictive so the source must remain open On Sep 9, 2014 9:39 AM, "Zhang, Helin" <helin.zhang@intel.com> wrote: > > > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Vadim Suraev > > Sent: Tuesday, September 9, 2014 2:30 PM > > To: Matthew Hall > > Cc: dev@dpdk.org > > Subject: Re: [dpdk-dev] TCP/IP stack for DPDK > > > > I've ported the Linux kernel TCP/IP stack to user space and integrated > with > > DPDK, the source and documentation and the roadmap will be published > (and > > announced) within few days. > > Any license issue of porting Linux kernel stack into DPDK? > > > Regards, > > Vadim > > On Sep 9, 2014 9:20 AM, "Matthew Hall" <mhall@mhcomputing.net> wrote: > > > > > On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: > > > > I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack > > > > is > > > based > > > > on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster > > > > to forwarding packets. > > > > > > Hello, > > > > > > This is awesome work to be doing and badly needed to use DPDK for any > > > L4 purposes where it is very limited. I'll be following your progress. > > > > > > You didn't mention your name, and compare your work with > > > https://github.com/rumpkernel/dpdk-rumptcpip/ , and talk about > > > behavior / performance, and how long you think it'll take. I'm curious > > > if you can give some more comments. > > > > > > I'm implementing an RX-side very basic stack myself... but I'm not > > > using BSD standard APIs or doing TX-side like yours will have. > > > > > > Matthew. > > > > > Regards, > Helin > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 6:42 ` Vadim Suraev @ 2014-09-09 6:47 ` Zhang, Helin 2014-09-09 6:58 ` Matthew Hall 0 siblings, 1 reply; 24+ messages in thread From: Zhang, Helin @ 2014-09-09 6:47 UTC (permalink / raw) To: Vadim Suraev; +Cc: dev ☺ That means your great works under GPL/LGPL license will not occur in DPDK main line, as it is always BSD license. Regards, Helin From: Vadim Suraev [mailto:vadim.suraev@gmail.com] Sent: Tuesday, September 9, 2014 2:43 PM To: Zhang, Helin Cc: Matthew Hall; dev@dpdk.org Subject: RE: [dpdk-dev] TCP/IP stack for DPDK IMHO, since GPL is more restrictive so the source must remain open On Sep 9, 2014 9:39 AM, "Zhang, Helin" <helin.zhang@intel.com<mailto:helin.zhang@intel.com>> wrote: > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org<mailto:dev-bounces@dpdk.org>] On Behalf Of Vadim Suraev > Sent: Tuesday, September 9, 2014 2:30 PM > To: Matthew Hall > Cc: dev@dpdk.org<mailto:dev@dpdk.org> > Subject: Re: [dpdk-dev] TCP/IP stack for DPDK > > I've ported the Linux kernel TCP/IP stack to user space and integrated with > DPDK, the source and documentation and the roadmap will be published (and > announced) within few days. Any license issue of porting Linux kernel stack into DPDK? > Regards, > Vadim > On Sep 9, 2014 9:20 AM, "Matthew Hall" <mhall@mhcomputing.net<mailto:mhall@mhcomputing.net>> wrote: > > > On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: > > > I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack > > > is > > based > > > on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster > > > to forwarding packets. > > > > Hello, > > > > This is awesome work to be doing and badly needed to use DPDK for any > > L4 purposes where it is very limited. I'll be following your progress. > > > > You didn't mention your name, and compare your work with > > https://github.com/rumpkernel/dpdk-rumptcpip/ , and talk about > > behavior / performance, and how long you think it'll take. I'm curious > > if you can give some more comments. > > > > I'm implementing an RX-side very basic stack myself... but I'm not > > using BSD standard APIs or doing TX-side like yours will have. > > > > Matthew. > > Regards, Helin ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 6:47 ` Zhang, Helin @ 2014-09-09 6:58 ` Matthew Hall 2014-09-09 12:16 ` Alexander Nasonov 0 siblings, 1 reply; 24+ messages in thread From: Matthew Hall @ 2014-09-09 6:58 UTC (permalink / raw) To: Zhang, Helin; +Cc: dev On Tue, Sep 09, 2014 at 06:47:48AM +0000, Zhang, Helin wrote: > That means your great works under GPL/LGPL license will not occur in DPDK main line, as it is always BSD license. > > Regards, > Helin However despite this issue, there are some cases where the Linux stack is greatly superior to the BSD one although normally the opposite is the case... AF_NETLINK for configuring 10,000+ IP addresses, especially for L4-L7 performance testing, would be one possible example of this. Another potential example would be the BPF JIT compiler if you want to combine BPF filters with DPDK (something I'm doing right now in my own code actually). Matthew. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 6:58 ` Matthew Hall @ 2014-09-09 12:16 ` Alexander Nasonov 2014-09-09 15:00 ` Jim Thompson 0 siblings, 1 reply; 24+ messages in thread From: Alexander Nasonov @ 2014-09-09 12:16 UTC (permalink / raw) To: Matthew Hall; +Cc: dev Matthew Hall wrote: > However despite this issue, there are some cases where the Linux stack is > greatly superior to the BSD one although normally the opposite is the case... > AF_NETLINK for configuring 10,000+ IP addresses, especially for L4-L7 > performance testing, would be one possible example of this. Another potential > example would be the BPF JIT compiler if you want to combine BPF filters with > DPDK (something I'm doing right now in my own code actually). BPF JIT is available in NetBSD too. It should be quite staightforward to enable it in the rump-dpdk kernel. Alex ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 12:16 ` Alexander Nasonov @ 2014-09-09 15:00 ` Jim Thompson 2014-09-09 20:17 ` Alexander Nasonov 2014-09-09 20:51 ` Matthew Hall 0 siblings, 2 replies; 24+ messages in thread From: Jim Thompson @ 2014-09-09 15:00 UTC (permalink / raw) To: Alexander Nasonov; +Cc: dev > On Sep 9, 2014, at 5:16 AM, Alexander Nasonov <alnsn@yandex.ru> wrote: > > Matthew Hall wrote: >> However despite this issue, there are some cases where the Linux stack is >> greatly superior to the BSD one although normally the opposite is the case... >> AF_NETLINK for configuring 10,000+ IP addresses, especially for L4-L7 >> performance testing, would be one possible example of this. Another potential >> example would be the BPF JIT compiler if you want to combine BPF filters with >> DPDK (something I'm doing right now in my own code actually). > > BPF JIT is available in NetBSD too. It should be quite staightforward to > enable it in the rump-dpdk kernel. BPF JIT, or even pflua[1] should be straight-forward to put on top of DPDK. (It’s straight-forward to do on top of netmap.) jim [1] https://github.com/Igalia/pflua-bench ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 15:00 ` Jim Thompson @ 2014-09-09 20:17 ` Alexander Nasonov 2014-09-09 20:51 ` Matthew Hall 1 sibling, 0 replies; 24+ messages in thread From: Alexander Nasonov @ 2014-09-09 20:17 UTC (permalink / raw) To: Jim Thompson; +Cc: dev Jim Thompson wrote: > BPF JIT, or even pflua[1] should be straight-forward to put on top of DPDK. (It?s straight-forward to do on top of netmap.) > > jim > > [1] https://github.com/Igalia/pflua-bench Glad to see LuaJIT here. I hope to DPDK will eventually add support for LuaJIT. Alex ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 15:00 ` Jim Thompson 2014-09-09 20:17 ` Alexander Nasonov @ 2014-09-09 20:51 ` Matthew Hall 2014-09-09 21:30 ` Alexander Nasonov 1 sibling, 1 reply; 24+ messages in thread From: Matthew Hall @ 2014-09-09 20:51 UTC (permalink / raw) To: Jim Thompson; +Cc: dev On Tue, Sep 09, 2014 at 08:00:32AM -0700, Jim Thompson wrote: > BPF JIT, or even pflua[1] should be straight-forward to put on top of DPDK. > (It’s straight-forward to do on top of netmap.) > > jim The pflua guys made a user-space copy of Linux BPF JIT. I'm planning to use that because it was almost as fast as pflua with a lot fewer usage headaches and dependencies. I'm making an MIT licensed app... so it isn't an issue for me personally if there is some GPL2 Linux code present. I don't think anybody made a non-rump version of the BSD one yet or I'd use that... I'm trying not to stray too far from the app's original purposes until it has some working features present. Until that time comes, I just started out with libpcap offline mode BPF for development purposes because it's standard and already available, and allows operations upon raw packet pointers with no issues at all. Matthew. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 20:51 ` Matthew Hall @ 2014-09-09 21:30 ` Alexander Nasonov 2014-09-09 21:59 ` Matthew Hall 0 siblings, 1 reply; 24+ messages in thread From: Alexander Nasonov @ 2014-09-09 21:30 UTC (permalink / raw) To: Matthew Hall; +Cc: dev Matthew Hall wrote: > The pflua guys made a user-space copy of Linux BPF JIT. I'm planning to use > that because it was almost as fast as pflua with a lot fewer usage headaches > and dependencies. Ah, I see. > I'm making an MIT licensed app... so it isn't an issue for me personally if > there is some GPL2 Linux code present. I don't think anybody made a non-rump > version of the BSD one yet or I'd use that... I'm trying not to stray too far > from the app's original purposes until it has some working features present. sys/net/bpfjit.c in NetBSD should be very easy to adapt to Linux. I was often testing it on Linux in userspace (without mbuf support). At the moment, I'm only allowed to work on some NetBSD projects and I can't adapt bpfjit to anything outside of NetBSD but when I last compiled bpfjit on Linux, it took me about a minute to fix compilation. Please try github version, it's not up-to-date but it worked on Linux: https://github.com/alnsn/bpfjit Alex ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 21:30 ` Alexander Nasonov @ 2014-09-09 21:59 ` Matthew Hall 2014-09-09 22:47 ` Alexander Nasonov 0 siblings, 1 reply; 24+ messages in thread From: Matthew Hall @ 2014-09-09 21:59 UTC (permalink / raw) To: Alexander Nasonov; +Cc: dev On Tue, Sep 09, 2014 at 10:30:01PM +0100, Alexander Nasonov wrote: > sys/net/bpfjit.c in NetBSD should be very easy to adapt to Linux. > I was often testing it on Linux in userspace (without mbuf support). > At the moment, I'm only allowed to work on some NetBSD projects and > I can't adapt bpfjit to anything outside of NetBSD but when I last > compiled bpfjit on Linux, it took me about a minute to fix compilation. > > Please try github version, it's not up-to-date but it worked on Linux: > > https://github.com/alnsn/bpfjit > > Alex Alex, You rock, thanks for supplying this, I'll be sure to use it along with upstream changes from BSD to get a friendlier license for users of my code, whoever they might eventually be. If I forked this from you and updated it to the latest code periodically for performance, security, and features, would you accept the pull requests? Matthew. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 21:59 ` Matthew Hall @ 2014-09-09 22:47 ` Alexander Nasonov 0 siblings, 0 replies; 24+ messages in thread From: Alexander Nasonov @ 2014-09-09 22:47 UTC (permalink / raw) To: Matthew Hall; +Cc: dev Matthew Hall wrote: > Alex, > > You rock, thanks for supplying this, I'll be sure to use it along with > upstream changes from BSD to get a friendlier license for users of my code, > whoever they might eventually be. > > If I forked this from you and updated it to the latest code periodically for > performance, security, and features, would you accept the pull requests? I think it shouldn't be a problem. PS my stuff depends on sljit which is also BSD-licensed. Alex ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 6:30 ` Vadim Suraev 2014-09-09 6:38 ` Zhang, Helin @ 2014-09-09 14:54 ` Stephen Hemminger 2014-09-09 15:19 ` Vadim Suraev 2014-09-09 20:47 ` Matthew Hall 1 sibling, 2 replies; 24+ messages in thread From: Stephen Hemminger @ 2014-09-09 14:54 UTC (permalink / raw) To: Vadim Suraev; +Cc: dev Porting Linux stack to DPDK opens up a licensing can of worms. Linux code is GPLv2, and DPDK code is BSD. Any combination of the two would end up being covered by the Linux GPLv2 license. On Mon, Sep 8, 2014 at 11:30 PM, Vadim Suraev <vadim.suraev@gmail.com> wrote: > I've ported the Linux kernel TCP/IP stack to user space and integrated with > DPDK, the source and documentation and the roadmap will be published (and > announced) within few days. > Regards, > Vadim > On Sep 9, 2014 9:20 AM, "Matthew Hall" <mhall@mhcomputing.net> wrote: > > > On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: > > > I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack is > > based > > > on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster to > > > forwarding packets. > > > > Hello, > > > > This is awesome work to be doing and badly needed to use DPDK for any L4 > > purposes where it is very limited. I'll be following your progress. > > > > You didn't mention your name, and compare your work with > > https://github.com/rumpkernel/dpdk-rumptcpip/ , and talk about behavior > / > > performance, and how long you think it'll take. I'm curious if you can > give > > some more comments. > > > > I'm implementing an RX-side very basic stack myself... but I'm not using > > BSD > > standard APIs or doing TX-side like yours will have. > > > > Matthew. > > > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 14:54 ` Stephen Hemminger @ 2014-09-09 15:19 ` Vadim Suraev 2014-09-09 15:26 ` Jim Thompson 2014-09-09 20:47 ` Matthew Hall 1 sibling, 1 reply; 24+ messages in thread From: Vadim Suraev @ 2014-09-09 15:19 UTC (permalink / raw) To: Stephen Hemminger; +Cc: dev The licensing worms prevent IMHO only selling the source code, although, porting may be useful On Sep 9, 2014 5:54 PM, "Stephen Hemminger" <stephen@networkplumber.org> wrote: > Porting Linux stack to DPDK opens up a licensing can of worms. > Linux code is GPLv2, and DPDK code is BSD. Any combination of the two > would end up > being covered by the Linux GPLv2 license. > > On Mon, Sep 8, 2014 at 11:30 PM, Vadim Suraev <vadim.suraev@gmail.com> > wrote: > >> I've ported the Linux kernel TCP/IP stack to user space and integrated >> with >> DPDK, the source and documentation and the roadmap will be published (and >> announced) within few days. >> Regards, >> Vadim >> On Sep 9, 2014 9:20 AM, "Matthew Hall" <mhall@mhcomputing.net> wrote: >> >> > On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: >> > > I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack is >> > based >> > > on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster to >> > > forwarding packets. >> > >> > Hello, >> > >> > This is awesome work to be doing and badly needed to use DPDK for any L4 >> > purposes where it is very limited. I'll be following your progress. >> > >> > You didn't mention your name, and compare your work with >> > https://github.com/rumpkernel/dpdk-rumptcpip/ , and talk about >> behavior / >> > performance, and how long you think it'll take. I'm curious if you can >> give >> > some more comments. >> > >> > I'm implementing an RX-side very basic stack myself... but I'm not using >> > BSD >> > standard APIs or doing TX-side like yours will have. >> > >> > Matthew. >> > >> > > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 15:19 ` Vadim Suraev @ 2014-09-09 15:26 ` Jim Thompson 2014-09-09 15:59 ` Vadim Suraev 0 siblings, 1 reply; 24+ messages in thread From: Jim Thompson @ 2014-09-09 15:26 UTC (permalink / raw) To: Vadim Suraev; +Cc: dev Then you don’t understand licensing. the GPL has a requirement that you make one of two offers: The fourth section for version 2 of the license and the seventh section of version 3 require that programs distributed as pre-compiled binaries are accompanied by a copy of the source code, or a written offer *valid for any third party* to obtain the source code via the same mechanism as the pre-compiled binary. You can’t sell the source, you have to make it available, either with the binary, or to anyone who asks. There are other terms and conditions with the GPL (patent licenses, etc.) Jim > On Sep 9, 2014, at 8:19 AM, Vadim Suraev <vadim.suraev@gmail.com> wrote: > > The licensing worms prevent IMHO only selling the source code, although, > porting may be useful > On Sep 9, 2014 5:54 PM, "Stephen Hemminger" <stephen@networkplumber.org> > wrote: > >> Porting Linux stack to DPDK opens up a licensing can of worms. >> Linux code is GPLv2, and DPDK code is BSD. Any combination of the two >> would end up >> being covered by the Linux GPLv2 license. >> >> On Mon, Sep 8, 2014 at 11:30 PM, Vadim Suraev <vadim.suraev@gmail.com> >> wrote: >> >>> I've ported the Linux kernel TCP/IP stack to user space and integrated >>> with >>> DPDK, the source and documentation and the roadmap will be published (and >>> announced) within few days. >>> Regards, >>> Vadim >>> On Sep 9, 2014 9:20 AM, "Matthew Hall" <mhall@mhcomputing.net> wrote: >>> >>>> On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: >>>>> I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack is >>>> based >>>>> on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster to >>>>> forwarding packets. >>>> >>>> Hello, >>>> >>>> This is awesome work to be doing and badly needed to use DPDK for any L4 >>>> purposes where it is very limited. I'll be following your progress. >>>> >>>> You didn't mention your name, and compare your work with >>>> https://github.com/rumpkernel/dpdk-rumptcpip/ , and talk about >>> behavior / >>>> performance, and how long you think it'll take. I'm curious if you can >>> give >>>> some more comments. >>>> >>>> I'm implementing an RX-side very basic stack myself... but I'm not using >>>> BSD >>>> standard APIs or doing TX-side like yours will have. >>>> >>>> Matthew. >>>> >>> >> >> ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 15:26 ` Jim Thompson @ 2014-09-09 15:59 ` Vadim Suraev 0 siblings, 0 replies; 24+ messages in thread From: Vadim Suraev @ 2014-09-09 15:59 UTC (permalink / raw) To: Jim Thompson; +Cc: dev #You can’t sell the source, you have to make it available, either with the binary, or to anyone who asks# But I didn't tell I want to sell it, and I open all the source On Sep 9, 2014 6:26 PM, "Jim Thompson" <jim@netgate.com> wrote: > Then you don’t understand licensing. > > the GPL has a requirement that you make one of two offers: > > The fourth section for version 2 of the license and the seventh section of > version 3 require that programs distributed as pre-compiled binaries are > accompanied by a copy of the source code, or a written offer *valid for any > third party* to obtain the source code via the same mechanism as the > pre-compiled binary. > > You can’t sell the source, you have to make it available, either with the > binary, or to anyone who asks. > > There are other terms and conditions with the GPL (patent licenses, etc.) > > Jim > > On Sep 9, 2014, at 8:19 AM, Vadim Suraev <vadim.suraev@gmail.com> wrote: > > The licensing worms prevent IMHO only selling the source code, although, > porting may be useful > On Sep 9, 2014 5:54 PM, "Stephen Hemminger" <stephen@networkplumber.org> > wrote: > > Porting Linux stack to DPDK opens up a licensing can of worms. > Linux code is GPLv2, and DPDK code is BSD. Any combination of the two > would end up > being covered by the Linux GPLv2 license. > > On Mon, Sep 8, 2014 at 11:30 PM, Vadim Suraev <vadim.suraev@gmail.com> > wrote: > > I've ported the Linux kernel TCP/IP stack to user space and integrated > with > DPDK, the source and documentation and the roadmap will be published (and > announced) within few days. > Regards, > Vadim > On Sep 9, 2014 9:20 AM, "Matthew Hall" <mhall@mhcomputing.net> wrote: > > On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: > > I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack is > > based > > on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster to > forwarding packets. > > > Hello, > > This is awesome work to be doing and badly needed to use DPDK for any L4 > purposes where it is very limited. I'll be following your progress. > > You didn't mention your name, and compare your work with > https://github.com/rumpkernel/dpdk-rumptcpip/ , and talk about > > behavior / > > performance, and how long you think it'll take. I'm curious if you can > > give > > some more comments. > > I'm implementing an RX-side very basic stack myself... but I'm not using > BSD > standard APIs or doing TX-side like yours will have. > > Matthew. > > > > > > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 14:54 ` Stephen Hemminger 2014-09-09 15:19 ` Vadim Suraev @ 2014-09-09 20:47 ` Matthew Hall 1 sibling, 0 replies; 24+ messages in thread From: Matthew Hall @ 2014-09-09 20:47 UTC (permalink / raw) To: Stephen Hemminger; +Cc: dev On Tue, Sep 09, 2014 at 07:54:19AM -0700, Stephen Hemminger wrote: > Porting Linux stack to DPDK opens up a licensing can of worms. > Linux code is GPLv2, and DPDK code is BSD. Any combination of the two would > end up > being covered by the Linux GPLv2 license. It would be a can of worms for a closed-source app. Which is why some others have used the BSD stack. But it doesn't mean it isn't useful code. Matthew. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 6:20 ` Matthew Hall 2014-09-09 6:30 ` Jim Thompson 2014-09-09 6:30 ` Vadim Suraev @ 2014-09-09 7:30 ` zimeiw 2 siblings, 0 replies; 24+ messages in thread From: zimeiw @ 2014-09-09 7:30 UTC (permalink / raw) To: Matthew Hall; +Cc: dev hi, netdp stack use rte_mbuf directly, so no packet copied from DPDK port queue to netdp stack. netdp forwarding performance is same as FreeBSD. At 2014-09-09 02:20:16, "Matthew Hall" <mhall@mhcomputing.net> wrote: >On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: >> I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack is based >> on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster to >> forwarding packets. > >Hello, > >This is awesome work to be doing and badly needed to use DPDK for any L4 >purposes where it is very limited. I'll be following your progress. > >You didn't mention your name, and compare your work with >https://github.com/rumpkernel/dpdk-rumptcpip/ , and talk about behavior / >performance, and how long you think it'll take. I'm curious if you can give >some more comments. > >I'm implementing an RX-side very basic stack myself... but I'm not using BSD >standard APIs or doing TX-side like yours will have. > >Matthew. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 0:49 [dpdk-dev] TCP/IP stack for DPDK zimeiw 2014-09-09 6:20 ` Matthew Hall @ 2014-09-09 16:09 ` Jeff Shaw 2014-09-09 21:49 ` Aaro Koskinen 1 sibling, 1 reply; 24+ messages in thread From: Jeff Shaw @ 2014-09-09 16:09 UTC (permalink / raw) To: zimeiw; +Cc: dev On Tue, Sep 09, 2014 at 08:49:44AM +0800, zimeiw wrote: > hi, > > > I have porting major FreeBSD tcp/ip stack to dpdk. new tcp/ip stack is based on dpdk rte_mbuf, rte_ring, rte_memory and rte_table. it is faster to forwarding packets. > > Below feature are ready: > > Netdp initialize > Ether layer > ARP > IP layer > Routing > ICMP > Commands for adding, deleting, showing IP address > Commands for adding, deleting, showing static route > Next planning: > Porting udp to netdp. > > Porting tcp to netdp. > Porting socket to netdp. > > > You can find the code from the link: https://github.com/dpdk-net/netdp > > > Hi zimeiw, when will you be posting the source code to github? I can only find a static lib and some header files. Thanks, Jeff ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 16:09 ` Jeff Shaw @ 2014-09-09 21:49 ` Aaro Koskinen 2014-09-10 3:42 ` zimeiw 0 siblings, 1 reply; 24+ messages in thread From: Aaro Koskinen @ 2014-09-09 21:49 UTC (permalink / raw) To: Jeff Shaw; +Cc: dev Hi, On Tue, Sep 09, 2014 at 09:09:11AM -0700, Jeff Shaw wrote: > > You can find the code from the link: https://github.com/dpdk-net/netdp > > Hi zimeiw, when will you be posting the source code to github? > I can only find a static lib and some header files. It's BSD licensed, getting only the binary should be good enough for you. :-) A. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [dpdk-dev] TCP/IP stack for DPDK 2014-09-09 21:49 ` Aaro Koskinen @ 2014-09-10 3:42 ` zimeiw 0 siblings, 0 replies; 24+ messages in thread From: zimeiw @ 2014-09-10 3:42 UTC (permalink / raw) To: Aaro Koskinen; +Cc: dev hi, Currently, still not open the netdp lib source code. But could provide some hooks in netdp for user to special handle packet if need. At 2014-09-10 05:49:22, "Aaro Koskinen" <aaro.koskinen@iki.fi> wrote: >Hi, > >On Tue, Sep 09, 2014 at 09:09:11AM -0700, Jeff Shaw wrote: >> > You can find the code from the link: https://github.com/dpdk-net/netdp >> >> Hi zimeiw, when will you be posting the source code to github? >> I can only find a static lib and some header files. > >It's BSD licensed, getting only the binary should be good enough >for you. :-) > >A. ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2014-09-10 3:37 UTC | newest] Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-09-09 0:49 [dpdk-dev] TCP/IP stack for DPDK zimeiw 2014-09-09 6:20 ` Matthew Hall 2014-09-09 6:30 ` Jim Thompson 2014-09-09 6:30 ` Vadim Suraev 2014-09-09 6:38 ` Zhang, Helin 2014-09-09 6:42 ` Vadim Suraev 2014-09-09 6:47 ` Zhang, Helin 2014-09-09 6:58 ` Matthew Hall 2014-09-09 12:16 ` Alexander Nasonov 2014-09-09 15:00 ` Jim Thompson 2014-09-09 20:17 ` Alexander Nasonov 2014-09-09 20:51 ` Matthew Hall 2014-09-09 21:30 ` Alexander Nasonov 2014-09-09 21:59 ` Matthew Hall 2014-09-09 22:47 ` Alexander Nasonov 2014-09-09 14:54 ` Stephen Hemminger 2014-09-09 15:19 ` Vadim Suraev 2014-09-09 15:26 ` Jim Thompson 2014-09-09 15:59 ` Vadim Suraev 2014-09-09 20:47 ` Matthew Hall 2014-09-09 7:30 ` zimeiw 2014-09-09 16:09 ` Jeff Shaw 2014-09-09 21:49 ` Aaro Koskinen 2014-09-10 3:42 ` zimeiw
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).