<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/netmap/if_igb_netmap.h, branch stable/10</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>MFC 270063: update of netmap code</title>
<updated>2014-08-20T23:34:36+00:00</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2014-08-20T23:34:36+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=609deef53d143a87415f58ae8d9915879345d227'/>
<id>609deef53d143a87415f58ae8d9915879345d227</id>
<content type='text'>
(vtnet and cxgbe not merged yet because we need some other mfc first)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(vtnet and cxgbe not merged yet because we need some other mfc first)
</pre>
</div>
</content>
</entry>
<entry>
<title>MFH: sync the netmap code with the one in HEAD</title>
<updated>2014-02-18T05:01:04+00:00</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2014-02-18T05:01:04+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2d47b4a1972fddbb8a4c9e26afbf09e373c6ba19'/>
<id>2d47b4a1972fddbb8a4c9e26afbf09e373c6ba19</id>
<content type='text'>
(enhanced VALE switch, netmap pipes, emulated netmap mode).
See details in the log for svn 261909.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(enhanced VALE switch, netmap pipes, emulated netmap mode).
See details in the log for svn 261909.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update the Intel igb driver to version 2.4.0</title>
<updated>2013-10-09T17:32:52+00:00</updated>
<author>
<name>Jack F Vogel</name>
<email>jfv@FreeBSD.org</email>
</author>
<published>2013-10-09T17:32:52+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7609433eb60b1aee7ac039dc519e8293262f4013'/>
<id>7609433eb60b1aee7ac039dc519e8293262f4013</id>
<content type='text'>
  - This version has support for the new Intel Avoton systems,
including 2.5Gb support, further it now has IPv6/TSO6 support as
well. Shared code has been updated where necessary as well. Thanks
to my new assistant Eric Joyner for doing the transmit path changes
to bring in the IPv6/TSO6 support. Thanks to Gleb for catching the
one bug and change needed in NETMAP.

Approved by: re
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  - This version has support for the new Intel Avoton systems,
including 2.5Gb support, further it now has IPv6/TSO6 support as
well. Shared code has been updated where necessary as well. Thanks
to my new assistant Eric Joyner for doing the transmit path changes
to bring in the IPv6/TSO6 support. Thanks to Gleb for catching the
one bug and change needed in NETMAP.

Approved by: re
</pre>
</div>
</content>
</entry>
<entry>
<title>whitespace changes:</title>
<updated>2013-04-29T18:00:53+00:00</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2013-04-29T18:00:53+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d4b42e08696b1dc7089bfd21edd6f0f621f30b0d'/>
<id>d4b42e08696b1dc7089bfd21edd6f0f621f30b0d</id>
<content type='text'>
remove $Id$ lines, and add blank lines around some #if / #elif /#endif
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
remove $Id$ lines, and add blank lines around some #if / #elif /#endif
</pre>
</div>
</content>
</entry>
<entry>
<title>add some definition and driver changes in preparation for</title>
<updated>2013-01-17T22:14:58+00:00</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2013-01-17T22:14:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1dce924d2528107dd2c49bf68434bca3135b2fbf'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix some signed/unsigned warnings in the netmap code.</title>
<updated>2012-08-02T11:59:43+00:00</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-08-02T11:59:43+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b3d53016888e82317c056d9269f5cbf78537b6eb'/>
<id>b3d53016888e82317c056d9269f5cbf78537b6eb</id>
<content type='text'>
Unfortunately the original drivers still have a lot of
sign conversion/comparison warnings.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Unfortunately the original drivers still have a lot of
sign conversion/comparison warnings.
</pre>
</div>
</content>
</entry>
<entry>
<title>A bunch of netmap fixes:</title>
<updated>2012-02-27T19:05:01+00:00</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-02-27T19:05:01+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=64ae02c36579bad7d5e682589a0bc1023e359f9d'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Various cleanups for readability (no functional changes)</title>
<updated>2012-02-17T14:09:04+00:00</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-02-17T14:09:04+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=babc7c12587be4f23bd76e6072081d920ded1a47'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
<entry>
<title>(This commit only touches code within the DEV_NETMAP blocks)</title>
<updated>2012-02-15T23:13:29+00:00</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-02-15T23:13:29+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5644ccec612ab2b8c38f1752bb75919f86970a27'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>reduce the differences between these three files.</title>
<updated>2012-02-15T18:59:26+00:00</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-02-15T18:59:26+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4b0a80098875c40c404626086a7aaa7ab15831ea'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The three drivers (em, lem and igb) are extremely similar, too bad
that the structures use different names and we cannot share the code.
</pre>
</div>
</content>
</entry>
</feed>
