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

Weedy weedy2887 at gmail.com
Sat Sep 26 22:57:30 EDT 2015

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/20150926/c0560de4/attachment.htm>
-------------- next part --------------
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list