[OpenWrt-Devel] Introducing "fastpath" - Kernel module for speeding up IP forwarding

Weedy weedy2887 at gmail.com
Sun Mar 6 05:22:47 EST 2016


I think it's dead, and I'm sad.
On 6 Mar 2016 4:25 am, "valent.turkovic at gmail.com" <
valent.turkovic at gmail.com> wrote:

> A long shot, but are there any news from Marvel legal department? Would
> sending them a case of good beer solve this? :)
>
> On Sunday, 27 September 2015, Weedy <weedy2887 at gmail.com> wrote:
>
>> Did this die?
>> On 22 Dec 2014 9:06 am, "Tomer Eliyahu" <tomereliyahu1 at gmail.com> wrote:
>>
>>> Hi,
>>>
>>> We are software developers, part of Marvell's cellular platform
>>> infrastructure team.
>>>
>>> Our team has been working on a project named "fastpath" for speeding
>>> up IP forwarding in embedded systems.
>>> The initial version (fastpath v1) has already been successfully
>>> deployed in our latest pxa1801 (cellular modem) based products.
>>>
>>> We are in the final stages of fastpath v2 development, which is
>>> completely hardware independent and requires minimal changes in the
>>> generic networking code (the project consists of a kernel module and a
>>> single kernel patch); despite being hardware independent, fastpath v2
>>> already achieved the same level of performance (as fastpath v1) and
>>> even increased stability.
>>>
>>> Our development platform is running openwrt Barrier Breaker (r43694),
>>> so naturally we chose to suggest this to the openwrt development
>>> community first.
>>>
>>> You can find a brief description of our fastpath solution below.
>>>
>>> We are anxious to hear your thoughts/comments and will gladly share the
>>> code.
>>>
>>> Best Regards,
>>>
>>> Ram Marzin ramm at marvell.com
>>> Tomer Eliyahu tomere at marvell.com
>>>
>>>
>>> Fastpath in a nutshell
>>> ----------------------
>>>
>>> The basic concept of fastpath is to optimize the data-plane while
>>> keeping the control-plane in the generic networking stack.
>>> This is a known concept in the industry which is commonly used in
>>> embedded systems [1], but so far we couldn't find any open source
>>> implementation for it.
>>>
>>> Fast path implements an optimized data-plane, which replaces the
>>> generic data-plane forwarding code for selected connections. The
>>> data-plane implementation includes a straight forward optimized packet
>>> processing engine which handles all the required packet manipulation
>>> for IP forwarding, such as decrement ttl/hop count, checksum
>>> adjustment, MAC header encapsulation and "dummy NAT" (TCP/UDP traffic
>>> which does not carry any L3/L4 information in the packet payload).
>>>
>>> As noted above, the control-plane is handled by the generic networking
>>> stack, with the only exception of learning new connections and marking
>>> the valid ones as fastpath - some connections can't participate in
>>> fastpath, such as any "non-dummy NAT" connections (e.g. FTP control
>>> port), local traffic, and any protocol which is not supported (e.g.
>>> IPv6 extensions, IPSec, IPv4 fragmanted packets, etc.).
>>> Needless to say that ALL non-fastpath connections / protocols will
>>> work as is, i.e. they simply won't go through fastpath.
>>>
>>> As a rule of thumb, it is safe to assume that in most of the cases,
>>> 90% of the data will go through fastpath. In our experiments on
>>> pxa1801, fastpath alone *almost doubled* the performance (both
>>> Throughput and MIPS consumption) for TCP/UDP IPv4/IPv6 forwarding.
>>>
>>> References
>>> [1]
>>> http://www.embedded.com/design/operating-systems/4403058/Accelerating-network-packet-processing-in-Linux
>>> _______________________________________________
>>> openwrt-devel mailing list
>>> openwrt-devel at lists.openwrt.org
>>> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20160306/c5f32b34/attachment.htm>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list