diff options
Diffstat (limited to 'contrib/tcpdump/aodv.h')
-rw-r--r-- | contrib/tcpdump/aodv.h | 190 |
1 files changed, 0 insertions, 190 deletions
diff --git a/contrib/tcpdump/aodv.h b/contrib/tcpdump/aodv.h deleted file mode 100644 index 335c175..0000000 --- a/contrib/tcpdump/aodv.h +++ /dev/null @@ -1,190 +0,0 @@ -/* @(#) $Header: /tcpdump/master/tcpdump/aodv.h,v 1.3 2003/09/13 01:34:42 guy Exp $ (LBL) */ -/* - * Copyright (c) 2003 Bruce M. Simpson <bms@spc.org> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Bruce M. Simpson. - * 4. Neither the name of Bruce M. Simpson nor the names of co- - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY Bruce M. Simpson AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Bruce M. Simpson OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -#ifndef _AODV_H_ -#define _AODV_H_ - -struct aodv_rreq { - u_int8_t rreq_type; /* AODV message type (1) */ - u_int8_t rreq_flags; /* various flags */ - u_int8_t rreq_zero0; /* reserved, set to zero */ - u_int8_t rreq_hops; /* number of hops from originator */ - u_int32_t rreq_id; /* request ID */ - u_int32_t rreq_da; /* destination IPv4 address */ - u_int32_t rreq_ds; /* destination sequence number */ - u_int32_t rreq_oa; /* originator IPv4 address */ - u_int32_t rreq_os; /* originator sequence number */ -}; -#ifdef INET6 -struct aodv_rreq6 { - u_int8_t rreq_type; /* AODV message type (1) */ - u_int8_t rreq_flags; /* various flags */ - u_int8_t rreq_zero0; /* reserved, set to zero */ - u_int8_t rreq_hops; /* number of hops from originator */ - u_int32_t rreq_id; /* request ID */ - struct in6_addr rreq_da; /* destination IPv6 address */ - u_int32_t rreq_ds; /* destination sequence number */ - struct in6_addr rreq_oa; /* originator IPv6 address */ - u_int32_t rreq_os; /* originator sequence number */ -}; -struct aodv_rreq6_draft_01 { - u_int8_t rreq_type; /* AODV message type (16) */ - u_int8_t rreq_flags; /* various flags */ - u_int8_t rreq_zero0; /* reserved, set to zero */ - u_int8_t rreq_hops; /* number of hops from originator */ - u_int32_t rreq_id; /* request ID */ - u_int32_t rreq_ds; /* destination sequence number */ - u_int32_t rreq_os; /* originator sequence number */ - struct in6_addr rreq_da; /* destination IPv6 address */ - struct in6_addr rreq_oa; /* originator IPv6 address */ -}; -#endif - -#define RREQ_JOIN 0x80 /* join (reserved for multicast */ -#define RREQ_REPAIR 0x40 /* repair (reserved for multicast */ -#define RREQ_GRAT 0x20 /* gratuitous RREP */ -#define RREQ_DEST 0x10 /* destination only */ -#define RREQ_UNKNOWN 0x08 /* unknown destination sequence num */ -#define RREQ_FLAGS_MASK 0xF8 /* mask for rreq_flags */ - -struct aodv_rrep { - u_int8_t rrep_type; /* AODV message type (2) */ - u_int8_t rrep_flags; /* various flags */ - u_int8_t rrep_ps; /* prefix size */ - u_int8_t rrep_hops; /* number of hops from o to d */ - u_int32_t rrep_da; /* destination IPv4 address */ - u_int32_t rrep_ds; /* destination sequence number */ - u_int32_t rrep_oa; /* originator IPv4 address */ - u_int32_t rrep_life; /* lifetime of this route */ -}; -#ifdef INET6 -struct aodv_rrep6 { - u_int8_t rrep_type; /* AODV message type (2) */ - u_int8_t rrep_flags; /* various flags */ - u_int8_t rrep_ps; /* prefix size */ - u_int8_t rrep_hops; /* number of hops from o to d */ - struct in6_addr rrep_da; /* destination IPv6 address */ - u_int32_t rrep_ds; /* destination sequence number */ - struct in6_addr rrep_oa; /* originator IPv6 address */ - u_int32_t rrep_life; /* lifetime of this route */ -}; -struct aodv_rrep6_draft_01 { - u_int8_t rrep_type; /* AODV message type (17) */ - u_int8_t rrep_flags; /* various flags */ - u_int8_t rrep_ps; /* prefix size */ - u_int8_t rrep_hops; /* number of hops from o to d */ - u_int32_t rrep_ds; /* destination sequence number */ - struct in6_addr rrep_da; /* destination IPv6 address */ - struct in6_addr rrep_oa; /* originator IPv6 address */ - u_int32_t rrep_life; /* lifetime of this route */ -}; -#endif - -#define RREP_REPAIR 0x80 /* repair (reserved for multicast */ -#define RREP_ACK 0x40 /* acknowledgement required */ -#define RREP_FLAGS_MASK 0xC0 /* mask for rrep_flags */ -#define RREP_PREFIX_MASK 0x1F /* mask for prefix size */ - -struct rerr_unreach { - u_int32_t u_da; /* IPv4 address */ - u_int32_t u_ds; /* sequence number */ -}; -#ifdef INET6 -struct rerr_unreach6 { - struct in6_addr u_da; /* IPv6 address */ - u_int32_t u_ds; /* sequence number */ -}; -struct rerr_unreach6_draft_01 { - struct in6_addr u_da; /* IPv6 address */ - u_int32_t u_ds; /* sequence number */ -}; -#endif - -struct aodv_rerr { - u_int8_t rerr_type; /* AODV message type (3 or 18) */ - u_int8_t rerr_flags; /* various flags */ - u_int8_t rerr_zero0; /* reserved, set to zero */ - u_int8_t rerr_dc; /* destination count */ - union { - struct rerr_unreach dest[1]; -#ifdef INET6 - struct rerr_unreach6 dest6[1]; - struct rerr_unreach6_draft_01 dest6_draft_01[1]; -#endif - } r; -}; - -#define RERR_NODELETE 0x80 /* don't delete the link */ -#define RERR_FLAGS_MASK 0x80 /* mask for rerr_flags */ - -struct aodv_rrep_ack { - u_int8_t ra_type; - u_int8_t ra_zero0; -}; - -union aodv { - struct aodv_rreq rreq; - struct aodv_rrep rrep; - struct aodv_rerr rerr; - struct aodv_rrep_ack rrep_ack; -#ifdef INET6 - struct aodv_rreq6 rreq6; - struct aodv_rreq6_draft_01 rreq6_draft_01; - struct aodv_rrep6 rrep6; - struct aodv_rrep6_draft_01 rrep6_draft_01; -#endif -}; - -#define AODV_RREQ 1 /* route request */ -#define AODV_RREP 2 /* route response */ -#define AODV_RERR 3 /* error report */ -#define AODV_RREP_ACK 4 /* route response acknowledgement */ - -#define AODV_V6_DRAFT_01_RREQ 16 /* IPv6 route request */ -#define AODV_V6_DRAFT_01_RREP 17 /* IPv6 route response */ -#define AODV_V6_DRAFT_01_RERR 18 /* IPv6 error report */ -#define AODV_V6_DRAFT_01_RREP_ACK 19 /* IPV6 route response acknowledgment */ - -struct aodv_ext { - u_int8_t type; /* extension type */ - u_int8_t length; /* extension length */ -}; - -struct aodv_hello { - struct aodv_ext eh; /* extension header */ - u_int32_t interval; /* expect my next hello in - * (n) ms */ -}; - -#define AODV_EXT_HELLO 1 - -#endif /* _AODV_H_ */ |