<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    That would be a really intresting and important feature for many
    hardware. <br>
    <br>
    Fernando<br>
    <br>
    <div class="moz-cite-prefix">On 26/09/2015 23:57, Weedy wrote:<br>
    </div>
    <blockquote
cite="mid:CAFE24U0xajmbSjfmx-7DZhzw9Suq9N6D7DCLkX6bZ-cbRrcQ7g@mail.gmail.com"
      type="cite">
      <p dir="ltr">Did this die?</p>
      <div class="gmail_quote">On 22 Dec 2014 9:06 am, "Tomer Eliyahu"
        <<a moz-do-not-send="true"
          href="mailto:tomereliyahu1@gmail.com">tomereliyahu1@gmail.com</a>>
        wrote:<br type="attribution">
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
          <br>
          We are software developers, part of Marvell's cellular
          platform<br>
          infrastructure team.<br>
          <br>
          Our team has been working on a project named "fastpath" for
          speeding<br>
          up IP forwarding in embedded systems.<br>
          The initial version (fastpath v1) has already been
          successfully<br>
          deployed in our latest pxa1801 (cellular modem) based
          products.<br>
          <br>
          We are in the final stages of fastpath v2 development, which
          is<br>
          completely hardware independent and requires minimal changes
          in the<br>
          generic networking code (the project consists of a kernel
          module and a<br>
          single kernel patch); despite being hardware independent,
          fastpath v2<br>
          already achieved the same level of performance (as fastpath
          v1) and<br>
          even increased stability.<br>
          <br>
          Our development platform is running openwrt Barrier Breaker
          (r43694),<br>
          so naturally we chose to suggest this to the openwrt
          development<br>
          community first.<br>
          <br>
          You can find a brief description of our fastpath solution
          below.<br>
          <br>
          We are anxious to hear your thoughts/comments and will gladly
          share the code.<br>
          <br>
          Best Regards,<br>
          <br>
          Ram Marzin <a moz-do-not-send="true"
            href="mailto:ramm@marvell.com">ramm@marvell.com</a><br>
          Tomer Eliyahu <a moz-do-not-send="true"
            href="mailto:tomere@marvell.com">tomere@marvell.com</a><br>
          <br>
          <br>
          Fastpath in a nutshell<br>
          ----------------------<br>
          <br>
          The basic concept of fastpath is to optimize the data-plane
          while<br>
          keeping the control-plane in the generic networking stack.<br>
          This is a known concept in the industry which is commonly used
          in<br>
          embedded systems [1], but so far we couldn't find any open
          source<br>
          implementation for it.<br>
          <br>
          Fast path implements an optimized data-plane, which replaces
          the<br>
          generic data-plane forwarding code for selected connections.
          The<br>
          data-plane implementation includes a straight forward
          optimized packet<br>
          processing engine which handles all the required packet
          manipulation<br>
          for IP forwarding, such as decrement ttl/hop count, checksum<br>
          adjustment, MAC header encapsulation and "dummy NAT" (TCP/UDP
          traffic<br>
          which does not carry any L3/L4 information in the packet
          payload).<br>
          <br>
          As noted above, the control-plane is handled by the generic
          networking<br>
          stack, with the only exception of learning new connections and
          marking<br>
          the valid ones as fastpath - some connections can't
          participate in<br>
          fastpath, such as any "non-dummy NAT" connections (e.g. FTP
          control<br>
          port), local traffic, and any protocol which is not supported
          (e.g.<br>
          IPv6 extensions, IPSec, IPv4 fragmanted packets, etc.).<br>
          Needless to say that ALL non-fastpath connections / protocols
          will<br>
          work as is, i.e. they simply won't go through fastpath.<br>
          <br>
          As a rule of thumb, it is safe to assume that in most of the
          cases,<br>
          90% of the data will go through fastpath. In our experiments
          on<br>
          pxa1801, fastpath alone *almost doubled* the performance (both<br>
          Throughput and MIPS consumption) for TCP/UDP IPv4/IPv6
          forwarding.<br>
          <br>
          References<br>
          [1] <a moz-do-not-send="true"
href="http://www.embedded.com/design/operating-systems/4403058/Accelerating-network-packet-processing-in-Linux"
            rel="noreferrer" target="_blank">http://www.embedded.com/design/operating-systems/4403058/Accelerating-network-packet-processing-in-Linux</a><br>
          _______________________________________________<br>
          openwrt-devel mailing list<br>
          <a moz-do-not-send="true"
            href="mailto:openwrt-devel@lists.openwrt.org">openwrt-devel@lists.openwrt.org</a><br>
          <a moz-do-not-send="true"
            href="https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel"
            rel="noreferrer" target="_blank">https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
openwrt-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:openwrt-devel@lists.openwrt.org">openwrt-devel@lists.openwrt.org</a>
<a class="moz-txt-link-freetext" href="https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel">https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>