diff options
author | joel <joel@FreeBSD.org> | 2014-12-26 09:35:23 +0000 |
---|---|---|
committer | joel <joel@FreeBSD.org> | 2014-12-26 09:35:23 +0000 |
commit | 4e43db302da4c346291455cc8ec61c2fd09bef34 (patch) | |
tree | 729c8fe6631224ab9899d33aa73b7d424a383b4b /share/man | |
parent | 60baa2cc2abe5733eed2eb9b2fefcbbc88267dae (diff) | |
download | FreeBSD-src-4e43db302da4c346291455cc8ec61c2fd09bef34.zip FreeBSD-src-4e43db302da4c346291455cc8ec61c2fd09bef34.tar.gz |
Minor mdoc fixes.
Diffstat (limited to 'share/man')
-rw-r--r-- | share/man/man4/netmap.4 | 80 |
1 files changed, 36 insertions, 44 deletions
diff --git a/share/man/man4/netmap.4 b/share/man/man4/netmap.4 index f6ca70b..bd5f4f2 100644 --- a/share/man/man4/netmap.4 +++ b/share/man/man4/netmap.4 @@ -243,7 +243,6 @@ contains the index of the first of these free rings, which are connected in a list (the first uint32_t of each buffer being the index of the next buffer in the list). A 0 indicates the end of the list. -.Pp .It Dv struct netmap_ring (one per ring) .Bd -literal struct netmap_ring { @@ -266,7 +265,6 @@ Implements transmit and receive rings, with read/write pointers, metadata and and an array of .Pa slots describing the buffers. -.Pp .It Dv struct netmap_slot (one per buffer) .Bd -literal struct netmap_slot { @@ -367,7 +365,6 @@ are pushed to the port, and .Va tail may advance if further slots have become available. Below is an example of the evolution of a TX ring: -.Pp .Bd -literal after the syscall, slots between cur and tail are (a)vailable head=cur tail @@ -455,7 +452,6 @@ it MUST be used when the buf_idx in the slot is changed. This can be used to implement zero-copy forwarding, see .Sx ZERO-COPY FORWARDING . -.Pp .It NS_REPORT reports when this buffer has been transmitted. Normally, @@ -533,7 +529,6 @@ A file descriptor obtained through .Pa /dev/netmap also supports the ioctl supported by network devices, see .Xr netintro 4 . -.Pp .Bl -tag -width XXXX .It Dv NIOCGINFO returns EINVAL if the named port does not support netmap. @@ -541,7 +536,6 @@ Otherwise, it returns 0 and (advisory) information about the port. Note that all the information below can change before the interface is actually put in netmap mode. -.Pp .Bl -tag -width XX .It Pa nr_memsize indicates the size of the @@ -603,7 +597,6 @@ that application libraries (such as the .Nm nm_open indicated below) can use to indicate the specific set of rings. In the example below, "netmap:foo" is any valid netmap port name. -.Pp .Bl -tag -width XXXXX .It NR_REG_ALL_NIC "netmap:foo" (default) all hardware ring pairs @@ -784,7 +777,6 @@ are controlled through sysctl variables on FreeBSD .Em ( dev.netmap.* ) and module parameters on Linux .Em ( /sys/module/netmap_lin/parameters/* ) : -.Pp .Bl -tag -width indent .It Va dev.netmap.admode: 0 Controls the use of native or emulated adapter mode. @@ -852,42 +844,6 @@ OS primitives, see In particular, .Xr pthread_setaffinity_np 3 may be of use. -.Sh CAVEATS -No matter how fast the CPU and OS are, -achieving line rate on 10G and faster interfaces -requires hardware with sufficient performance. -Several NICs are unable to sustain line rate with -small packet sizes. Insufficient PCIe or memory bandwidth -can also cause reduced performance. -.Pp -Another frequent reason for low performance is the use -of flow control on the link: a slow receiver can limit -the transmit speed. -Be sure to disable flow control when running high -speed experiments. -.Pp -.Ss SPECIAL NIC FEATURES -.Nm -is orthogonal to some NIC features such as -multiqueue, schedulers, packet filters. -.Pp -Multiple transmit and receive rings are supported natively -and can be configured with ordinary OS tools, -such as -.Xr ethtool -or -device-specific sysctl variables. -The same goes for Receive Packet Steering (RPS) -and filtering of incoming traffic. -.Pp -.Nm -.Em does not use -features such as -.Em checksum offloading , TCP segmentation offloading , -.Em encryption , VLAN encapsulation/decapsulation , -etc. . -When using netmap to exchange packets with the host stack, -make sure to disable these features. .Sh EXAMPLES .Ss TEST PROGRAMS .Nm @@ -1065,3 +1021,39 @@ and .Nm VALE have been funded by the European Commission within FP7 Projects CHANGE (257422) and OPENLAB (287581). +.Sh CAVEATS +No matter how fast the CPU and OS are, +achieving line rate on 10G and faster interfaces +requires hardware with sufficient performance. +Several NICs are unable to sustain line rate with +small packet sizes. Insufficient PCIe or memory bandwidth +can also cause reduced performance. +.Pp +Another frequent reason for low performance is the use +of flow control on the link: a slow receiver can limit +the transmit speed. +Be sure to disable flow control when running high +speed experiments. +.Pp +.Ss SPECIAL NIC FEATURES +.Nm +is orthogonal to some NIC features such as +multiqueue, schedulers, packet filters. +.Pp +Multiple transmit and receive rings are supported natively +and can be configured with ordinary OS tools, +such as +.Xr ethtool +or +device-specific sysctl variables. +The same goes for Receive Packet Steering (RPS) +and filtering of incoming traffic. +.Pp +.Nm +.Em does not use +features such as +.Em checksum offloading , TCP segmentation offloading , +.Em encryption , VLAN encapsulation/decapsulation , +etc. . +When using netmap to exchange packets with the host stack, +make sure to disable these features. |