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