Supported large size code blocks which does not fit in one mbuf segment.
-* **Added event mode to ipsec-secgw application.**
+* **Updated ipsec-secgw sample application with following features.**
- Updated ipsec-secgw application to add event based packet processing. The worker
- thread(s) would receive events and submit them back to the event device after
- the processing. This way, multicore scaling and HW assisted scheduling is achieved
- by making use of the event device capabilities. The event mode currently supports
- only inline IPsec protocol offload.
+ * Updated ipsec-secgw application to add event based packet processing.
+ The worker thread(s) would receive events and submit them back to the
+ event device after the processing. This way, multicore scaling and HW
+ assisted scheduling is achieved by making use of the event device
+ capabilities. The event mode currently supports only inline IPsec
+ protocol offload.
+
+ * Updated ipsec-secgw application to support key sizes for AES-192-CBC,
+ AES-192-GCM, AES-256-GCM algorithms.
Removed Items
* *null*: NULL algorithm
* *aes-128-cbc*: AES-CBC 128-bit algorithm
+ * *aes-192-cbc*: AES-CBC 192-bit algorithm
* *aes-256-cbc*: AES-CBC 256-bit algorithm
* *aes-128-ctr*: AES-CTR 128-bit algorithm
* *3des-cbc*: 3DES-CBC 192-bit algorithm
* Available options:
* *aes-128-gcm*: AES-GCM 128-bit algorithm
+ * *aes-192-gcm*: AES-GCM 192-bit algorithm
+ * *aes-256-gcm*: AES-GCM 256-bit algorithm
* Syntax: *cipher_algo <your algorithm>*
Must be followed by <aead_algo> option
* Syntax: Hexadecimal bytes (0x0-0xFF) concatenate by colon symbol ':'.
- The number of bytes should be as same as the specified AEAD algorithm
- key size.
+ Last 4 bytes of the provided key will be used as 'salt' and so, the
+ number of bytes should be same as the sum of specified AEAD algorithm
+ key size and salt size (4 bytes).
For example: *aead_key A1:B2:C3:D4:A1:B2:C3:D4:A1:B2:C3:D4:
- A1:B2:C3:D4*
+ A1:B2:C3:D4:A1:B2:C3:D4*
``<mode>``
} ip;
};
-#define MAX_KEY_SIZE 32
+#define MAX_KEY_SIZE 36
/*
* application wide SA parameters
.block_size = 16,
.key_len = 16
},
+ {
+ .keyword = "aes-192-cbc",
+ .algo = RTE_CRYPTO_CIPHER_AES_CBC,
+ .iv_len = 16,
+ .block_size = 16,
+ .key_len = 24
+ },
{
.keyword = "aes-256-cbc",
.algo = RTE_CRYPTO_CIPHER_AES_CBC,
.key_len = 20,
.digest_len = 16,
.aad_len = 8,
+ },
+ {
+ .keyword = "aes-192-gcm",
+ .algo = RTE_CRYPTO_AEAD_AES_GCM,
+ .iv_len = 8,
+ .block_size = 4,
+ .key_len = 28,
+ .digest_len = 16,
+ .aad_len = 8,
+ },
+ {
+ .keyword = "aes-256-gcm",
+ .algo = RTE_CRYPTO_AEAD_AES_GCM,
+ .iv_len = 8,
+ .block_size = 4,
+ .key_len = 36,
+ .digest_len = 16,
+ .aad_len = 8,
}
};
}
for (i = 0; i < RTE_DIM(aead_algos); i++) {
- if (aead_algos[i].algo == sa->aead_algo) {
+ if (aead_algos[i].algo == sa->aead_algo &&
+ aead_algos[i].key_len-4 == sa->cipher_key_len) {
printf("%s ", aead_algos[i].keyword);
break;
}