<!-- $FreeBSD: head/en_US.ISO8859-1/htdocs/news/status/report-sample.xml 45745 2014-10-08 01:13:27Z wblock $ -->

<!-- Please send your reports to: monthly@FreeBSD.org -->

  <project cat='proj'>
    <title>Projects/routing status report</title>
    <contact>
      <person>
	<name>
	  <given>Alexander</given>
	  <common>Chernikov</common>
	</name>
	<email>melifaro@FreeBSD.org</email>
      </person>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/ProjectsRoutingProposal">Initial proposal</url>
    </links>
    <body>
      <p>Projects/routing is a FreeBSD routing system rework aimed to provide performance, scalability and ability to bring advanced features to the stack</p>
      <p>Currently, packet output path suffers from excessive locking: acquiring/releasing 4 contested locks are required to convert packet to the frame suitable to put down the wire. The first project goal is to reduce number of locks to 2 rmlock(9) for output path which permits close-to-linear scaling.</p>
      <p>Since September, one of the locks (used to protect link-level entries) was completely eliminated from packet data path. New routing API was introduced, featuring better scalability and hiding routing internals. Most of the old routing API users were converted to the new API.</p>
    </body>
  </project>
