1 /* 2 * Copyright (C) 1995, 1996, 1997 and 1998 WIDE Project. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of the project nor the names of its contributors 14 * may be used to endorse or promote products derived from this software 15 * without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 */ 29 /* 30 * $Header: /tcpdump/master/tcpdump/route6d.h,v 1.5 2002/12/11 07:14:10 guy Exp $ 31 */ 32 33 #define RIP6_VERSION 1 34 35 #define RIP6_REQUEST 1 36 #define RIP6_RESPONSE 2 37 38 struct netinfo6 { 39 struct in6_addr rip6_dest; 40 u_int16_t rip6_tag; 41 u_int8_t rip6_plen; 42 u_int8_t rip6_metric; 43 }; 44 45 struct rip6 { 46 u_int8_t rip6_cmd; 47 u_int8_t rip6_vers; 48 u_int8_t rip6_res1[2]; 49 union { 50 struct netinfo6 ru6_nets[1]; 51 char ru6_tracefile[1]; 52 } rip6un; 53 #define rip6_nets rip6un.ru6_nets 54 #define rip6_tracefile rip6un.ru6_tracefile 55 }; 56 57 #define HOPCNT_INFINITY6 16 58 #define MAXRTE 24 59 #define NEXTHOP_METRIC 0xff 60 61 #ifndef DEBUG 62 #define SUPPLY_INTERVAL6 30 63 #define RIP_LIFETIME 180 64 #define RIP_HOLDDOWN 120 65 #define RIP_TRIG_INTERVAL6 5 66 #define RIP_TRIG_INTERVAL6_MIN 1 67 #else 68 /* only for debugging; can not wait for 30sec to appear a bug */ 69 #define SUPPLY_INTERVAL6 10 70 #define RIP_LIFETIME 60 71 #define RIP_HOLDDOWN 40 72 #define RIP_TRIG_INTERVAL6 5 73 #define RIP_TRIG_INTERVAL6_MIN 1 74 #endif 75 76 #define RIP6_PORT 521 77 #define RIP6_DEST "ff02::9" 78