Home | History | Annotate | Download | only in net
      1 /*	$NetBSD: pfkeyv2.h,v 1.4 2006/09/09 16:22:08 manu Exp $	*/
      2 
      3 #ifndef __NET_PFKEYV2_H_
      4 #define __NET_PFKEYV2_H_ 1
      5 
      6 #include <stdint.h>
      7 #include <linux/pfkeyv2.h>
      8 
      9 /* Private allocations for authentication algorithms */
     10 #define SADB_AALG_SHA2_256		SADB_X_AALG_SHA2_256HMAC
     11 #define SADB_X_AALG_SHA2_256		SADB_X_AALG_SHA2_256HMAC
     12 #define SADB_AALG_SHA2_384		SADB_X_AALG_SHA2_384HMAC
     13 #define SADB_X_AALG_SHA2_384		SADB_X_AALG_SHA2_384HMAC
     14 #define SADB_AALG_SHA2_512		SADB_X_AALG_SHA2_512HMAC
     15 #define SADB_X_AALG_SHA2_512		SADB_X_AALG_SHA2_512HMAC
     16 #define SADB_AALG_RIPEMD160HMAC		SADB_X_AALG_RIPEMD160HMAC
     17 #define SADB_X_AALG_MD5              249
     18 #define SADB_X_AALG_SHA              250
     19 
     20 /* private allocations - based on RFC2407/IANA assignment */
     21 #define SADB_X_EALG_CAST128CBC	5	/* SADB_X_EALG_CASTCBC? == 6 */
     22 #define SADB_X_EALG_RIJNDAELCBC		SADB_X_EALG_AESCBC
     23 #define SADB_X_EALG_AES			SADB_X_EALG_AESCBC
     24 
     25 
     26 #define SADB_X_CALG_NONE	0
     27 #define SADB_X_CALG_OUI		1
     28 #define SADB_X_CALG_DEFLATE	2
     29 #define SADB_X_CALG_LZS		3
     30 #define SADB_X_CALG_MAX		4
     31 
     32 
     33 #define SADB_X_EXT_NONE		0x0000	/* i.e. new format. */
     34 #define SADB_X_EXT_OLD		0x0001	/* old format. */
     35 
     36 #define SADB_X_EXT_IV4B		0x0010	/* IV length of 4 bytes in use */
     37 #define SADB_X_EXT_DERIV	0x0020	/* DES derived */
     38 #define SADB_X_EXT_CYCSEQ	0x0040	/* allowing to cyclic sequence. */
     39 
     40 	/* three of followings are exclusive flags each them */
     41 #define SADB_X_EXT_PSEQ		0x0000	/* sequencial padding for ESP */
     42 #define SADB_X_EXT_PRAND	0x0100	/* random padding for ESP */
     43 #define SADB_X_EXT_PZERO	0x0200	/* zero padding for ESP */
     44 #define SADB_X_EXT_PMASK	0x0300	/* mask for padding flag */
     45 
     46 #define SADB_X_EXT_RAWCPI	0x0080	/* use well known CPI (IPComp) */
     47 
     48 
     49 #define PFKEY_SOFT_LIFETIME_RATE	80
     50 
     51 #define SADB_X_LIFETIME_ALLOCATIONS	0
     52 #define SADB_X_LIFETIME_BYTES		1
     53 #define SADB_X_LIFETIME_ADDTIME		2
     54 #define SADB_X_LIFETIME_USETIME		3
     55 
     56 
     57 #define PFKEY_ALIGN8(a) (1 + (((a) - 1) | (8 - 1)))
     58 #define	PFKEY_EXTLEN(msg) \
     59 	PFKEY_UNUNIT64(((struct sadb_ext *)(msg))->sadb_ext_len)
     60 #define PFKEY_ADDR_PREFIX(ext) \
     61 	(((struct sadb_address *)(ext))->sadb_address_prefixlen)
     62 #define PFKEY_ADDR_PROTO(ext) \
     63 	(((struct sadb_address *)(ext))->sadb_address_proto)
     64 #define PFKEY_ADDR_SADDR(ext) \
     65 	((struct sockaddr *)((caddr_t)(ext) + sizeof(struct sadb_address)))
     66 
     67 /* in 64bits */
     68 #define	PFKEY_UNUNIT64(a)	((a) << 3)
     69 #define	PFKEY_UNIT64(a)		((a) >> 3)
     70 
     71 #endif
     72