Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NG_IFACE(4)		 BSD Kernel Interfaces Manual		   NG_IFACE(4)

NAME
     ng_iface -- interface netgraph node type

SYNOPSIS
     #include <netgraph/ng_iface.h>

DESCRIPTION
     An	iface node is both a netgraph node and a system	networking interface.
     When an iface node	is created, a new interface appears which is accessi-
     ble via ifconfig(8).  Iface node interfaces are named ng0,	ng1, etc.
     When a node is shutdown, the corresponding	interface is removed and the
     interface name becomes available for reuse	by future iface	nodes; new
     nodes always take the first unused	interface.  The	node itself is as-
     signed the	same name as its interface, unless the name already exists, in
     which case	the node remains unnamed.

     An	iface node has a single	hook corresponding to each supported protocol.
     Packets transmitted via the interface flow	out the	corresponding proto-
     col-specific hook.	 Similarly, packets received on	a hook appear on the
     interface as packets received into	the corresponding protocol stack.  The
     currently supported protocols are IP, IPv6, AppleTalk, IPX, ATM, NATM,
     and NS.

     An	iface node can be configured as	a point-to-point interface or a	broad-
     cast interface.  The configuration	can only be changed when the interface
     is	down.  The default mode	is point-to-point.

     Iface nodes support the Berkeley Packet Filter (BPF).

HOOKS
     This node type supports the following hooks:

     inet    Transmission and reception	of IP packets.

     inet6   Transmission and reception	of IPv6	packets.

     atalk   Transmission and reception	of AppleTalk packets.

     ipx     Transmission and reception	of IPX packets.

     atm     Transmission and reception	of ATM packets.

     natm    Transmission and reception	of NATM	packets.

     ns	     Transmission and reception	of NS packets.

CONTROL	MESSAGES
     This node type supports the generic control messages, plus	the following:

     NGM_IFACE_GET_IFNAME
	  Returns the name of the associated interface as a NUL-terminated
	  ASCII	string.	 Normally this is the same as the name of the node.

     NGM_IFACE_GET_IFINDEX
	  Returns the global index of the associated interface as a 32 bit in-
	  teger.

     NGM_IFACE_POINT2POINT
	  Set the interface to point-to-point mode.  The interface must	not
	  currently be up.

     NGM_IFACE_BROADCAST
	  Set the interface to broadcast mode.	The interface must not cur-
	  rently be up.

     NGM_CISCO_GET_IPADDR
	  This message is defined by the ng_cisco(4) node type;	see
	  ng_cisco(4) for a description.

SHUTDOWN
     This node shuts down upon receipt of a NGM_SHUTDOWN control message.  The
     associated	interface is removed and becomes available for use by future
     iface nodes.

     Unlike most other node types, an iface node does not go away when all
     hooks have	been disconnected; rather, and explicit	NGM_SHUTDOWN control
     message is	required.

ALTQ Support
     The ng_iface interface supports ALTQ bandwidth management feature.	 How-
     ever, ng_iface is a special case, since it	is not a physical interface
     with limited bandwidth.  One should not turn ALTQ on ng_iface if the lat-
     ter corresponds to	some tunneled connection, e.g. PPPoE or	PPTP.  In this
     case, ALTQ	should be configured on	the interface that is used to transmit
     the encapsulated packets.	In case	when your graph	ends up	with some kind
     of	serial line, either synchronous	or modem, the ng_iface is the right
     place to turn ALTQ	on.

SEE ALSO
     altq(4), bpf(4), netgraph(4), ng_cisco(4),	ifconfig(8), ngctl(8)

HISTORY
     The iface node type was implemented in FreeBSD 4.0.

AUTHORS
     Archie Cobbs <archie@FreeBSD.org>

BSD			       October 28, 2005				   BSD

NAME | SYNOPSIS | DESCRIPTION | HOOKS | CONTROL MESSAGES | SHUTDOWN | ALTQ Support | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ng_iface&sektion=4&manpath=FreeBSD+8.2-RELEASE>

home | help