3 #ifndef __NET_PFKEYV2_H_
4 #define __NET_PFKEYV2_H_ 1
7 #include <linux/pfkeyv2.h>
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
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
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
33 #define SADB_X_EXT_NONE 0x0000 /* i.e. new format. */
34 #define SADB_X_EXT_OLD 0x0001 /* old format. */
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. */
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 */
46 #define SADB_X_EXT_RAWCPI 0x0080 /* use well known CPI (IPComp) */
49 #define PFKEY_SOFT_LIFETIME_RATE 80
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
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)))
68 #define PFKEY_UNUNIT64(a) ((a) << 3)
69 #define PFKEY_UNIT64(a) ((a) >> 3)