aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@FreeBSD.org>2012-03-20 16:56:35 +0000
committerSergey Kandaurov <pluknet@FreeBSD.org>2012-03-20 16:56:35 +0000
commit8a9b1b14f686961d467d8416103c8928f539f9c7 (patch)
treec3ec66697de344b372c5bec3a585247dc6a057e3 /share
parent082f959ac8281d323f9289c45b769275e172c917 (diff)
downloadsrc-8a9b1b14f686961d467d8416103c8928f539f9c7.tar.gz
src-8a9b1b14f686961d467d8416103c8928f539f9c7.zip
Update the list of struct ifnet fields.
- Document if_vnet, if_home_vnet, if_carp, if_vlantrunk, if_multiaddrs, if_amcount, if_addr, if_llsoftc stub, if_broadcastaddr, if_bridge, if_label, if_afdata, if_afdata_initialized, if_afdata_lock, if_linktask, if_addr_mtx (now if_addr_lock), if_clones, if_groups, if_pf_kif, if_lagg, if_alloctype - G/c now defunct and/or commented out in the manual page if_ipending, if_poll_slowq, if_done, if_poll_recv, if_poll_xmit, if_poll_slowinput, if_poll_intren - Update if_snd type changed with ALTQ integration. MFC after: 1 week
Notes
Notes: svn path=/head/; revision=233232
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/ifnet.9147
1 files changed, 115 insertions, 32 deletions
diff --git a/share/man/man9/ifnet.9 b/share/man/man9/ifnet.9
index f9d56fe99c04..61b7419aa636 100644
--- a/share/man/man9/ifnet.9
+++ b/share/man/man9/ifnet.9
@@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 7, 2012
+.Dd March 20, 2012
.Dt IFNET 9
.Os
.Sh NAME
@@ -229,6 +229,18 @@ A pointer to the driver's private state block.
A pointer to the common data for the interface's layer 2 protocol.
(Initialized by
.Fn if_alloc . )
+.It Va if_vnet
+.Pq Vt "struct vnet *"
+A pointer to the virtual network stack instance.
+(Initialized by
+.Fn if_attach . )
+.It Va if_home_vnet
+.Pq Vt "struct vnet *"
+A pointer to the parent virtual network stack, where this
+.Vt "struct ifnet"
+originates from.
+(Initialized by
+.Fn if_attach . )
.It Va if_link
.Pq Fn TAILQ_ENTRY ifnet
.Xr queue 3
@@ -276,6 +288,13 @@ A count of promiscuous listeners on this interface, used to
reference-count the
.Dv IFF_PROMISC
flag.
+.It Va if_carp
+.Pq Vt "struct carp_if *"
+A pointer to the CARP interface structure,
+.Xr carp 4 .
+(Initialized by the driver-specific
+.Fn if_ioctl
+routine.)
.It Va if_bpf
.Pq Vt "struct bpf_if *"
Opaque per-interface data for the packet filter,
@@ -293,6 +312,13 @@ to refer to a particular interface by index
.Xr link_addr 3 ) .
(Initialized by
.Fn if_alloc . )
+.It Va if_vlantrunk
+.Pq Vt struct ifvlantrunk *
+A pointer to 802.1Q trunk structure,
+.Xr vlan 4 .
+(Initialized by the driver-specific
+.Fn if_ioctl
+routine.)
.It Va if_flags
.Pq Vt int
Flags describing operational parameters of this interface (see below).
@@ -307,17 +333,6 @@ Flags describing the capabilities the interface supports (see below).
.It Va if_capenable
.Pq Vt int
Flags describing the enabled capabilities of the interface (see below).
-.\" .It Va if_ipending
-.\" Interrupt-pending bits for polled operation:
-.\" .Dv IFI_XMIT
-.\" (transmit complete interrupt)
-.\" and
-.\" .Dv IFI_RECV
-.\" (received packet ready interrupt).
-.\" See the
-.\" .Sx Polling
-.\" section, below.
-.\" (Manipulated by driver.)
.It Va if_linkmib
.Pq Vt "void *"
A pointer to an interface-specific MIB structure exported by
@@ -334,18 +349,97 @@ More statistics and information; see
below.
(Initialized by driver, manipulated by both driver and generic
code.)
+.It Va if_multiaddrs
+.Pq Vt struct ifmultihead
+The head of the
+.Xr queue 3
+.Li TAILQ
+containing the list of multicast addresses assigned to this interface.
+.It Va if_amcount
+.Pq Vt int
+A number of multicast requests on this interface, used to
+reference-count the
+.Dv IFF_ALLMULTI
+flag.
+.It Va if_addr
+.Pq Vt "struct ifaddr *"
+A pointer to the link-level interface address.
+(Initialized by
+.Fn if_alloc . )
+.\" .It Va if_llsoftc
+.\" .Pq Vt "void *"
+.\" The purpose of the field is unclear.
.It Va if_snd
-.Pq Vt "struct ifqueue"
+.Pq Vt "struct ifaltq"
The output queue.
(Manipulated by driver.)
-.\".It Va if_poll_slowq
-.\".Pq Vt "struct ifqueue *"
-.\"A pointer to the input queue for devices which do not support polling
-.\"well.
-.\"See the
-.\".Sx Polling
-.\"section, below.
-.\"(Initialized by driver.)
+.It Va if_broadcastaddr
+.Pq Vt "const u_int8_t *"
+A link-level broadcast bytestring for protocols with variable address
+length.
+.It Va if_bridge
+.Pq Vt "void *"
+A pointer to the bridge interface structure,
+.Xr if_bridge 4 .
+(Initialized by the driver-specific
+.Fn if_ioctl
+routine.)
+.It Va if_label
+.Pq Vt "struct label *"
+A pointer to the MAC Framework label structure,
+.Xr mac 4 .
+(Initialized by
+.Fn if_alloc . )
+.It Va if_afdata
+.Pq Vt "void *"
+An address family dependent data region.
+.It Va if_afdata_initialized
+.Pq Vt int
+Used to track the current state of address family initialization.
+.It Va if_afdata_lock
+.Pq Vt "struct rwlock"
+An
+.Xr rwlock 9
+lock used to protect
+.Va if_afdata
+internals.
+.It Va if_linktask
+.Pq Vt "struct task"
+A
+.Xr taskqueue 9
+task scheduled for link state change events of the interface.
+.It Va if_addr_lock
+.Pq Vt "struct rwlock"
+An
+.Xr rwlock 9
+lock used to protect interface-related address lists.
+.It Va if_clones
+.Pq Fn LIST_ENTRY ifnet
+.Xr queue 3
+macro glue for the list of clonable network interfaces.
+.It Va if_groups
+.Pq Fn TAILQ_HEAD ", ifg_list"
+The head of the
+.Xr queue 3
+.Li TAILQ
+containing the list of groups per interface.
+.It Va if_pf_kif
+.Pq Vt "void *"
+A pointer to the structure used for interface abstraction by
+.Xr pf 4 .
+.It Va if_lagg
+.Pq Vt "void *"
+A pointer to the
+.Xr lagg 4
+interface structure.
+.It Va if_alloctype
+.Pq Vt u_char
+The type of the interface as it was at the time of its allocation.
+It is used to cache the type passed to
+.Fn if_alloc ,
+but unlike
+.Va if_type ,
+it would not be changed by drivers.
.El
.Pp
References to
@@ -416,10 +510,6 @@ flag is not set.
does not literally mean that output is active, but rather that the
device's internal output queue is full.) Please note that this function
will soon be deprecated.
-.It Fn if_done
-Not used.
-We are not even sure what it was ever for.
-The prototype is faked.
.It Fn if_ioctl
Process interface-related
.Xr ioctl 2
@@ -434,13 +524,6 @@ flags and flushing queues.
See the description of
.Fn ifioctl
below for more information.
-.\" .It Fn if_poll_recv
-.\" .It Fn if_poll_xmit
-.\" .It Fn if_poll_slowinput
-.\" .It Fn if_poll_intren
-.\" See the
-.\" .Sx Polling
-.\" section, below.
.It Fn if_init
Initialize and bring up the hardware,
e.g., reset the chip and enable the receiver unit.