156893Sfenner/*
298524Sfenner * Copyright (C) 1995, 1996, 1997 and 1998 WIDE Project.
398524Sfenner * All rights reserved.
498524Sfenner *
598524Sfenner * Redistribution and use in source and binary forms, with or without
698524Sfenner * modification, are permitted provided that the following conditions
798524Sfenner * are met:
898524Sfenner * 1. Redistributions of source code must retain the above copyright
998524Sfenner *    notice, this list of conditions and the following disclaimer.
1098524Sfenner * 2. Redistributions in binary form must reproduce the above copyright
1198524Sfenner *    notice, this list of conditions and the following disclaimer in the
1298524Sfenner *    documentation and/or other materials provided with the distribution.
1398524Sfenner * 3. Neither the name of the project nor the names of its contributors
1498524Sfenner *    may be used to endorse or promote products derived from this software
1598524Sfenner *    without specific prior written permission.
1698524Sfenner *
1798524Sfenner * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
1898524Sfenner * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1998524Sfenner * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2098524Sfenner * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
2198524Sfenner * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2298524Sfenner * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2398524Sfenner * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2498524Sfenner * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2598524Sfenner * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2698524Sfenner * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2798524Sfenner * SUCH DAMAGE.
2856893Sfenner */
2998524Sfenner/*
30190207Srpaulo * $Header: /tcpdump/master/tcpdump/route6d.h,v 1.5 2002-12-11 07:14:10 guy Exp $
3198524Sfenner */
3256893Sfenner
3356893Sfenner#define	RIP6_VERSION	1
3456893Sfenner
3556893Sfenner#define	RIP6_REQUEST	1
3656893Sfenner#define	RIP6_RESPONSE	2
3756893Sfenner
3856893Sfennerstruct netinfo6 {
3975115Sfenner	struct in6_addr	rip6_dest;
4075115Sfenner	u_int16_t	rip6_tag;
4175115Sfenner	u_int8_t	rip6_plen;
4275115Sfenner	u_int8_t	rip6_metric;
4356893Sfenner};
4456893Sfenner
4556893Sfennerstruct	rip6 {
4675115Sfenner	u_int8_t	rip6_cmd;
4775115Sfenner	u_int8_t	rip6_vers;
4875115Sfenner	u_int8_t	rip6_res1[2];
4956893Sfenner	union {
5056893Sfenner		struct	netinfo6	ru6_nets[1];
5156893Sfenner		char	ru6_tracefile[1];
5256893Sfenner	} rip6un;
5356893Sfenner#define	rip6_nets	rip6un.ru6_nets
5456893Sfenner#define	rip6_tracefile	rip6un.ru6_tracefile
5556893Sfenner};
5656893Sfenner
5756893Sfenner#define	HOPCNT_INFINITY6	16
5856893Sfenner#define	MAXRTE			24
5956893Sfenner#define	NEXTHOP_METRIC		0xff
6056893Sfenner
6156893Sfenner#ifndef	DEBUG
6256893Sfenner#define	SUPPLY_INTERVAL6	30
6356893Sfenner#define	RIP_LIFETIME		180
6456893Sfenner#define	RIP_HOLDDOWN		120
6556893Sfenner#define	RIP_TRIG_INTERVAL6	5
6656893Sfenner#define	RIP_TRIG_INTERVAL6_MIN	1
6756893Sfenner#else
6856893Sfenner/* only for debugging; can not wait for 30sec to appear a bug */
6956893Sfenner#define	SUPPLY_INTERVAL6	10
7056893Sfenner#define	RIP_LIFETIME		60
7156893Sfenner#define	RIP_HOLDDOWN		40
7256893Sfenner#define	RIP_TRIG_INTERVAL6	5
7356893Sfenner#define	RIP_TRIG_INTERVAL6_MIN	1
7456893Sfenner#endif
7556893Sfenner
7656893Sfenner#define	RIP6_PORT		521
7756893Sfenner#define	RIP6_DEST		"ff02::9"
78