From Chris Wilson:
[obnox/wireshark/wip.git] / packet-ripng.h
1 /* packet-ripng.h
2  * RIPng definition
3  * (c) Copyright Jun-ichiro itojun Hagino <itojun@itojun.org>
4  *
5  * $Id: packet-ripng.h,v 1.6 2002/08/28 21:00:29 jmayer Exp $
6  *
7  * Ethereal - Network traffic analyzer
8  * By Gerald Combs <gerald@zing.org>
9  * Copyright 1998 Gerald Combs
10  *
11  *
12  * This program is free software; you can redistribute it and/or
13  * modify it under the terms of the GNU General Public License
14  * as published by the Free Software Foundation; either version 2
15  * of the License, or (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, write to the Free Software
24  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25  */
26
27 #ifndef __PACKET_RIPNG_H_DEFINED__
28 #define __PACKET_RIPNG_H_DEFINED__
29
30 #include "globals.h"
31 #include "packet-ipv6.h"
32
33 /*
34  * KAME Header: /cvsroot/kame/kame/kame/kame/route6d/route6d.h,v 1.1.1.1 1999/08/08 23:31:35 itojun Exp
35  */
36
37 /*
38  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
39  * All rights reserved.
40  *
41  * Redistribution and use in source and binary forms, with or without
42  * modification, are permitted provided that the following conditions
43  * are met:
44  * 1. Redistributions of source code must retain the above copyright
45  *    notice, this list of conditions and the following disclaimer.
46  * 2. Redistributions in binary form must reproduce the above copyright
47  *    notice, this list of conditions and the following disclaimer in the
48  *    documentation and/or other materials provided with the distribution.
49  * 3. Neither the name of the project nor the names of its contributors
50  *    may be used to endorse or promote products derived from this software
51  *    without specific prior written permission.
52  *
53  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
54  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
55  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
56  * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
57  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
58  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
59  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
60  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
61  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
62  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
63  * SUCH DAMAGE.
64  */
65
66 #define RIP6_VERSION    1
67
68 #define RIP6_REQUEST    1
69 #define RIP6_RESPONSE   2
70
71 struct netinfo6 {
72         struct  e_in6_addr      rip6_dest;
73         gushort rip6_tag;
74         guchar  rip6_plen;
75         guchar  rip6_metric;
76 };
77
78 struct  rip6 {
79         guchar  rip6_cmd;
80         guchar  rip6_vers;
81         guchar  rip6_res1[2];
82         union {
83                 struct  netinfo6        ru6_nets[1];
84                 char    ru6_tracefile[1];
85         } rip6un;
86 #define rip6_nets       rip6un.ru6_nets
87 #define rip6_tracefile  rip6un.ru6_tracefile
88 };
89
90 #define HOPCNT_INFINITY6        16
91 #define NEXTHOP_METRIC          0xff
92 #define RIP6_MAXMTU             1500
93
94 #define IFMINMTU                576
95
96 #ifndef DEBUG
97 #define SUPPLY_INTERVAL6        30
98 #define RIP_LIFETIME            180
99 #define RIP_HOLDDOWN            120
100 #define RIP_TRIG_INT6_MAX       5
101 #define RIP_TRIG_INT6_MIN       1
102 #else
103 /* only for debugging; can not wait for 30sec to appear a bug */
104 #define SUPPLY_INTERVAL6        10
105 #define RIP_LIFETIME            60
106 #define RIP_HOLDDOWN            40
107 #define RIP_TRIG_INT6_MAX       5
108 #define RIP_TRIG_INT6_MIN       1
109 #endif
110
111 #define RIP6_PORT               521
112 #define RIP6_DEST               "ff02::9"
113
114 #define LOOPBACK_IF             "lo0"
115
116 #endif /* __PACKET_RIPNG_H_DEFINED__ */