All of lore.kernel.org
 help / color / mirror / Atom feed
* TCP/IP stack for DPDK
@ 2014-09-09  0:49 zimeiw
       [not found] ` <4a71bb41.1307.14857e341d5.Coremail.zimeiw-9Onoh4P/yGk@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: zimeiw @ 2014-09-09  0:49 UTC (permalink / raw)
  To: dev-VfR2kkLFssw

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




^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: TCP/IP stack for DPDK
       [not found] ` <4a71bb41.1307.14857e341d5.Coremail.zimeiw-9Onoh4P/yGk@public.gmane.org>
@ 2014-09-09  6:20   ` Matthew Hall
       [not found]     ` <20140909062016.GA7050-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
  2014-09-09 16:09   ` Jeff Shaw
  1 sibling, 1 reply; 24+ messages in thread
From: Matthew Hall @ 2014-09-09  6:20 UTC (permalink / raw)
  To: zimeiw; +Cc: dev-VfR2kkLFssw

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: TCP/IP stack for DPDK
       [not found]     ` <20140909062016.GA7050-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
@ 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-VfR2kkLFssw


> On Sep 8, 2014, at 11:20 PM, Matthew Hall <mhall-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org> 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: TCP/IP stack for DPDK
       [not found]     ` <20140909062016.GA7050-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
  2014-09-09  6:30       ` Jim Thompson
@ 2014-09-09  6:30       ` Vadim Suraev
       [not found]         ` <CAJ0CJ8kZwfxT_yzu8NuLgtYpCBEekN=NQMNdS4R18rmk-w12-w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2014-09-09  7:30       ` zimeiw
  2 siblings, 1 reply; 24+ messages in thread
From: Vadim Suraev @ 2014-09-09  6:30 UTC (permalink / raw)
  To: Matthew Hall; +Cc: dev-VfR2kkLFssw

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-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org> 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: TCP/IP stack for DPDK
       [not found]         ` <CAJ0CJ8kZwfxT_yzu8NuLgtYpCBEekN=NQMNdS4R18rmk-w12-w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-09-09  6:38           ` Zhang, Helin
       [not found]             ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A784F02-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
  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-VfR2kkLFssw



> -----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: TCP/IP stack for DPDK
       [not found]             ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A784F02-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2014-09-09  6:42               ` Vadim Suraev
       [not found]                 ` <CAJ0CJ8mz9FpdvMtB2Xnjd+59+LKM8c4mja1VjGQRqndOy2cDLw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: Vadim Suraev @ 2014-09-09  6:42 UTC (permalink / raw)
  To: Zhang, Helin; +Cc: dev-VfR2kkLFssw

IMHO, since GPL is more restrictive so the source must remain open
On Sep 9, 2014 9:39 AM, "Zhang, Helin" <helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:

>
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces-VfR2kkLFssw@public.gmane.org] On Behalf Of Vadim Suraev
> > Sent: Tuesday, September 9, 2014 2:30 PM
> > To: Matthew Hall
> > Cc: dev-VfR2kkLFssw@public.gmane.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-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org> 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: TCP/IP stack for DPDK
       [not found]                 ` <CAJ0CJ8mz9FpdvMtB2Xnjd+59+LKM8c4mja1VjGQRqndOy2cDLw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-09-09  6:47                   ` Zhang, Helin
       [not found]                     ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A784F23-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: Zhang, Helin @ 2014-09-09  6:47 UTC (permalink / raw)
  To: Vadim Suraev; +Cc: dev-VfR2kkLFssw

☺ 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: TCP/IP stack for DPDK
       [not found]                     ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A784F23-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2014-09-09  6:58                       ` Matthew Hall
       [not found]                         ` <20140909065852.GB7240-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: Matthew Hall @ 2014-09-09  6:58 UTC (permalink / raw)
  To: Zhang, Helin; +Cc: dev-VfR2kkLFssw

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: TCP/IP stack for DPDK
       [not found]     ` <20140909062016.GA7050-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
  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-VfR2kkLFssw



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: TCP/IP stack for DPDK
       [not found]                         ` <20140909065852.GB7240-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
@ 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-VfR2kkLFssw

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: TCP/IP stack for DPDK
       [not found]         ` <CAJ0CJ8kZwfxT_yzu8NuLgtYpCBEekN=NQMNdS4R18rmk-w12-w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2014-09-09  6:38           ` Zhang, Helin
@ 2014-09-09 14:54           ` Stephen Hemminger
       [not found]             ` <CAOaVG178NA5CziT1hKScmghdbiQe25ESbTWJiDZtATkJxDXFxQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  1 sibling, 1 reply; 24+ messages in thread
From: Stephen Hemminger @ 2014-09-09 14:54 UTC (permalink / raw)
  To: Vadim Suraev; +Cc: dev-VfR2kkLFssw

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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
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-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org> 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: TCP/IP stack for DPDK
  2014-09-09 12:16                           ` Alexander Nasonov
