ipsec6.h revision 207369
118334Speter/* $FreeBSD: head/sys/netipsec/ipsec6.h 207369 2010-04-29 11:52:42Z bz $ */ 290075Sobrien/* $KAME: ipsec.h,v 1.44 2001/03/23 08:08:47 itojun Exp $ */ 318334Speter 418334Speter/*- 518334Speter * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 618334Speter * All rights reserved. 718334Speter * 818334Speter * Redistribution and use in source and binary forms, with or without 918334Speter * modification, are permitted provided that the following conditions 1018334Speter * are met: 1118334Speter * 1. Redistributions of source code must retain the above copyright 1218334Speter * notice, this list of conditions and the following disclaimer. 1318334Speter * 2. Redistributions in binary form must reproduce the above copyright 1418334Speter * notice, this list of conditions and the following disclaimer in the 1518334Speter * documentation and/or other materials provided with the distribution. 1618334Speter * 3. Neither the name of the project nor the names of its contributors 1718334Speter * may be used to endorse or promote products derived from this software 1818334Speter * without specific prior written permission. 1918334Speter * 2018334Speter * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 2118334Speter * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2218334Speter * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2318334Speter * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 2418334Speter * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2518334Speter * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2618334Speter * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2718334Speter * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2818334Speter * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2918334Speter * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3018334Speter * SUCH DAMAGE. 3118334Speter */ 3218334Speter 3390075Sobrien/* 3490075Sobrien * IPsec controller part. 3590075Sobrien */ 3618334Speter 3718334Speter#ifndef _NETIPSEC_IPSEC6_H_ 3818334Speter#define _NETIPSEC_IPSEC6_H_ 3990075Sobrien 4018334Speter#include <net/pfkeyv2.h> 4190075Sobrien#include <netipsec/keydb.h> 4290075Sobrien 4318334Speter#ifdef _KERNEL 4490075SobrienVNET_DECLARE(struct ipsecstat, ipsec6stat); 4518334SpeterVNET_DECLARE(int, ip6_esp_trans_deflev); 4690075SobrienVNET_DECLARE(int, ip6_esp_net_deflev); 4718334SpeterVNET_DECLARE(int, ip6_ah_trans_deflev); 4818334SpeterVNET_DECLARE(int, ip6_ah_net_deflev); 4918334SpeterVNET_DECLARE(int, ip6_ipsec_ecn); 5090075Sobrien 5190075Sobrien#define V_ipsec6stat VNET(ipsec6stat) 5290075Sobrien#define V_ip6_esp_trans_deflev VNET(ip6_esp_trans_deflev) 5390075Sobrien#define V_ip6_esp_net_deflev VNET(ip6_esp_net_deflev) 5490075Sobrien#define V_ip6_ah_trans_deflev VNET(ip6_ah_trans_deflev) 5590075Sobrien#define V_ip6_ah_net_deflev VNET(ip6_ah_net_deflev) 5690075Sobrien#define V_ip6_ipsec_ecn VNET(ip6_ipsec_ecn) 5790075Sobrien 5890075Sobrienstruct inpcb; 5990075Sobrien 6018334Speterextern int ipsec6_in_reject __P((struct mbuf *, struct inpcb *)); 6118334Speter 6218334Speterstruct ip6_hdr; 6318334Speterextern const char *ipsec6_logpacketstr __P((struct ip6_hdr *, u_int32_t)); 6418334Speter 6518334Speterstruct m_tag; 6618334Speterextern int ipsec6_common_input(struct mbuf **mp, int *offp, int proto); 6718334Speterextern int ipsec6_common_input_cb(struct mbuf *m, struct secasvar *sav, 6818334Speter int skip, int protoff, struct m_tag *mt); 6918334Speterextern void esp6_ctlinput(int, struct sockaddr *, void *); 7018334Speter 7118334Speterstruct ipsec_output_state; 7218334Speterextern int ipsec6_output_trans __P((struct ipsec_output_state *, u_char *, 7318334Speter struct mbuf *, struct secpolicy *, int, int *)); 7418334Speterextern int ipsec6_output_tunnel __P((struct ipsec_output_state *, 7518334Speter struct secpolicy *, int)); 7618334Speter#endif /*_KERNEL*/ 7718334Speter 7818334Speter#endif /*_NETIPSEC_IPSEC6_H_*/ 7918334Speter