⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ipsec_encap.h

📁 网上下到的一个很详细介绍VPN基础知识的资料
💻 H
字号:
/* * declarations relevant to encapsulation-like operations * Copyright (C) 1996, 1997  John Ioannidis. * Copyright (C) 1998, 1999, 2000, 2001  Richard Guy Briggs. *  * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>. *  * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License * for more details. * * RCSID $Id: ipsec_encap.h,v 1.13 2001/06/14 19:35:08 rgb Exp $ */#define SENT_IP4	0x0008	/* data is two struct in_addr */			/* (2 * sizeof(struct in_addr)) */			/* sizeof(struct sockaddr_encap)			   - offsetof(struct sockaddr_encap, Sen.Sip4.Src) */#define SEN_HDRLEN	(2*sizeof(__u8)+sizeof(__u16))			/* offsetof(struct sockaddr_encap, Sen.Sip4.Src) */#define SEN_IP4_SRCOFF	(0)#define SEN_IP4_DSTOFF (sizeof (struct in_addr))			/* offsetof(struct sockaddr_encap, Sen.Sip4.Dst)			   - offsetof(struct sockaddr_encap, Sen.Sip4.Src) */#define SEN_IP4_OPTOFF	(2 * sizeof (struct in_addr))			/* sizeof(struct sockaddr_encap)			   - offsetof(struct sockaddr_encap, Sen.Sip4.Src) */#define SEN_IP4_LEN	(SENT_HDRLEN + SENT_IP4_OPTOFF)			/* sizeof(struct sockaddr_encap) */#ifdef CONFIG_IPSEC_DEBUG#define DB_ER_PROCFS	0x0001#define DB_SP_PROCFS	0x0001#endif /* CONFIG_IPSEC_DEBUG */struct sockaddr_encap{	__u8	sen_len;		/* length */	__u8	sen_family;		/* AF_ENCAP */	__u16	sen_type;		/* see SENT_* */	union	{		struct			/* SENT_IP4 */		{			struct in_addr Src;			struct in_addr Dst;		} Sip4;	} Sen;};#define sen_ip_src	Sen.Sip4.Src#define sen_ip_dst	Sen.Sip4.Dst#ifndef AF_ENCAP#define AF_ENCAP 26#endif /* AF_ENCAP *//* * The "type" is really part of the address as far as the routing * system is concerned. By using only one bit in the type field * for each type, we sort-of make sure that different types of * encapsulation addresses won't be matched against the wrong type. */#ifdef __KERNEL__/* * An entry in the radix tree  */struct rjtentry{	struct	radij_node rd_nodes[2];	/* tree glue, and other values */#define	rd_key(r)	((struct sockaddr_encap *)((r)->rd_nodes->rj_key))#define	rd_mask(r)	((struct sockaddr_encap *)((r)->rd_nodes->rj_mask))	short	rd_flags;	short	rd_count;};/* * An encapsulation route consists of a pointer to a  * radix tree entry and a SAID (a destination_address/SPI/protocol triple). */struct eroute{	struct rjtentry er_rjt;	struct sa_id er_said;	uint32_t er_pid;	uint32_t er_count;	uint64_t er_lasttime;	struct sockaddr_encap er_eaddr;	struct sockaddr_encap er_emask;};#define er_dst er_said.dst#define er_spi er_said.spi#define er_proto er_said.proto#ifdef CONFIG_IPSEC_DEBUGextern int debug_eroute;extern int debug_spi;#endif /* CONFIG_IPSEC_DEBUG */#ifdef NETDEV_23#define device net_device#define ipsec_dev_get __dev_get_by_name#else#define ipsec_dev_get dev_get#endif /* NETDEV_23 */#endif /* __KERNEL__ *//* * $Log: ipsec_encap.h,v $ * Revision 1.13  2001/06/14 19:35:08  rgb * Update copyright date. * * Revision 1.12  2001/05/27 06:12:10  rgb * Added structures for pid, packet count and last access time to eroute. * Added packet count to beginning of /proc/net/ipsec_eroute. * * Revision 1.11  2000/09/08 19:12:56  rgb * Change references from DEBUG_IPSEC to CONFIG_IPSEC_DEBUG. * * Revision 1.10  2000/03/22 16:15:36  rgb * Fixed renaming of dev_get (MB). * * Revision 1.9  2000/01/21 06:13:26  rgb * Added a macro for AF_ENCAP * * Revision 1.8  1999/12/31 14:56:55  rgb * MB fix for 2.3 dev-use-count. * * Revision 1.7  1999/11/18 04:09:18  rgb * Replaced all kernel version macros to shorter, readable form. * * Revision 1.6  1999/09/24 00:34:13  rgb * Add Marc Boucher's support for 2.3.xx+. * * Revision 1.5  1999/04/11 00:28:57  henry * GPL boilerplate * * Revision 1.4  1999/04/06 04:54:25  rgb * Fix/Add RCSID Id: and Log: bits to make PHMDs happy.  This includes * patch shell fixes. * * Revision 1.3  1998/10/19 14:44:28  rgb * Added inclusion of freeswan.h. * sa_id structure implemented and used: now includes protocol. * * Revision 1.2  1998/07/14 18:19:33  rgb * Added #ifdef __KERNEL__ directives to restrict scope of header. * * Revision 1.1  1998/06/18 21:27:44  henry * move sources from klips/src to klips/net/ipsec, to keep stupid * kernel-build scripts happier in the presence of symlinks * * Revision 1.2  1998/04/21 21:29:10  rgb * Rearrange debug switches to change on the fly debug output from user * space.  Only kernel changes checked in at this time.  radij.c was also * changed to temporarily remove buggy debugging code in rj_delete causing * an OOPS and hence, netlink device open errors. * * Revision 1.1  1998/04/09 03:05:58  henry * sources moved up from linux/net/ipsec * * Revision 1.1.1.1  1998/04/08 05:35:02  henry * RGB's ipsec-0.8pre2.tar.gz ipsec-0.8 * * Revision 0.4  1997/01/15 01:28:15  ji * Minor cosmetic changes. * * Revision 0.3  1996/11/20 14:35:48  ji * Minor Cleanup. * Rationalized debugging code. * * Revision 0.2  1996/11/02 00:18:33  ji * First limited release. * * */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -