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