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