1999-10-21 09:06:11 +00:00
|
|
|
.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Subject to the following obligations and disclaimer of warranty, use and
|
|
|
|
.\" redistribution of this software, in source or object code forms, with or
|
|
|
|
.\" without modifications are expressly permitted by Whistle Communications;
|
|
|
|
.\" provided, however, that:
|
|
|
|
.\" 1. Any and all reproductions of the source or object code must include the
|
|
|
|
.\" copyright notice above and the following disclaimer of warranties; and
|
|
|
|
.\" 2. No rights are granted, in any manner or form, to use Whistle
|
|
|
|
.\" Communications, Inc. trademarks, including the mark "WHISTLE
|
|
|
|
.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
|
|
|
|
.\" such appears in the above copyright notice or in the software.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
|
|
|
|
.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
|
|
|
|
.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
|
|
|
|
.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
|
|
|
|
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
|
|
|
|
.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
|
|
|
|
.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
|
|
|
|
.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
|
|
|
|
.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
|
|
|
|
.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
|
|
|
|
.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
|
|
|
.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
|
|
.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
|
|
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
|
|
.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
|
|
|
|
.\" OF SUCH DAMAGE.
|
|
|
|
.\"
|
|
|
|
.\" Author: Archie Cobbs <archie@whistle.com>
|
|
|
|
.\"
|
|
|
|
.\" $FreeBSD$
|
|
|
|
.\" $Whistle: ng_iface.8,v 1.5 1999/01/25 23:46:26 archie Exp $
|
|
|
|
.\"
|
|
|
|
.Dd January 19, 1999
|
|
|
|
.Dt NG_IFACE 8
|
1999-12-21 01:25:21 +00:00
|
|
|
.Os FreeBSD
|
1999-10-21 09:06:11 +00:00
|
|
|
.Sh NAME
|
|
|
|
.Nm ng_iface
|
|
|
|
.Nd interface netgraph node type
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Fd #include <netgraph/ng_iface.h>
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
An
|
|
|
|
.Nm iface
|
|
|
|
node is both a netgraph node and a system networking interface. When an
|
2000-03-13 19:19:48 +00:00
|
|
|
.Nm iface
|
|
|
|
node is created, a new interface appears which is accessible via
|
1999-10-21 09:06:11 +00:00
|
|
|
.Xr ifconfig 8 .
|
2000-03-13 19:19:48 +00:00
|
|
|
.Nm Iface
|
|
|
|
node interfaces are named
|
1999-10-21 09:06:11 +00:00
|
|
|
.Dv ng0 ,
|
|
|
|
.Dv ng1 ,
|
2000-03-13 19:19:48 +00:00
|
|
|
etc.
|
|
|
|
When a node is shutdown, the corresponding interface is removed
|
|
|
|
and the interface name becomes available for reuse by future
|
|
|
|
.Nm iface
|
|
|
|
nodes; new nodes always take the first unused interface.
|
|
|
|
The node itself is assigned the same name as its interface, unless the name
|
1999-10-21 09:06:11 +00:00
|
|
|
already exists, in which case the node remains unnamed.
|
|
|
|
.Pp
|
1999-12-21 01:25:21 +00:00
|
|
|
An
|
2000-03-13 19:19:48 +00:00
|
|
|
.Nm iface
|
1999-12-21 01:25:21 +00:00
|
|
|
node has a single hook corresponding to each supported protocol.
|
1999-10-21 09:06:11 +00:00
|
|
|
Packets transmitted via the interface flow out the corresponding
|
|
|
|
protocol-specific hook.
|
|
|
|
Similarly, packets received on a hook appear on the interface as
|
2000-03-13 19:19:48 +00:00
|
|
|
packets received into the corresponding protocol stack.
|
|
|
|
The currently supported protocols are IP, IPv6, AppleTalk, IPX, ATM,
|
|
|
|
NATM, and NS.
|
1999-10-21 09:06:11 +00:00
|
|
|
.Pp
|
1999-12-21 01:25:21 +00:00
|
|
|
An
|
2000-03-13 19:19:48 +00:00
|
|
|
.Nm iface
|
|
|
|
node be configured as a point-to-point interface or a broadcast interface.
|
|
|
|
The configuration can only be changed when the interface is down.
|
|
|
|
The default mode is point-to-point.
|
|
|
|
.Pp
|
|
|
|
.Nm Iface
|
|
|
|
nodes support the Berkeley Packet Filter (BPF).
|
1999-10-21 09:06:11 +00:00
|
|
|
.Sh HOOKS
|
|
|
|
This node type supports the following hooks:
|
|
|
|
.Pp
|
|
|
|
.Bl -tag -width foobar
|
|
|
|
.It Dv inet
|
|
|
|
Transmission and reception of IP packets.
|
2000-03-13 19:19:48 +00:00
|
|
|
.It Dv inet6
|
|
|
|
Transmission and reception of IPv6 packets.
|
1999-10-21 09:06:11 +00:00
|
|
|
.It Dv atalk
|
|
|
|
Transmission and reception of AppleTalk packets.
|
2000-03-13 19:19:48 +00:00
|
|
|
.It Dv ipx
|
|
|
|
Transmission and reception of IPX packets.
|
|
|
|
.It Dv atm
|
|
|
|
Transmission and reception of ATM packets.
|
|
|
|
.It Dv natm
|
|
|
|
Transmission and reception of NATM packets.
|
1999-10-21 09:06:11 +00:00
|
|
|
.It Dv ns
|
|
|
|
Transmission and reception of NS packets.
|
|
|
|
.El
|
|
|
|
.Sh CONTROL MESSAGES
|
|
|
|
This node type supports the generic control messages, plus the following:
|
|
|
|
.Bl -tag -width foo
|
|
|
|
.It Dv NGM_IFACE_GET_IFNAME
|
|
|
|
Returns the name of the interface corresponding to this node in a
|
|
|
|
.Dv "struct ng_iface_ifname" :
|
|
|
|
.Bd -literal -offset 4n
|
|
|
|
struct ng_iface_ifname {
|
|
|
|
char ngif_name[NG_IFACE_IFACE_NAME_MAX + 1];
|
|
|
|
};
|
|
|
|
.Ed
|
2000-03-13 19:19:48 +00:00
|
|
|
.It Dv NGM_IFACE_POINT2POINT
|
|
|
|
Set the interface to point-to-point mode.
|
|
|
|
The interface must not currently be up.
|
|
|
|
.It Dv NGM_IFACE_BROADCAST
|
|
|
|
Set the interface to broadcast mode.
|
|
|
|
The interface must not currently be up.
|
1999-10-21 09:06:11 +00:00
|
|
|
.It Dv NGM_CISCO_GET_IPADDR
|
|
|
|
This message is defined by the
|
|
|
|
.Xr ng_cisco 8
|
|
|
|
node type; see
|
|
|
|
.Xr ng_cisco 8
|
|
|
|
for a description.
|
|
|
|
.El
|
|
|
|
.Sh SHUTDOWN
|
2000-03-13 19:19:48 +00:00
|
|
|
This node shuts down upon receipt of a
|
1999-10-21 09:06:11 +00:00
|
|
|
.Dv NGM_SHUTDOWN
|
2000-03-13 19:19:48 +00:00
|
|
|
control message. The associated interface is removed and becomes available
|
|
|
|
for use by future
|
|
|
|
.Nm iface
|
|
|
|
nodes.
|
|
|
|
.Pp
|
|
|
|
Unlike most other node types, an
|
|
|
|
.Nm iface
|
|
|
|
node does
|
|
|
|
.Em not
|
|
|
|
go away when all hooks have been disconnected; rather, and explicit
|
|
|
|
.Dv NGM_SHUTDOWN
|
|
|
|
control message is required.
|
1999-10-21 09:06:11 +00:00
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr bpf 4 ,
|
1999-12-21 01:25:21 +00:00
|
|
|
.Xr netgraph 4 ,
|
|
|
|
.Xr ifconfig 8 ,
|
1999-10-21 09:06:11 +00:00
|
|
|
.Xr ng_cisco 8 ,
|
2000-03-13 19:19:48 +00:00
|
|
|
.Xr ngctl 8
|
1999-12-21 01:25:21 +00:00
|
|
|
.Sh HISTORY
|
|
|
|
The
|
2000-03-13 19:19:48 +00:00
|
|
|
.Nm iface
|
1999-12-21 01:25:21 +00:00
|
|
|
node type was implemented in
|
|
|
|
.Fx 4.0 .
|
2000-03-13 19:19:48 +00:00
|
|
|
.Sh AUTHOR
|
1999-12-21 01:25:21 +00:00
|
|
|
.An Archie Cobbs Aq archie@whistle.com
|