17c478bd9Sstevel@tonic-gate /*
2f53eecf5SJames Carlson  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3f53eecf5SJames Carlson  * Use is subject to license terms.
4f53eecf5SJames Carlson  *
57c478bd9Sstevel@tonic-gate     ipv6cp.h - PPP IPV6 Control Protocol.
67c478bd9Sstevel@tonic-gate     Copyright (C) 1999  Tommi Komulainen <Tommi.Komulainen@iki.fi>
77c478bd9Sstevel@tonic-gate 
87c478bd9Sstevel@tonic-gate     Redistribution and use in source and binary forms are permitted
97c478bd9Sstevel@tonic-gate     provided that the above copyright notice and this paragraph are
107c478bd9Sstevel@tonic-gate     duplicated in all such forms.  The name of the author may not be
117c478bd9Sstevel@tonic-gate     used to endorse or promote products derived from this software
127c478bd9Sstevel@tonic-gate     without specific prior written permission.
137c478bd9Sstevel@tonic-gate     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
147c478bd9Sstevel@tonic-gate     IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
157c478bd9Sstevel@tonic-gate     WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
167c478bd9Sstevel@tonic-gate */
177c478bd9Sstevel@tonic-gate 
187c478bd9Sstevel@tonic-gate /*  Original version, based on RFC2023 :
197c478bd9Sstevel@tonic-gate 
207c478bd9Sstevel@tonic-gate     Copyright (c) 1995, 1996, 1997 Francis.Dupont@inria.fr, INRIA Rocquencourt,
217c478bd9Sstevel@tonic-gate     Alain.Durand@imag.fr, IMAG,
227c478bd9Sstevel@tonic-gate     Jean-Luc.Richier@imag.fr, IMAG-LSR.
237c478bd9Sstevel@tonic-gate 
247c478bd9Sstevel@tonic-gate     Copyright (c) 1998, 1999 Francis.Dupont@inria.fr, GIE DYADE,
257c478bd9Sstevel@tonic-gate     Alain.Durand@imag.fr, IMAG,
267c478bd9Sstevel@tonic-gate     Jean-Luc.Richier@imag.fr, IMAG-LSR.
277c478bd9Sstevel@tonic-gate 
287c478bd9Sstevel@tonic-gate     Ce travail a �t� fait au sein du GIE DYADE (Groupement d'Int�r�t
297c478bd9Sstevel@tonic-gate     �conomique ayant pour membres BULL S.A. et l'INRIA).
307c478bd9Sstevel@tonic-gate 
317c478bd9Sstevel@tonic-gate     Ce logiciel informatique est disponible aux conditions
327c478bd9Sstevel@tonic-gate     usuelles dans la recherche, c'est-�-dire qu'il peut
337c478bd9Sstevel@tonic-gate     �tre utilis�, copi�, modifi�, distribu� � l'unique
347c478bd9Sstevel@tonic-gate     condition que ce texte soit conserv� afin que
357c478bd9Sstevel@tonic-gate     l'origine de ce logiciel soit reconnue.
367c478bd9Sstevel@tonic-gate 
377c478bd9Sstevel@tonic-gate     Le nom de l'Institut National de Recherche en Informatique
387c478bd9Sstevel@tonic-gate     et en Automatique (INRIA), de l'IMAG, ou d'une personne morale
397c478bd9Sstevel@tonic-gate     ou physique ayant particip� � l'�laboration de ce logiciel ne peut
407c478bd9Sstevel@tonic-gate     �tre utilis� sans son accord pr�alable explicite.
417c478bd9Sstevel@tonic-gate 
427c478bd9Sstevel@tonic-gate     Ce logiciel est fourni tel quel sans aucune garantie,
437c478bd9Sstevel@tonic-gate     support ou responsabilit� d'aucune sorte.
447c478bd9Sstevel@tonic-gate     Ce logiciel est d�riv� de sources d'origine
457c478bd9Sstevel@tonic-gate     "University of California at Berkeley" et
467c478bd9Sstevel@tonic-gate     "Digital Equipment Corporation" couvertes par des copyrights.
477c478bd9Sstevel@tonic-gate 
487c478bd9Sstevel@tonic-gate     L'Institut d'Informatique et de Math�matiques Appliqu�es de Grenoble (IMAG)
497c478bd9Sstevel@tonic-gate     est une f�d�ration d'unit�s mixtes de recherche du CNRS, de l'Institut National
507c478bd9Sstevel@tonic-gate     Polytechnique de Grenoble et de l'Universit� Joseph Fourier regroupant
517c478bd9Sstevel@tonic-gate     sept laboratoires dont le laboratoire Logiciels, Syst�mes, R�seaux (LSR).
527c478bd9Sstevel@tonic-gate 
537c478bd9Sstevel@tonic-gate     This work has been done in the context of GIE DYADE (joint R & D venture
547c478bd9Sstevel@tonic-gate     between BULL S.A. and INRIA).
557c478bd9Sstevel@tonic-gate 
567c478bd9Sstevel@tonic-gate     This software is available with usual "research" terms
57*55fea89dSDan Cross     with the aim of retain credits of the software.
587c478bd9Sstevel@tonic-gate     Permission to use, copy, modify and distribute this software for any
597c478bd9Sstevel@tonic-gate     purpose and without fee is hereby granted, provided that the above
607c478bd9Sstevel@tonic-gate     copyright notice and this permission notice appear in all copies,
617c478bd9Sstevel@tonic-gate     and the name of INRIA, IMAG, or any contributor not be used in advertising
627c478bd9Sstevel@tonic-gate     or publicity pertaining to this material without the prior explicit
637c478bd9Sstevel@tonic-gate     permission. The software is provided "as is" without any
647c478bd9Sstevel@tonic-gate     warranties, support or liabilities of any kind.
657c478bd9Sstevel@tonic-gate     This software is derived from source code from
667c478bd9Sstevel@tonic-gate     "University of California at Berkeley" and
677c478bd9Sstevel@tonic-gate     "Digital Equipment Corporation" protected by copyrights.
687c478bd9Sstevel@tonic-gate 
697c478bd9Sstevel@tonic-gate     Grenoble's Institute of Computer Science and Applied Mathematics (IMAG)
707c478bd9Sstevel@tonic-gate     is a federation of seven research units funded by the CNRS, National
717c478bd9Sstevel@tonic-gate     Polytechnic Institute of Grenoble and University Joseph Fourier.
727c478bd9Sstevel@tonic-gate     The research unit in Software, Systems, Networks (LSR) is member of IMAG.
737c478bd9Sstevel@tonic-gate */
747c478bd9Sstevel@tonic-gate 
757c478bd9Sstevel@tonic-gate /*
767c478bd9Sstevel@tonic-gate  * Derived from :
777c478bd9Sstevel@tonic-gate  *
787c478bd9Sstevel@tonic-gate  *
797c478bd9Sstevel@tonic-gate  * ipcp.h - IP Control Protocol definitions.
807c478bd9Sstevel@tonic-gate  *
817c478bd9Sstevel@tonic-gate  * Copyright (c) 1989 Carnegie Mellon University.
827c478bd9Sstevel@tonic-gate  * All rights reserved.
837c478bd9Sstevel@tonic-gate  *
847c478bd9Sstevel@tonic-gate  * Redistribution and use in source and binary forms are permitted
857c478bd9Sstevel@tonic-gate  * provided that the above copyright notice and this paragraph are
867c478bd9Sstevel@tonic-gate  * duplicated in all such forms and that any documentation,
877c478bd9Sstevel@tonic-gate  * advertising materials, and other materials related to such
887c478bd9Sstevel@tonic-gate  * distribution and use acknowledge that the software was developed
897c478bd9Sstevel@tonic-gate  * by Carnegie Mellon University.  The name of the
907c478bd9Sstevel@tonic-gate  * University may not be used to endorse or promote products derived
917c478bd9Sstevel@tonic-gate  * from this software without specific prior written permission.
927c478bd9Sstevel@tonic-gate  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
937c478bd9Sstevel@tonic-gate  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
947c478bd9Sstevel@tonic-gate  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
957c478bd9Sstevel@tonic-gate  *
967c478bd9Sstevel@tonic-gate  * $Id: ipv6cp.h,v 1.3 1999/09/30 19:57:45 masputra Exp $
977c478bd9Sstevel@tonic-gate  */
987c478bd9Sstevel@tonic-gate 
99f53eecf5SJames Carlson #include <netinet/ip6.h>
1007c478bd9Sstevel@tonic-gate 
1017c478bd9Sstevel@tonic-gate /*
1027c478bd9Sstevel@tonic-gate  * Options.
1037c478bd9Sstevel@tonic-gate  */
1047c478bd9Sstevel@tonic-gate #define CI_IFACEID	1	/* Interface Identifier */
1057c478bd9Sstevel@tonic-gate #define CI_COMPRESSTYPE	2	/* Compression Type     */
1067c478bd9Sstevel@tonic-gate 
1077c478bd9Sstevel@tonic-gate /*
1087c478bd9Sstevel@tonic-gate  *#define IPV6CP_COMP	0x0061
1097c478bd9Sstevel@tonic-gate  */
1107c478bd9Sstevel@tonic-gate typedef struct ipv6cp_options {
1117c478bd9Sstevel@tonic-gate     bool neg_ifaceid;		/* Negotiate interface identifier? */
1127c478bd9Sstevel@tonic-gate     bool req_ifaceid;		/* Ask peer to send interface identifier? */
1137c478bd9Sstevel@tonic-gate     bool accept_local;		/* accept peer's value for iface id? */
1147c478bd9Sstevel@tonic-gate     bool opt_local;		/* ourtoken set by option */
1157c478bd9Sstevel@tonic-gate     bool opt_remote;		/* histoken set by option */
1167c478bd9Sstevel@tonic-gate     bool use_ip;		/* use IP as interface identifier */
1177c478bd9Sstevel@tonic-gate #if defined(SOL2)
1187c478bd9Sstevel@tonic-gate     bool use_persistent;	/* use uniquely persistent value for address */
1197c478bd9Sstevel@tonic-gate #endif /* defined(SOL2) */
1207c478bd9Sstevel@tonic-gate     bool neg_vj;		/* Van Jacobson Compression? */
1217c478bd9Sstevel@tonic-gate     u_short vj_protocol;	/* protocol value to use in VJ option */
1227c478bd9Sstevel@tonic-gate     eui64_t ourid, hisid;	/* Interface identifiers */
1237c478bd9Sstevel@tonic-gate } ipv6cp_options;
1247c478bd9Sstevel@tonic-gate 
1257c478bd9Sstevel@tonic-gate extern fsm ipv6cp_fsm[];
1267c478bd9Sstevel@tonic-gate extern ipv6cp_options ipv6cp_wantoptions[];
1277c478bd9Sstevel@tonic-gate extern ipv6cp_options ipv6cp_gotoptions[];
1287c478bd9Sstevel@tonic-gate extern ipv6cp_options ipv6cp_allowoptions[];
1297c478bd9Sstevel@tonic-gate extern ipv6cp_options ipv6cp_hisoptions[];
1307c478bd9Sstevel@tonic-gate 
1317c478bd9Sstevel@tonic-gate extern struct protent ipv6cp_protent;
132f53eecf5SJames Carlson 
133f53eecf5SJames Carlson #define IP6_HDRLEN	(sizeof (struct ip6_hdr))	/* bytes */
134