ng_eiface —
generic Ethernet interface netgraph node
type
#include
<netgraph/ng_eiface.h>
The
eiface netgraph node implements the generic
Ethernet interface. When an
eiface node is
created, a new interface appears which is accessible via
ifconfig(8). These interfaces are named
“
ngeth0
”,
“
ngeth1
”, etc. When a node is shut down,
the corresponding interface is removed, and the interface name becomes
available for reuse by future
eiface nodes.
New nodes always take the first unused interface.
An
eiface node has a single hook named
ether, which should be connected to the
Ethernet downstream, for example, to the
ng_vlan(4) node. Packets transmitted via the
interface flow out this hook. Similarly, packets received on the hook go to
the protocol stack as packets received by any real Ethernet interface.
This node type supports the generic control messages, plus the following:
-
NGM_EIFACE_SET
(set)
- Set link-level address of the interface. Requires
struct ether_addr as an argument. This
message also has an ASCII version, called
“
set
”, which requires as an argument
an ASCII string consisting of 6 colon-separated hex digits.
-
NGM_EIFACE_GET_IFNAME
(getifname)
- Return the name of the associated interface as a
NULL
-terminated ASCII string.
NGM_EIFACE_GET_IFADDRS
- Return the list of link-level addresses associated with the
node.
This node shuts down upon receipt of a
NGM_SHUTDOWN
control message. The
associated interface is removed and its name becomes available for reuse by
future
eiface nodes.
Unlike most other node types, an
eiface node
does
not go away when all hooks have been
disconnected; rather, an explicit
NGM_SHUTDOWN
control message is required.
netgraph(4),
ng_ether(4),
ng_iface(4),
ng_vlan(4),
ifconfig(8),
ngctl(8)
The
eiface node type was implemented in
FreeBSD 4.6.
The
eiface node type was written by
Vitaly V Belekhov. This manual page was
written by
Gleb Smirnoff.