DPDK patches and discussions
 help / color / mirror / Atom feed
* [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£‰©à–+¢ž×¥r‰‘yÇ¢½ç_®‰¦­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: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  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  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 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 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  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 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 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 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 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: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 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).