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

Fernando Frediani fhfrediani at gmail.com
Sun Sep 27 10:28:21 EDT 2015


That would be a really intresting and important feature for many hardware.

Fernando

On 26/09/2015 23:57, Weedy wrote:
>
> Did this die?
>
> On 22 Dec 2014 9:06 am, "Tomer Eliyahu" <tomereliyahu1 at gmail.com 
> <mailto: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 <mailto:ramm at marvell.com>
>     Tomer Eliyahu tomere at marvell.com <mailto: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
>     <mailto:openwrt-devel at lists.openwrt.org>
>     https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
>
>
> _______________________________________________
> 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/20150927/90f674ff/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