- int refcnt; /* reference count */
- u_int8_t state; /* Status of this Association */
-
- u_int8_t alg_auth; /* Authentication Algorithm Identifier*/
- u_int8_t alg_enc; /* Cipher Algorithm Identifier */
- u_int32_t spi; /* SPI Value, network byte order */
- u_int32_t flags; /* holder for SADB_KEY_FLAGS */
-
- struct sadb_key *key_auth; /* Key for Authentication */
- /* length has been shifted up to 3. */
- struct sadb_key *key_enc; /* Key for Encryption */
- /* length has been shifted up to 3. */
- caddr_t iv; /* Initilization Vector */
- u_int ivlen; /* length of IV */
-#if 0
- caddr_t misc1;
- caddr_t misc2;
- caddr_t misc3;
-#endif
+ u_int8_t alg_auth; /* Authentication Algorithm Identifier*/
+ u_int8_t alg_enc; /* Cipher Algorithm Identifier */
+ u_int32_t spi; /* SPI Value, network byte order */
+ u_int32_t flags; /* holder for SADB_KEY_FLAGS */
+ u_int16_t flags2; /* holder for SADB_SA2_KEY_FLAGS */
+
+ struct sadb_key *key_auth; /* Key for Authentication */
+ struct sadb_key *key_enc; /* Key for Encryption */
+ caddr_t iv; /* Initilization Vector */
+ u_int ivlen; /* length of IV */
+ void *sched; /* intermediate encryption key */
+ size_t schedlen;
+
+ struct secreplay *replay[MAX_REPLAY_WINDOWS]; /* replay prevention */
+
+ long created; /* for lifetime */
+
+ struct sadb_lifetime *lft_c; /* CURRENT lifetime, it's constant. */
+ struct sadb_lifetime *lft_h; /* HARD lifetime */
+ struct sadb_lifetime *lft_s; /* SOFT lifetime */
+
+ struct socket *so; /* Associated socket */