1685295f4SBill Fenner /* $NetBSD: ah.h,v 1.12 2000/07/23 05:23:04 itojun Exp $ */ 2685295f4SBill Fenner /* $KAME: ah.h,v 1.12 2000/07/20 17:41:01 itojun Exp $ */ 3685295f4SBill Fenner 4685295f4SBill Fenner /* 5685295f4SBill Fenner * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 6685295f4SBill Fenner * All rights reserved. 7685295f4SBill Fenner * 8685295f4SBill Fenner * Redistribution and use in source and binary forms, with or without 9685295f4SBill Fenner * modification, are permitted provided that the following conditions 10685295f4SBill Fenner * are met: 11685295f4SBill Fenner * 1. Redistributions of source code must retain the above copyright 12685295f4SBill Fenner * notice, this list of conditions and the following disclaimer. 13685295f4SBill Fenner * 2. Redistributions in binary form must reproduce the above copyright 14685295f4SBill Fenner * notice, this list of conditions and the following disclaimer in the 15685295f4SBill Fenner * documentation and/or other materials provided with the distribution. 16685295f4SBill Fenner * 3. Neither the name of the project nor the names of its contributors 17685295f4SBill Fenner * may be used to endorse or promote products derived from this software 18685295f4SBill Fenner * without specific prior written permission. 19685295f4SBill Fenner * 20685295f4SBill Fenner * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 21685295f4SBill Fenner * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22685295f4SBill Fenner * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23685295f4SBill Fenner * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 24685295f4SBill Fenner * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25685295f4SBill Fenner * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26685295f4SBill Fenner * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27685295f4SBill Fenner * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28685295f4SBill Fenner * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29685295f4SBill Fenner * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30685295f4SBill Fenner * SUCH DAMAGE. 31685295f4SBill Fenner */ 32685295f4SBill Fenner 33685295f4SBill Fenner /* 34*ee67461eSJoseph Mingrone * RFC4302 authentication header. 35685295f4SBill Fenner */ 36685295f4SBill Fenner 37*ee67461eSJoseph Mingrone #ifndef ND_AH_H_ 38*ee67461eSJoseph Mingrone #define ND_AH_H_ 39*ee67461eSJoseph Mingrone 40*ee67461eSJoseph Mingrone /* 41*ee67461eSJoseph Mingrone * 0 1 2 3 42*ee67461eSJoseph Mingrone * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 43*ee67461eSJoseph Mingrone * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 44*ee67461eSJoseph Mingrone * | Next Header | Payload Len | RESERVED | 45*ee67461eSJoseph Mingrone * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 46*ee67461eSJoseph Mingrone * | Security Parameters Index (SPI) | 47*ee67461eSJoseph Mingrone * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 48*ee67461eSJoseph Mingrone * | Sequence Number Field | 49*ee67461eSJoseph Mingrone * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 50*ee67461eSJoseph Mingrone * | | 51*ee67461eSJoseph Mingrone * + Integrity Check Value-ICV (variable) | 52*ee67461eSJoseph Mingrone * | | 53*ee67461eSJoseph Mingrone * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 54*ee67461eSJoseph Mingrone * 55*ee67461eSJoseph Mingrone * Figure 1. AH Format 56*ee67461eSJoseph Mingrone */ 57685295f4SBill Fenner 58685295f4SBill Fenner struct ah { 59*ee67461eSJoseph Mingrone nd_uint8_t ah_nxt; /* Next Header */ 60*ee67461eSJoseph Mingrone nd_uint8_t ah_len; /* Payload Len in 32bit words minus 2 */ 61*ee67461eSJoseph Mingrone nd_uint16_t ah_reserved; /* Reserved for future use */ 62*ee67461eSJoseph Mingrone nd_uint32_t ah_spi; /* Security Parameters Index */ 63*ee67461eSJoseph Mingrone nd_uint32_t ah_seq; /* Sequence Number Field */ 64*ee67461eSJoseph Mingrone /* variable size, 32bit bound*/ /* Integrity Check Value-ICV */ 65685295f4SBill Fenner }; 66685295f4SBill Fenner 67*ee67461eSJoseph Mingrone #endif /* ND_AH_H_ */ 68