diff options
Diffstat (limited to 'static/freebsd/man4/ifmib.4 3.html')
| -rw-r--r-- | static/freebsd/man4/ifmib.4 3.html | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/static/freebsd/man4/ifmib.4 3.html b/static/freebsd/man4/ifmib.4 3.html deleted file mode 100644 index 20d76a0a..00000000 --- a/static/freebsd/man4/ifmib.4 3.html +++ /dev/null @@ -1,139 +0,0 @@ -<table class="head"> - <tr> - <td class="head-ltitle">IFMIB(4)</td> - <td class="head-vol">Device Drivers Manual</td> - <td class="head-rtitle">IFMIB(4)</td> - </tr> -</table> -<div class="manual-text"> -<section class="Sh"> -<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> -<p class="Pp"><code class="Nm">ifmib</code> — <span class="Nd">Management - Information Base for network interfaces</span></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> -<p class="Pp"><code class="In">#include - <<a class="In">sys/types.h</a>></code> - <br/> - <code class="In">#include <<a class="In">sys/socket.h</a>></code> - <br/> - <code class="In">#include <<a class="In">sys/sysctl.h</a>></code> - <br/> - <code class="In">#include <<a class="In">sys/time.h</a>></code> - <br/> - <code class="In">#include <<a class="In">net/if.h</a>></code> - <br/> - <code class="In">#include <<a class="In">net/if_mib.h</a>></code></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> -<p class="Pp">The <code class="Nm">ifmib</code> facility is an application of - the <a class="Xr">sysctl(3)</a> interface to provide management information - about network interfaces to client applications such as - <a class="Xr">netstat(1)</a>, <a class="Xr">slstat(8)</a>, and SNMP - management agents. This information is structured as a table, where each row - in the table represents a logical network interface (either a hardware - device or a software pseudo-device like <a class="Xr">lo(4)</a>). There are - two columns in the table, each containing a single structure: one column - contains generic information relevant to all interfaces, and the other - contains information specific to the particular class of interface. - (Generally the latter will implement the SNMP MIB defined for that - particular interface class, if one exists and can be implemented in the - kernel.)</p> -<p class="Pp">The <code class="Nm">ifmib</code> facility is accessed via the - “<code class="Li">net.link.generic</code>” branch of the - <a class="Xr">sysctl(3)</a> MIB. The manifest constants for each level in - the <a class="Xr">sysctl(3)</a> <var class="Ar">name</var> are defined in - <code class="In"><<a class="In">net/if_mib.h</a>></code>. The index of - the last row in the table is given by - “<code class="Li">net.link.generic.system.ifcount</code>” (or, - using the manifest constants, <code class="Dv">CTL_NET</code>, - <code class="Dv">PF_LINK</code>, <code class="Dv">NETLINK_GENERIC</code>, - <code class="Dv">IFMIB_SYSTEM</code>, - <code class="Dv">IFMIB_IFCOUNT</code>). A management application searching - for a particular interface should start with row 1 and continue through the - table row-by-row until the desired interface is found, or the interface - count is reached. Note that the table may be sparse, i.e., a given row may - not exist, indicated by an <var class="Va">errno</var> of - <code class="Er">ENOENT</code>. Such an error should be ignored, and the - next row should be checked.</p> -<p class="Pp">The generic interface information, common to all interfaces, can - be accessed via the following procedure:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>int -get_ifmib_general(int row, struct ifmibdata *ifmd) -{ - int name[6]; - size_t len; - - name[0] = CTL_NET; - name[1] = PF_LINK; - name[2] = NETLINK_GENERIC; - name[3] = IFMIB_IFDATA; - name[4] = row; - name[5] = IFDATA_GENERAL; - - len = sizeof(*ifmd); - - return sysctl(name, 6, ifmd, &len, (void *)0, 0); -}</pre> -</div> -<p class="Pp">The fields in <code class="Li">struct ifmibdata</code> are as - follows:</p> -<dl class="Bl-tag"> - <dt id="ifmd_name"><a class="permalink" href="#ifmd_name"><code class="Li">ifmd_name</code></a></dt> - <dd>(<code class="Li">char []</code>) the name of the interface, including the - unit number</dd> - <dt id="ifmd_pcount"><a class="permalink" href="#ifmd_pcount"><code class="Li">ifmd_pcount</code></a></dt> - <dd>(<code class="Li">int</code>) the number of promiscuous listeners</dd> - <dt id="ifmd_flags"><a class="permalink" href="#ifmd_flags"><code class="Li">ifmd_flags</code></a></dt> - <dd>(<code class="Li">int</code>) the interface's flags (defined in - <code class="In"><<a class="In">net/if.h</a>></code>)</dd> - <dt id="ifmd_snd_len"><a class="permalink" href="#ifmd_snd_len"><code class="Li">ifmd_snd_len</code></a></dt> - <dd>(<code class="Li">int</code>) the current instantaneous length of the send - queue</dd> - <dt id="ifmd_snd_drops"><a class="permalink" href="#ifmd_snd_drops"><code class="Li">ifmd_snd_drops</code></a></dt> - <dd>(<code class="Li">int</code>) the number of packets dropped at this - interface because the send queue was full</dd> - <dt id="ifmd_data"><a class="permalink" href="#ifmd_data"><code class="Li">ifmd_data</code></a></dt> - <dd>(<code class="Li">struct if_data</code>) more information from a structure - defined in <code class="In"><<a class="In">net/if.h</a>></code> (see - <a class="Xr">if_data(9)</a>)</dd> -</dl> -<p class="Pp">Class-specific information can be retrieved by examining the - <code class="Dv">IFDATA_LINKSPECIFIC</code> column instead. Note that the - form and length of the structure will depend on the class of interface. For - <code class="Dv">IFT_ETHER</code>, <code class="Dv">IFT_ISO88023</code>, and - <code class="Dv">IFT_STARLAN</code> interfaces, the structure is called - “<code class="Li">struct ifmib_iso_8802_3</code>” (defined in - <code class="In"><<a class="In">net/if_mib.h</a>></code>), and - implements a superset of the RFC 1650 MIB for Ethernet-like networks.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE - ALSO</a></h1> -<p class="Pp"><a class="Xr">sysctl(3)</a>, <a class="Xr">intro(4)</a>, - <a class="Xr">ifnet(9)</a></p> -<p class="Pp"><cite class="Rs"><span class="RsA">F. Kastenholz</span>, - <span class="RsT">Definitions of Managed Objects for the Ethernet-like - Interface Types Using SMIv2</span>, <span class="RsD">August 1994</span>, - <span class="RsO">RFC 1650</span>.</cite></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> -<p class="Pp">The <code class="Nm">ifmib</code> interface first appeared in - <span class="Ux">FreeBSD 2.2</span>.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1> -<p class="Pp">Many Ethernet-like interfaces do not yet support the Ethernet MIB. - Regardless, all interfaces automatically support the generic MIB.</p> -</section> -</div> -<table class="foot"> - <tr> - <td class="foot-date">December 26, 2020</td> - <td class="foot-os">FreeBSD 15.0</td> - </tr> -</table> |
