xref: /illumos-gate/usr/src/cmd/cmd-inet/usr.bin/pppd/ipv6cp.h (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1*7c478bd9Sstevel@tonic-gate /*
2*7c478bd9Sstevel@tonic-gate     ipv6cp.h - PPP IPV6 Control Protocol.
3*7c478bd9Sstevel@tonic-gate     Copyright (C) 1999  Tommi Komulainen <Tommi.Komulainen@iki.fi>
4*7c478bd9Sstevel@tonic-gate 
5*7c478bd9Sstevel@tonic-gate     Redistribution and use in source and binary forms are permitted
6*7c478bd9Sstevel@tonic-gate     provided that the above copyright notice and this paragraph are
7*7c478bd9Sstevel@tonic-gate     duplicated in all such forms.  The name of the author may not be
8*7c478bd9Sstevel@tonic-gate     used to endorse or promote products derived from this software
9*7c478bd9Sstevel@tonic-gate     without specific prior written permission.
10*7c478bd9Sstevel@tonic-gate     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
11*7c478bd9Sstevel@tonic-gate     IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
12*7c478bd9Sstevel@tonic-gate     WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13*7c478bd9Sstevel@tonic-gate */
14*7c478bd9Sstevel@tonic-gate 
15*7c478bd9Sstevel@tonic-gate /*  Original version, based on RFC2023 :
16*7c478bd9Sstevel@tonic-gate 
17*7c478bd9Sstevel@tonic-gate     Copyright (c) 1995, 1996, 1997 Francis.Dupont@inria.fr, INRIA Rocquencourt,
18*7c478bd9Sstevel@tonic-gate     Alain.Durand@imag.fr, IMAG,
19*7c478bd9Sstevel@tonic-gate     Jean-Luc.Richier@imag.fr, IMAG-LSR.
20*7c478bd9Sstevel@tonic-gate 
21*7c478bd9Sstevel@tonic-gate     Copyright (c) 1998, 1999 Francis.Dupont@inria.fr, GIE DYADE,
22*7c478bd9Sstevel@tonic-gate     Alain.Durand@imag.fr, IMAG,
23*7c478bd9Sstevel@tonic-gate     Jean-Luc.Richier@imag.fr, IMAG-LSR.
24*7c478bd9Sstevel@tonic-gate 
25*7c478bd9Sstevel@tonic-gate     Ce travail a �t� fait au sein du GIE DYADE (Groupement d'Int�r�t
26*7c478bd9Sstevel@tonic-gate     �conomique ayant pour membres BULL S.A. et l'INRIA).
27*7c478bd9Sstevel@tonic-gate 
28*7c478bd9Sstevel@tonic-gate     Ce logiciel informatique est disponible aux conditions
29*7c478bd9Sstevel@tonic-gate     usuelles dans la recherche, c'est-�-dire qu'il peut
30*7c478bd9Sstevel@tonic-gate     �tre utilis�, copi�, modifi�, distribu� � l'unique
31*7c478bd9Sstevel@tonic-gate     condition que ce texte soit conserv� afin que
32*7c478bd9Sstevel@tonic-gate     l'origine de ce logiciel soit reconnue.
33*7c478bd9Sstevel@tonic-gate 
34*7c478bd9Sstevel@tonic-gate     Le nom de l'Institut National de Recherche en Informatique
35*7c478bd9Sstevel@tonic-gate     et en Automatique (INRIA), de l'IMAG, ou d'une personne morale
36*7c478bd9Sstevel@tonic-gate     ou physique ayant particip� � l'�laboration de ce logiciel ne peut
37*7c478bd9Sstevel@tonic-gate     �tre utilis� sans son accord pr�alable explicite.
38*7c478bd9Sstevel@tonic-gate 
39*7c478bd9Sstevel@tonic-gate     Ce logiciel est fourni tel quel sans aucune garantie,
40*7c478bd9Sstevel@tonic-gate     support ou responsabilit� d'aucune sorte.
41*7c478bd9Sstevel@tonic-gate     Ce logiciel est d�riv� de sources d'origine
42*7c478bd9Sstevel@tonic-gate     "University of California at Berkeley" et
43*7c478bd9Sstevel@tonic-gate     "Digital Equipment Corporation" couvertes par des copyrights.
44*7c478bd9Sstevel@tonic-gate 
45*7c478bd9Sstevel@tonic-gate     L'Institut d'Informatique et de Math�matiques Appliqu�es de Grenoble (IMAG)
46*7c478bd9Sstevel@tonic-gate     est une f�d�ration d'unit�s mixtes de recherche du CNRS, de l'Institut National
47*7c478bd9Sstevel@tonic-gate     Polytechnique de Grenoble et de l'Universit� Joseph Fourier regroupant
48*7c478bd9Sstevel@tonic-gate     sept laboratoires dont le laboratoire Logiciels, Syst�mes, R�seaux (LSR).
49*7c478bd9Sstevel@tonic-gate 
50*7c478bd9Sstevel@tonic-gate     This work has been done in the context of GIE DYADE (joint R & D venture
51*7c478bd9Sstevel@tonic-gate     between BULL S.A. and INRIA).
52*7c478bd9Sstevel@tonic-gate 
53*7c478bd9Sstevel@tonic-gate     This software is available with usual "research" terms
54*7c478bd9Sstevel@tonic-gate     with the aim of retain credits of the software.
55*7c478bd9Sstevel@tonic-gate     Permission to use, copy, modify and distribute this software for any
56*7c478bd9Sstevel@tonic-gate     purpose and without fee is hereby granted, provided that the above
57*7c478bd9Sstevel@tonic-gate     copyright notice and this permission notice appear in all copies,
58*7c478bd9Sstevel@tonic-gate     and the name of INRIA, IMAG, or any contributor not be used in advertising
59*7c478bd9Sstevel@tonic-gate     or publicity pertaining to this material without the prior explicit
60*7c478bd9Sstevel@tonic-gate     permission. The software is provided "as is" without any
61*7c478bd9Sstevel@tonic-gate     warranties, support or liabilities of any kind.
62*7c478bd9Sstevel@tonic-gate     This software is derived from source code from
63*7c478bd9Sstevel@tonic-gate     "University of California at Berkeley" and
64*7c478bd9Sstevel@tonic-gate     "Digital Equipment Corporation" protected by copyrights.
65*7c478bd9Sstevel@tonic-gate 
66*7c478bd9Sstevel@tonic-gate     Grenoble's Institute of Computer Science and Applied Mathematics (IMAG)
67*7c478bd9Sstevel@tonic-gate     is a federation of seven research units funded by the CNRS, National
68*7c478bd9Sstevel@tonic-gate     Polytechnic Institute of Grenoble and University Joseph Fourier.
69*7c478bd9Sstevel@tonic-gate     The research unit in Software, Systems, Networks (LSR) is member of IMAG.
70*7c478bd9Sstevel@tonic-gate */
71*7c478bd9Sstevel@tonic-gate 
72*7c478bd9Sstevel@tonic-gate /*
73*7c478bd9Sstevel@tonic-gate  * Derived from :
74*7c478bd9Sstevel@tonic-gate  *
75*7c478bd9Sstevel@tonic-gate  *
76*7c478bd9Sstevel@tonic-gate  * ipcp.h - IP Control Protocol definitions.
77*7c478bd9Sstevel@tonic-gate  *
78*7c478bd9Sstevel@tonic-gate  * Copyright (c) 1989 Carnegie Mellon University.
79*7c478bd9Sstevel@tonic-gate  * All rights reserved.
80*7c478bd9Sstevel@tonic-gate  *
81*7c478bd9Sstevel@tonic-gate  * Redistribution and use in source and binary forms are permitted
82*7c478bd9Sstevel@tonic-gate  * provided that the above copyright notice and this paragraph are
83*7c478bd9Sstevel@tonic-gate  * duplicated in all such forms and that any documentation,
84*7c478bd9Sstevel@tonic-gate  * advertising materials, and other materials related to such
85*7c478bd9Sstevel@tonic-gate  * distribution and use acknowledge that the software was developed
86*7c478bd9Sstevel@tonic-gate  * by Carnegie Mellon University.  The name of the
87*7c478bd9Sstevel@tonic-gate  * University may not be used to endorse or promote products derived
88*7c478bd9Sstevel@tonic-gate  * from this software without specific prior written permission.
89*7c478bd9Sstevel@tonic-gate  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
90*7c478bd9Sstevel@tonic-gate  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
91*7c478bd9Sstevel@tonic-gate  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
92*7c478bd9Sstevel@tonic-gate  *
93*7c478bd9Sstevel@tonic-gate  * $Id: ipv6cp.h,v 1.3 1999/09/30 19:57:45 masputra Exp $
94*7c478bd9Sstevel@tonic-gate  */
95*7c478bd9Sstevel@tonic-gate 
96*7c478bd9Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
97*7c478bd9Sstevel@tonic-gate 
98*7c478bd9Sstevel@tonic-gate /*
99*7c478bd9Sstevel@tonic-gate  * Options.
100*7c478bd9Sstevel@tonic-gate  */
101*7c478bd9Sstevel@tonic-gate #define CI_IFACEID	1	/* Interface Identifier */
102*7c478bd9Sstevel@tonic-gate #define CI_COMPRESSTYPE	2	/* Compression Type     */
103*7c478bd9Sstevel@tonic-gate 
104*7c478bd9Sstevel@tonic-gate /*
105*7c478bd9Sstevel@tonic-gate  *#define IPV6CP_COMP	0x0061
106*7c478bd9Sstevel@tonic-gate  */
107*7c478bd9Sstevel@tonic-gate typedef struct ipv6cp_options {
108*7c478bd9Sstevel@tonic-gate     bool neg_ifaceid;		/* Negotiate interface identifier? */
109*7c478bd9Sstevel@tonic-gate     bool req_ifaceid;		/* Ask peer to send interface identifier? */
110*7c478bd9Sstevel@tonic-gate     bool accept_local;		/* accept peer's value for iface id? */
111*7c478bd9Sstevel@tonic-gate     bool opt_local;		/* ourtoken set by option */
112*7c478bd9Sstevel@tonic-gate     bool opt_remote;		/* histoken set by option */
113*7c478bd9Sstevel@tonic-gate     bool use_ip;		/* use IP as interface identifier */
114*7c478bd9Sstevel@tonic-gate #if defined(SOL2)
115*7c478bd9Sstevel@tonic-gate     bool use_persistent;	/* use uniquely persistent value for address */
116*7c478bd9Sstevel@tonic-gate #endif /* defined(SOL2) */
117*7c478bd9Sstevel@tonic-gate     bool neg_vj;		/* Van Jacobson Compression? */
118*7c478bd9Sstevel@tonic-gate     u_short vj_protocol;	/* protocol value to use in VJ option */
119*7c478bd9Sstevel@tonic-gate     eui64_t ourid, hisid;	/* Interface identifiers */
120*7c478bd9Sstevel@tonic-gate } ipv6cp_options;
121*7c478bd9Sstevel@tonic-gate 
122*7c478bd9Sstevel@tonic-gate extern fsm ipv6cp_fsm[];
123*7c478bd9Sstevel@tonic-gate extern ipv6cp_options ipv6cp_wantoptions[];
124*7c478bd9Sstevel@tonic-gate extern ipv6cp_options ipv6cp_gotoptions[];
125*7c478bd9Sstevel@tonic-gate extern ipv6cp_options ipv6cp_allowoptions[];
126*7c478bd9Sstevel@tonic-gate extern ipv6cp_options ipv6cp_hisoptions[];
127*7c478bd9Sstevel@tonic-gate 
128*7c478bd9Sstevel@tonic-gate extern struct protent ipv6cp_protent;
129