summaryrefslogtreecommitdiffstats
path: root/share/man/man9/ifnet.9
diff options
context:
space:
mode:
authorasmodai <asmodai@FreeBSD.org>2001-09-22 12:34:19 +0000
committerasmodai <asmodai@FreeBSD.org>2001-09-22 12:34:19 +0000
commit7f887c6ea4608c670b461aafcc206c38a47e0a6d (patch)
tree9ad8690a83c883d42a021880c075a264c5fad7b0 /share/man/man9/ifnet.9
parentb78a2af2f6f5c077ba100abb60e3e4bf0980f5e4 (diff)
downloadFreeBSD-src-7f887c6ea4608c670b461aafcc206c38a47e0a6d.zip
FreeBSD-src-7f887c6ea4608c670b461aafcc206c38a47e0a6d.tar.gz
Commit descriptions for the interface capabilities support.
Diffstat (limited to 'share/man/man9/ifnet.9')
-rw-r--r--share/man/man9/ifnet.943
1 files changed, 40 insertions, 3 deletions
diff --git a/share/man/man9/ifnet.9 b/share/man/man9/ifnet.9
index b015ba0..c8b89ff 100644
--- a/share/man/man9/ifnet.9
+++ b/share/man/man9/ifnet.9
@@ -219,7 +219,7 @@ The fields of
.Li "struct ifnet"
are as follows:
.Pp
-.Bl -tag -width "if_poll_slowq" -offset indent
+.Bl -tag -width "if_capabilities" -offset indent
.It Li "if_softc"
.Pq Li "void *"
A pointer to the driver's private state block. (Initialized by
@@ -280,6 +280,12 @@ decremented by generic watchdog code.)
.Pq Li "short"
Flags describing operational parameters of this interface (see below).
(Manipulated by both driver and generic code.)
+.It Li "if_capabilities"
+.Pq Li "int"
+Flags describing the capabilities the interface supports (see below).
+.It Li "if_enable"
+.Pq Li "int"
+Flags describing the enabled capabilties of the interface (see below).
.\" .It Li "if_ipending"
.\" Interrupt-pending bits for polled operation:
.\" .Dv IFI_XMIT
@@ -441,6 +447,33 @@ defines the bits which cannot be set by a user program using the
command to
.Xr ioctl 2 ;
these are indicated by an asterisk in the listing above.
+.Ss Interface capabilities flags
+Interface capabilities are specialized features an interface may
+or may not support.
+These capabilities are very hardware-specific
+and allow, when enabled,
+to offload specific network processing to the interface.
+.Pp
+.Bl -tag -width "IFCAP_NETCONS" -offset indent
+.It Dv IFCAP_HWCSUM
+This interface can do checksum validation for the IP stack on both
+receiving and transmitting data.
+Some interfaces do not have sufficient buffer storage to store frames
+above a certain MTU-size completely.
+The driver for the interface might disable hardware checksum validation
+if the MTU is set above the hardcoded limit.
+.It Dv IFCAP_NETCONS
+This interface can be a network console.
+.It Dv IFCAP_RXCSUM
+This interface can do checksum validation for the IP stack on receiving data.
+Some interfaces do not have sufficient buffer storage to store frames
+above a certain MTU-size completely.
+The driver for the interface might disable hardware checksum validation
+if the MTU is set above the hardcoded limit.
+.It Dv IFCAP_TXCSUM
+This interface can do checksum calculation for the IP stack on transmitting
+data.
+.El
.Ss The if_data structure
In
.Bx 4.4 ,
@@ -800,13 +833,17 @@ further interpretation. The following commands are handled by
.It Dv SIOCGIFCONF
.It Dv OSIOCGIFCONF
Get interface configuration. (No call-down to driver.)
+.It Dv SIOCGIFCAP
.It Dv SIOCGIFFLAGS
.It Dv SIOCGIFMETRIC
.It Dv SIOCGIFMTU
.It Dv SIOCGIFPHYS
-Get interface flags, metric, MTU, medium selection. (No call-down to
-driver.)
+Get interface capabilities, flags, metric, MTU, medium selection.
+(No call-down to driver.)
.Pp
+.It Dv SIOCSIFCAP
+Enable interface capabilities.
+Caller must have appropriate privilege.
.It Dv SIOCSIFFLAGS
Change interface flags. Caller must have appropriate privilege. If
requested a change to the IFF_UP flag is requested,
OpenPOWER on IntegriCloud