X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fipsec%2Fesp.h;h=51386e688441159f2a71e9fd8895709fcc7a611a;hb=490b92738;hp=01210157734c8c4919d9c778982fa36e0dd1cdc8;hpb=18f0e312f73b5b27748ef229be11da9c4ee1bc1b;p=vpp.git diff --git a/src/vnet/ipsec/esp.h b/src/vnet/ipsec/esp.h index 01210157734..51386e68844 100644 --- a/src/vnet/ipsec/esp.h +++ b/src/vnet/ipsec/esp.h @@ -58,6 +58,18 @@ typedef CLIB_PACKED (struct { }) ip6_and_esp_header_t; /* *INDENT-ON* */ +/** + * AES counter mode nonce + */ +typedef struct +{ + u32 salt; + u64 iv; + u32 ctr; /* counter: 1 in big-endian for ctr, unused for gcm */ +} __clib_packed esp_ctr_nonce_t; + +STATIC_ASSERT_SIZEOF (esp_ctr_nonce_t, 16); + /** * AES GCM Additional Authentication data */ @@ -196,6 +208,7 @@ typedef struct } esp_decrypt_packet_data_t; STATIC_ASSERT_SIZEOF (esp_decrypt_packet_data_t, 3 * sizeof (u64)); +STATIC_ASSERT_OFFSET_OF (esp_decrypt_packet_data_t, seq, sizeof (u64)); /* we are forced to store the decrypt post data into 2 separate places - vlib_opaque and opaque2. */ @@ -235,6 +248,7 @@ typedef struct u32 esp6_post_next; u32 esp4_tun_post_next; u32 esp6_tun_post_next; + u32 esp_mpls_tun_post_next; } esp_async_post_next_t; extern esp_async_post_next_t esp_encrypt_async_next;