2 * ipv6cp.h - PPP IPV6 Control Protocol.
4 * Copyright (c) 1999 Tommi Komulainen. All rights reserved.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in
15 * the documentation and/or other materials provided with the
18 * 3. The name(s) of the authors of this software must not be used to
19 * endorse or promote products derived from this software without
20 * prior written permission.
22 * 4. Redistributions of any form whatsoever must retain the following
24 * "This product includes software developed by Tommi Komulainen
25 * <Tommi.Komulainen@iki.fi>".
27 * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
28 * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
29 * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
30 * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
31 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
32 * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
33 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
38 /* Original version, based on RFC2023 :
40 Copyright (c) 1995, 1996, 1997 Francis.Dupont@inria.fr, INRIA Rocquencourt,
41 Alain.Durand@imag.fr, IMAG,
42 Jean-Luc.Richier@imag.fr, IMAG-LSR.
44 Copyright (c) 1998, 1999 Francis.Dupont@inria.fr, GIE DYADE,
45 Alain.Durand@imag.fr, IMAG,
46 Jean-Luc.Richier@imag.fr, IMAG-LSR.
48 Ce travail a été fait au sein du GIE DYADE (Groupement d'Intérêt
49 Économique ayant pour membres BULL S.A. et l'INRIA).
51 Ce logiciel informatique est disponible aux conditions
52 usuelles dans la recherche, c'est-à-dire qu'il peut
53 être utilisé, copié, modifié, distribué à l'unique
54 condition que ce texte soit conservé afin que
55 l'origine de ce logiciel soit reconnue.
57 Le nom de l'Institut National de Recherche en Informatique
58 et en Automatique (INRIA), de l'IMAG, ou d'une personne morale
59 ou physique ayant participé à l'élaboration de ce logiciel ne peut
60 être utilisé sans son accord préalable explicite.
62 Ce logiciel est fourni tel quel sans aucune garantie,
63 support ou responsabilité d'aucune sorte.
64 Ce logiciel est dérivé de sources d'origine
65 "University of California at Berkeley" et
66 "Digital Equipment Corporation" couvertes par des copyrights.
68 L'Institut d'Informatique et de Mathématiques Appliquées de Grenoble (IMAG)
69 est une fédération d'unités mixtes de recherche du CNRS, de l'Institut National
70 Polytechnique de Grenoble et de l'Université Joseph Fourier regroupant
71 sept laboratoires dont le laboratoire Logiciels, Systèmes, Réseaux (LSR).
73 This work has been done in the context of GIE DYADE (joint R & D venture
74 between BULL S.A. and INRIA).
76 This software is available with usual "research" terms
77 with the aim of retain credits of the software.
78 Permission to use, copy, modify and distribute this software for any
79 purpose and without fee is hereby granted, provided that the above
80 copyright notice and this permission notice appear in all copies,
81 and the name of INRIA, IMAG, or any contributor not be used in advertising
82 or publicity pertaining to this material without the prior explicit
83 permission. The software is provided "as is" without any
84 warranties, support or liabilities of any kind.
85 This software is derived from source code from
86 "University of California at Berkeley" and
87 "Digital Equipment Corporation" protected by copyrights.
89 Grenoble's Institute of Computer Science and Applied Mathematics (IMAG)
90 is a federation of seven research units funded by the CNRS, National
91 Polytechnic Institute of Grenoble and University Joseph Fourier.
92 The research unit in Software, Systems, Networks (LSR) is member of IMAG.
99 * ipcp.h - IP Control Protocol definitions.
101 * Copyright (c) 1984-2000 Carnegie Mellon University. All rights reserved.
103 * Redistribution and use in source and binary forms, with or without
104 * modification, are permitted provided that the following conditions
107 * 1. Redistributions of source code must retain the above copyright
108 * notice, this list of conditions and the following disclaimer.
110 * 2. Redistributions in binary form must reproduce the above copyright
111 * notice, this list of conditions and the following disclaimer in
112 * the documentation and/or other materials provided with the
115 * 3. The name "Carnegie Mellon University" must not be used to
116 * endorse or promote products derived from this software without
117 * prior written permission. For permission or any legal
118 * details, please contact
119 * Office of Technology Transfer
120 * Carnegie Mellon University
122 * Pittsburgh, PA 15213-3890
123 * (412) 268-4387, fax: (412) 268-7395
124 * tech-transfer@andrew.cmu.edu
126 * 4. Redistributions of any form whatsoever must retain the following
128 * "This product includes software developed by Computing Services
129 * at Carnegie Mellon University (http://www.cmu.edu/computing/)."
131 * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
132 * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
133 * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
134 * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
135 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
136 * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
137 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
143 #define CI_IFACEID 1 /* Interface Identifier */
144 #define CI_COMPRESSTYPE 2 /* Compression Type */
146 /* No compression types yet defined.
147 *#define IPV6CP_COMP 0x004f
149 typedef struct ipv6cp_options {
150 int neg_ifaceid; /* Negotiate interface identifier? */
151 int req_ifaceid; /* Ask peer to send interface identifier? */
152 int default_route; /* Assign default route through interface? */
153 int accept_local; /* accept peer's value for our iface id? */
154 int accept_remote; /* accept peer's value for his iface id? */
155 int opt_local; /* ourtoken set by option */
156 int opt_remote; /* histoken set by option */
157 int use_ip; /* use IP as interface identifier */
158 int use_persistent; /* use uniquely persistent value for address */
159 int use_remotenumber; /* use remote number value for address */
160 int neg_vj; /* Van Jacobson Compression? */
161 u_short vj_protocol; /* protocol value to use in VJ option */
162 eui64_t ourid, hisid; /* Interface identifiers */
165 extern fsm ipv6cp_fsm[];
166 extern ipv6cp_options ipv6cp_wantoptions[];
167 extern ipv6cp_options ipv6cp_gotoptions[];
168 extern ipv6cp_options ipv6cp_allowoptions[];
169 extern ipv6cp_options ipv6cp_hisoptions[];
171 extern struct protent ipv6cp_protent;