ng_eiface
—
generic Ethernet interface netgraph node type
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.
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.