@ 2014-09-09 15:00                             ` Jim Thompson
       [not found]                               ` <E58E79CA-33ED-4104-A9C3-BFA738D24C6E-jiyf0hk6h8BBDgjK7y7TUQ@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: Jim Thompson @ 2014-09-09 15:00 UTC (permalink / raw)
  To: Alexander Nasonov; +Cc: dev-VfR2kkLFssw


> On Sep 9, 2014, at 5:16 AM, Alexander Nasonov <alnsn-o+MxOtu4lMCHXe+LvDLADg@public.gmane.org> 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: TCP/IP stack for DPDK
       [not found]             ` <CAOaVG178NA5CziT1hKScmghdbiQe25ESbTWJiDZtATkJxDXFxQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-09-09 15:19               ` Vadim Suraev
       [not found]                 ` <CAJ0CJ8kvuFzbfyJs+UaaoLq5Y0UJrXe6_V0bK_vLr_RpUyAxGg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  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-VfR2kkLFssw

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-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> 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-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org> 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: TCP/IP stack for DPDK
       [not found]                 ` <CAJ0CJ8kvuFzbfyJs+UaaoLq5Y0UJrXe6_V0bK_vLr_RpUyAxGg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-09-09 15:26                   ` Jim Thompson
       [not found]                     ` <BA33F198-66BB-44CB-BEC5-F8902C0A5BA2-jiyf0hk6h8BBDgjK7y7TUQ@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: Jim Thompson @ 2014-09-09 15:26 UTC (permalink / raw)
  To: Vadim Suraev; +Cc: dev-VfR2kkLFssw

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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>> 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-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org> 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: TCP/IP stack for DPDK
       [not found]                     ` <BA33F198-66BB-44CB-BEC5-F8902C0A5BA2-jiyf0hk6h8BBDgjK7y7TUQ@public.gmane.org>
@ 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-VfR2kkLFssw

#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-jiyf0hk6h8BBDgjK7y7TUQ@public.gmane.org> 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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> 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-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org> 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: TCP/IP stack for DPDK
       [not found] ` <4a71bb41.1307.14857e341d5.Coremail.zimeiw-9Onoh4P/yGk@public.gmane.org>
  2014-09-09  6:20   ` Matthew Hall
@ 2014-09-09 16:09   ` Jeff Shaw
       [not found]     ` <20140909160911.GA18226-P+9LSW+heshDtcM2BRa8+1DQ4js95KgL@public.gmane.org>
  1 sibling, 1 reply; 24+ messages in thread
From: Jeff Shaw @ 2014-09-09 16:09 UTC (permalink / raw)
  To: zimeiw; +Cc: dev-VfR2kkLFssw

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: TCP/IP stack for DPDK
       [not found]                               ` <E58E79CA-33ED-4104-A9C3-BFA738D24C6E-jiyf0hk6h8BBDgjK7y7TUQ@public.gmane.org>
@ 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-VfR2kkLFssw

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: TCP/IP stack for DPDK
       [not found]             ` <CAOaVG178NA5CziT1hKScmghdbiQe25ESbTWJiDZtATkJxDXFxQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  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-VfR2kkLFssw

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: TCP/IP stack for DPDK
       [not found]                               ` <E58E79CA-33ED-4104-A9C3-BFA738D24C6E-jiyf0hk6h8BBDgjK7y7TUQ@public.gmane.org>
  2014-09-09 20:17                                 ` Alexander Nasonov
@ 2014-09-09 20:51                                 ` Matthew Hall
       [not found]                                   ` <20140909205114.GC11510-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
  1 sibling, 1 reply; 24+ messages in thread
From: Matthew Hall @ 2014-09-09 20:51 UTC (permalink / raw)
  To: Jim Thompson; +Cc: dev-VfR2kkLFssw

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: TCP/IP stack for DPDK
       [not found]                                   ` <20140909205114.GC11510-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
