The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/modules/netgraph/cisco/ng_cisco.4

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 .\" Copyright (c) 1996-1999 Whistle Communications, Inc.
    2 .\" All rights reserved.
    3 .\" 
    4 .\" Subject to the following obligations and disclaimer of warranty, use and
    5 .\" redistribution of this software, in source or object code forms, with or
    6 .\" without modifications are expressly permitted by Whistle Communications;
    7 .\" provided, however, that:
    8 .\" 1. Any and all reproductions of the source or object code must include the
    9 .\"    copyright notice above and the following disclaimer of warranties; and
   10 .\" 2. No rights are granted, in any manner or form, to use Whistle
   11 .\"    Communications, Inc. trademarks, including the mark "WHISTLE
   12 .\"    COMMUNICATIONS" on advertising, endorsements, or otherwise except as
   13 .\"    such appears in the above copyright notice or in the software.
   14 .\" 
   15 .\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
   16 .\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
   17 .\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
   18 .\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
   19 .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
   20 .\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
   21 .\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
   22 .\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
   23 .\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
   24 .\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
   25 .\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
   26 .\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
   27 .\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
   28 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   29 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   30 .\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
   31 .\" OF SUCH DAMAGE.
   32 .\" 
   33 .\" Author: Archie Cobbs <archie@freebsd.org>
   34 .\"
   35 .\" $FreeBSD$
   36 .\" $Whistle: ng_cisco.8,v 1.5 1999/01/25 23:46:26 archie Exp $
   37 .\"
   38 .Dd January 19, 1999
   39 .Dt NG_CISCO 4
   40 .Os FreeBSD
   41 .Sh NAME
   42 .Nm ng_cisco
   43 .Nd Cisco HDLC protocol netgraph node type
   44 .Sh SYNOPSIS
   45 .Fd #include <netinet/in.h>
   46 .Fd #include <netgraph/ng_cisco.h>
   47 .Sh DESCRIPTION
   48 The
   49 .Nm cisco
   50 node type performs encapsulation and de-encapsulation of packets
   51 using the Cisco HDLC protocol. This is a fairly simple
   52 protocol for the transmission of packets across
   53 high speed synchronous lines. Each packet is prepended with
   54 an Ethertype, indicating the protocol. There is also a
   55 .Dq keep alive
   56 and an
   57 .Dq inquire
   58 capability.
   59 .Pp
   60 The
   61 .Dv downstream
   62 hook should connect to the synchronous line. On the other side
   63 of the node are the
   64 .Dv inet ,
   65 .Dv atalk ,
   66 and
   67 .Dv ipx
   68 hooks, which transmit and receive raw IP, AppleTalk, and IPX packets,
   69 respectively.  Typically these hooks would connect to the corresponding
   70 hooks on an
   71 .Xr ng_iface 4
   72 type node.
   73 .Sh IP Configuration
   74 In order to function properly for IP traffic, the node must be informed
   75 of the local IP address and netmask setting.  This is because the protocol
   76 includes an
   77 .Dq inquire
   78 packet which we must be prepared to answer.
   79 There are two ways to accomplish this, manually and automatically.
   80 .Pp
   81 Whenever such an inquire packet is received, the node sends a
   82 .Dv NGM_CISCO_GET_IPADDR
   83 control message to the peer node connected to the
   84 .Dv inet
   85 hook (if any).
   86 If the peer responds, then that response is used. This is the automatic method.
   87 .Pp
   88 If the peer does not respond, the node falls back on its cached value
   89 for the IP address and netmask. This cached value can be set at any time
   90 with a
   91 .Dv NGM_CISCO_SET_IPADDR
   92 message, and this is the manual method.
   93 .Pp
   94 If the
   95 .Dv inet
   96 hook is connected to the
   97 .Dv inet
   98 hook of an
   99 .Xr ng_iface 4
  100 node, as is usually the case, then configuration is automatic as the 
  101 .Xr ng_iface 4
  102 understands the
  103 .Dv NGM_CISCO_GET_IPADDR
  104 message.
  105 .Sh HOOKS
  106 This node type supports the following hooks:
  107 .Pp
  108 .Bl -tag -width foobarbazio
  109 .It Dv downstream
  110 The connection to the synchronous line.
  111 .It Dv inet
  112 IP hook.
  113 .It Dv atalk
  114 AppleTalk hook.
  115 .It Dv ipx
  116 IPX hook
  117 .El
  118 .Sh CONTROL MESSAGES
  119 This node type supports the generic control messages, plus the following:
  120 .Bl -tag -width foo
  121 .It Dv NGM_CISCO_SET_IPADDR
  122 This command takes an array of two
  123 .Dv "struct in_addr"
  124 arguments. The first is the IP address of the corresponding interface
  125 and the second is the netmask.
  126 .It Dv NGM_CISCO_GET_IPADDR
  127 This command returns the IP configuration in the same format used by
  128 .Dv NGM_CISCO_SET_IPADDR .
  129 This command is also
  130 .Em sent
  131 by this node type to the
  132 .Dv inet
  133 peer whenever an IP address inquiry packet is received.
  134 .It Dv NGM_CISCO_GET_STATUS
  135 Returns a
  136 .Dv "struct ngciscostat" :
  137 .Bd -literal -offset 4n
  138 struct ngciscostat {
  139   u_int32_t   seq_retries;       /* # unack'd retries */
  140   u_int32_t   keepalive_period;  /* in seconds */
  141 };
  142 .Ed
  143 .El
  144 .Sh SHUTDOWN
  145 This node shuts down upon receipt of a
  146 .Dv NGM_SHUTDOWN
  147 control message, or when all hooks have been disconnected.
  148 .Sh BUGS
  149 Not all of the functionality has been implemented. For example,
  150 the node does not support querying the remote end for its IP address
  151 and netmask.
  152 .Sh SEE ALSO
  153 .Xr netgraph 4 ,
  154 .Xr ng_iface 4 ,
  155 .Xr ngctl 8
  156 .Rs
  157 .%A D. Perkins
  158 .%T "Requirements for an Internet Standard Point-to-Point Protocol"
  159 .%O RFC 1547
  160 .Re
  161 .Sh LEGAL
  162 .Tn Cisco
  163 is a trademark of Cisco Systems, Inc.
  164 .Sh HISTORY
  165 The
  166 .Nm
  167 node type was implemented in
  168 .Fx 4.0 .
  169 .Sh AUTHORS
  170 .An Julian Elischer Aq julian@freebsd.org ,
  171 .An Archie Cobbs Aq archie@freebsd.org

Cache object: 9ab243bbca10a1c511627d9b2adc2eb6


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.