<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/netmap/if_em_netmap.h, branch release/10.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2014-08-20T23:34:36Z</updated>
<entry>
<title>MFC 270063: update of netmap code</title>
<updated>2014-08-20T23:34:36Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2014-08-20T23:34:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=609deef53d143a87415f58ae8d9915879345d227'/>
<id>urn:sha1:609deef53d143a87415f58ae8d9915879345d227</id>
<content type='text'>
(vtnet and cxgbe not merged yet because we need some other mfc first)
</content>
</entry>
<entry>
<title>MFH: sync the netmap code with the one in HEAD</title>
<updated>2014-02-18T05:01:04Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2014-02-18T05:01:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2d47b4a1972fddbb8a4c9e26afbf09e373c6ba19'/>
<id>urn:sha1:2d47b4a1972fddbb8a4c9e26afbf09e373c6ba19</id>
<content type='text'>
(enhanced VALE switch, netmap pipes, emulated netmap mode).
See details in the log for svn 261909.
</content>
</entry>
<entry>
<title>remove trailing whitespace</title>
<updated>2013-05-02T16:01:04Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2013-05-02T16:01:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=654ae8d68c0a79dfa51d1279de2bac7bebda6dae'/>
<id>urn:sha1:654ae8d68c0a79dfa51d1279de2bac7bebda6dae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>whitespace changes:</title>
<updated>2013-04-29T18:00:53Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2013-04-29T18:00:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d4b42e08696b1dc7089bfd21edd6f0f621f30b0d'/>
<id>urn:sha1:d4b42e08696b1dc7089bfd21edd6f0f621f30b0d</id>
<content type='text'>
remove $Id$ lines, and add blank lines around some #if / #elif /#endif
</content>
</entry>
<entry>
<title>add some definition and driver changes in preparation for</title>
<updated>2013-01-17T22:14:58Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2013-01-17T22:14:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1dce924d2528107dd2c49bf68434bca3135b2fbf'/>
<id>urn:sha1:1dce924d2528107dd2c49bf68434bca3135b2fbf</id>
<content type='text'>
two upcoming features:

semi-transparent mode:
    when a device is opened in this mode, the
    user program will be able to mark slots that must be forwarded
    to the "other" side (i.e. from NIC to host stack, or viceversa),
    and the forwarding will occur automatically at the next netmap syscall.
    This saves the need to open another file descriptor and do
    the forwarding manually.

direct-forwarding mode:
    when operating with a VALE port, the user can specify in the slot
    the actual destination port, overriding the forwarding decision
    made by a lookup of the destination MAC. This can be useful to
    implement packet dispatchers.

No API changes will be introduced.
No new functionality in this patch yet.
</content>
</entry>
<entry>
<title>fix some signed/unsigned warnings in the netmap code.</title>
<updated>2012-08-02T11:59:43Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-08-02T11:59:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b3d53016888e82317c056d9269f5cbf78537b6eb'/>
<id>urn:sha1:b3d53016888e82317c056d9269f5cbf78537b6eb</id>
<content type='text'>
Unfortunately the original drivers still have a lot of
sign conversion/comparison warnings.
</content>
</entry>
<entry>
<title>A bunch of netmap fixes:</title>
<updated>2012-02-27T19:05:01Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-02-27T19:05:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=64ae02c36579bad7d5e682589a0bc1023e359f9d'/>
<id>urn:sha1:64ae02c36579bad7d5e682589a0bc1023e359f9d</id>
<content type='text'>
USERSPACE:
1. add support for devices with different number of rx and tx queues;

2. add better support for zero-copy operation, adding an extra field
   to the netmap ring to indicate how many buffers we have already processed
   but not yet released (with help from Eddie Kohler);

3. The two changes above unfortunately require an API change, so while
   at it add a version field and some spares to the ioctl() argument
   to help detect mismatches.

4. update the manual page for the two changes above;

5. update sample applications in tools/tools/netmap

KERNEL:

1. simplify the internal structures moving the global wait queues
   to the 'struct netmap_adapter';

2. simplify the functions that map kring&lt;-&gt;nic ring indexes

3. normalize device-specific code, helps mainteinance;

4. start exploring the impact of micro-optimizations (prefetch etc.)
   in the ixgbe driver.
   Use 'legacy' descriptors on the tx ring and prefetch slots gives
   about 20% speedup at 900 MHz. Another 7-10% would come from removing
   the explict calls to bus_dmamap* in the core (they are effectively
   NOPs in this case, but it takes expensive load of the per-buffer
   dma maps to figure out that they are all NULL.

   Rx performance not investigated.

I am postponing the MFC so i can import a few more improvements
before merging.
</content>
</entry>
<entry>
<title>Various cleanups for readability (no functional changes)</title>
<updated>2012-02-17T14:09:04Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-02-17T14:09:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=babc7c12587be4f23bd76e6072081d920ded1a47'/>
<id>urn:sha1:babc7c12587be4f23bd76e6072081d920ded1a47</id>
<content type='text'>
- remove the KEVENT code, which was incomplete and not compiled anyways;
- change some while() loops into for()
- adjust indentation
- remove extra whitespace

MFC after:	1 week
</content>
</entry>
<entry>
<title>(This commit only touches code within the DEV_NETMAP blocks)</title>
<updated>2012-02-15T23:13:29Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-02-15T23:13:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5644ccec612ab2b8c38f1752bb75919f86970a27'/>
<id>urn:sha1:5644ccec612ab2b8c38f1752bb75919f86970a27</id>
<content type='text'>
Introduce some functions to map NIC ring indexes into netmap ring
indexes and vice versa. This way we can implement the bound
checks only in one place (and hopefully in a correct way).

On passing, make the code and comments more uniform across the
various drivers.
</content>
</entry>
<entry>
<title>reduce the differences between these three files.</title>
<updated>2012-02-15T18:59:26Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-02-15T18:59:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4b0a80098875c40c404626086a7aaa7ab15831ea'/>
<id>urn:sha1:4b0a80098875c40c404626086a7aaa7ab15831ea</id>
<content type='text'>
The three drivers (em, lem and igb) are extremely similar, too bad
that the structures use different names and we cannot share the code.
</content>
</entry>
</feed>