@ 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-VfR2kkLFssw

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: TCP/IP stack for DPDK
       [not found]     ` <20140909160911.GA18226-P+9LSW+heshDtcM2BRa8+1DQ4js95KgL@public.gmane.org>
@ 2014-09-09 21:49       ` Aaro Koskinen
       [not found]         ` <20140909214922.GB589-7n+jfq1IuBl13aiSOxckUV9wdVTlxKpd@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: Aaro Koskinen @ 2014-09-09 21:49 UTC (permalink / raw)
  To: Jeff Shaw; +Cc: dev-VfR2kkLFssw

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: TCP/IP stack for DPDK
  2014-09-09 21:30                                     ` Alexander Nasonov
@ 2014-09-09 21:59                                       ` Matthew Hall
       [not found]                                         ` <20140909215919.GA11799-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: Matthew Hall @ 2014-09-09 21:59 UTC (permalink / raw)
  To: Alexander Nasonov; +Cc: dev-VfR2kkLFssw

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: TCP/IP stack for DPDK
       [not found]                                         ` <20140909215919.GA11799-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
@ 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-VfR2kkLFssw

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: TCP/IP stack for DPDK
       [not found]         ` <20140909214922.GB589-7n+jfq1IuBl13aiSOxckUV9wdVTlxKpd@public.gmane.org>
@ 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-VfR2kkLFssw

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:42 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 TCP/IP stack for DPDK zimeiw
     [not found] ` <4a71bb41.1307.14857e341d5.Coremail.zimeiw-9Onoh4P/yGk@public.gmane.org>
2014-09-09  6:20   ` Matthew Hall
     [not found]     ` <20140909062016.GA7050-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
2014-09-09  6:30       ` Jim Thompson
2014-09-09  6:30       ` Vadim Suraev
     [not found]         ` <CAJ0CJ8kZwfxT_yzu8NuLgtYpCBEekN=NQMNdS4R18rmk-w12-w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-09  6:38           ` Zhang, Helin
     [not found]             ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A784F02-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-09-09  6:42               ` Vadim Suraev
     [not found]                 ` <CAJ0CJ8mz9FpdvMtB2Xnjd+59+LKM8c4mja1VjGQRqndOy2cDLw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-09  6:47                   ` Zhang, Helin
     [not found]                     ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A784F23-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-09-09  6:58                       ` Matthew Hall
     [not found]                         ` <20140909065852.GB7240-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
2014-09-09 12:16                           ` Alexander Nasonov
2014-09-09 15:00                             ` Jim Thompson
     [not found]                               ` <E58E79CA-33ED-4104-A9C3-BFA738D24C6E-jiyf0hk6h8BBDgjK7y7TUQ@public.gmane.org>
2014-09-09 20:17                                 ` Alexander Nasonov
2014-09-09 20:51                                 ` Matthew Hall
     [not found]                                   ` <20140909205114.GC11510-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
2014-09-09 21:30                                     ` Alexander Nasonov
2014-09-09 21:59                                       ` Matthew Hall
     [not found]                                         ` <20140909215919.GA11799-Hv3ogNYU3JfZZajBQzqCxQ@public.gmane.org>
2014-09-09 22:47                                           ` Alexander Nasonov
2014-09-09 14:54           ` Stephen Hemminger
     [not found]             ` <CAOaVG178NA5CziT1hKScmghdbiQe25ESbTWJiDZtATkJxDXFxQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-09 15:19               ` Vadim Suraev
     [not found]                 ` <CAJ0CJ8kvuFzbfyJs+UaaoLq5Y0UJrXe6_V0bK_vLr_RpUyAxGg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-09 15:26                   ` Jim Thompson
     [not found]                     ` <BA33F198-66BB-44CB-BEC5-F8902C0A5BA2-jiyf0hk6h8BBDgjK7y7TUQ@public.gmane.org>
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
     [not found]     ` <20140909160911.GA18226-P+9LSW+heshDtcM2BRa8+1DQ4js95KgL@public.gmane.org>
2014-09-09 21:49       ` Aaro Koskinen
     [not found]         ` <20140909214922.GB589-7n+jfq1IuBl13aiSOxckUV9wdVTlxKpd@public.gmane.org>
2014-09-10  3:42           ` zimeiw

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.