version 1.103, 2023/10/15 15:18:45 |
version 1.104, 2023/10/15 15:32:37 |
|
|
|
|
<li>Initial support for TCP segmentation offload (TSO) and TCP large receive offload (LRO) was implemented: |
<li>Initial support for TCP segmentation offload (TSO) and TCP large receive offload (LRO) was implemented: |
<ul> |
<ul> |
<li>If the driver of a network interface supports TCP segmentation |
<li>If the driver of a network interface supports TSO, |
offload (TSO), do not chop the packet in the network stack, |
do not chop the packet in the network stack, |
but pass it down to the interface layer for TSO. |
but pass it down to the interface layer for TSO. |
<li>Provide a software TSO implementation, to be used as a fallback |
<li>Provide a software TSO implementation, to be used as a fallback |
if network hardware does not support TSO. |
if network hardware does not support TSO. |
|
|
<li>In <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>, |
<li>In <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>, |
display separate |
display separate |
<a href="https://man.openbsd.org/ifconfig.8#hwfeatures">hwfeatures</a> |
<a href="https://man.openbsd.org/ifconfig.8#hwfeatures">hwfeatures</a> |
for TCP segmentation offload (TSOv4, TSOv6) |
for TSOv4, TSOv6, and LRO and provide a |
and TCP large receive offload (LRO) and provide a |
|
<a href="https://man.openbsd.org/ifconfig.8#tcplro">-tcplro</a> |
<a href="https://man.openbsd.org/ifconfig.8#tcplro">-tcplro</a> |
parameter to disable LRO. |
parameter to disable LRO on a per-interface basis. |
<li>Enable TSO and forwarding of LRO packets via TSO in |
<li>Enable TSO and forwarding of LRO packets via TSO in |
<a href="https://man.openbsd.org/ix.4">ix(4)</a>. |
<a href="https://man.openbsd.org/ix.4">ix(4)</a>. |
<li>In <a href="https://man.openbsd.org/ix.4">ix(4)</a>, allocate |
<li>In <a href="https://man.openbsd.org/ix.4">ix(4)</a>, allocate |
|
|
<li>Speed up TCP transfer on |
<li>Speed up TCP transfer on |
<a href="https://man.openbsd.org/lo.4">lo(4)</a> |
<a href="https://man.openbsd.org/lo.4">lo(4)</a> |
interfaces by using TSO and LRO. |
interfaces by using TSO and LRO. |
<li>Enable Large Receive Offload (LRO) for TCP per default in network |
<li>Enable LRO per default in network |
drivers. LRO allows to receive aggregated packets larger than the MTU. |
drivers. LRO allows to receive aggregated packets larger than the MTU. |
Receiving TCP streams becomes much faster. Currently only <a |
Receiving TCP streams becomes much faster. Currently only <a |
href="https://man.openbsd.org/ix.4">ix(4)</a> and <a |
href="https://man.openbsd.org/ix.4">ix(4)</a> and <a |
href="https://man.openbsd.org/lo.4">lo(4)</a> devices support LRO, and |
href="https://man.openbsd.org/lo.4">lo(4)</a> devices support LRO, and |
ix(4) is limited to IPv4 and hardware newer than the old 82598 model.<br> |
ix(4) is limited to IPv4 and hardware newer than the old 82598 model. |
LRO can be turned off per interface with ifconfig <code>-tcplro</code>. |
|
</ul> |
</ul> |
|
|
<li>The following changes were made to the <a |
<li>The following changes were made to the <a |