1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(C) 2023 Marvell. 3 */ 4 5 #ifndef TEST_INLINE_MACSEC_VECTORS_H 6 #define TEST_INLINE_MACSEC_VECTORS_H 7 8 #define MCS_MAX_DATA_SZ 256 9 #define MCS_MAX_KEY_LEN 32 10 #define MCS_IV_LEN 12 11 #define MCS_SALT_LEN 12 12 13 enum mcs_op { 14 MCS_NO_OP, 15 MCS_ENCAP, 16 MCS_DECAP, 17 MCS_ENCAP_DECAP, 18 MCS_AUTH_ONLY, 19 MCS_VERIFY_ONLY, 20 MCS_AUTH_VERIFY, 21 }; 22 23 struct mcs_test_vector { 24 uint32_t test_idx; 25 enum rte_security_macsec_alg alg; 26 uint32_t ssci; 27 uint32_t xpn; 28 uint8_t salt[MCS_SALT_LEN]; 29 struct { 30 uint8_t data[MCS_MAX_KEY_LEN]; 31 uint16_t len; 32 } sa_key; 33 struct { 34 uint8_t data[MCS_MAX_DATA_SZ]; 35 uint16_t len; 36 } plain_pkt; 37 struct { 38 uint8_t data[MCS_MAX_DATA_SZ]; 39 uint16_t len; 40 } secure_pkt; 41 }; 42 43 static const struct mcs_test_vector list_mcs_cipher_vectors[] = { 44 /* gcm_128_64B_cipher */ 45 { 46 .test_idx = 0, 47 .alg = RTE_SECURITY_MACSEC_ALG_GCM_128, 48 .ssci = 0x0, 49 .salt = {0}, 50 .sa_key = { 51 .data = { 52 0x07, 0x1B, 0x11, 0x3B, 0x0C, 0xA7, 0x43, 0xFE, 53 0xCC, 0xCF, 0x3D, 0x05, 0x1F, 0x73, 0x73, 0x82 54 }, 55 .len = 16, 56 }, 57 .plain_pkt = { 58 .data = {/* MAC DA */ 59 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 60 /* MAC SA */ 61 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 62 /* User Data */ 63 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 64 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 65 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 66 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 67 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 68 0x35, 0x36, 0x37, 0x38, 0x39, 0x40, 0x41, 0x42, 69 0x43, 0x44, 0x45, 0x46, 70 }, 71 .len = 64, 72 }, 73 .secure_pkt = { 74 .data = {/* MAC DA */ 75 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 76 /* MAC SA */ 77 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 78 /* MACsec EtherType */ 79 0x88, 0xE5, 80 /* TCI and AN */ 81 0x2C, 82 /* SL */ 83 0x0, 84 /* PN */ 85 0x0, 0x0, 0x0, 0x2, 86 /* SCI */ 87 0xFE, 0x2F, 0xCD, 0x14, 0x24, 0x1B, 0x88, 0x2C, 88 /* Secure Data */ 89 0x39, 0x38, 0x97, 0x44, 0xA2, 0x6D, 0x71, 0x3D, 90 0x14, 0x27, 0xC7, 0x3E, 0x02, 0x96, 0x81, 0xAD, 91 0x47, 0x82, 0x2A, 0xCF, 0x19, 0x79, 0x12, 0x49, 92 0x0F, 0x93, 0x5A, 0x32, 0x43, 0x79, 0xEF, 0x9D, 93 0x70, 0xF8, 0xA9, 0xBE, 0x3D, 0x00, 0x5D, 0x22, 94 0xDA, 0x87, 0x3D, 0xC1, 0xBE, 0x1B, 0x13, 0xD9, 95 0x99, 0xDB, 0xF1, 0xC8, 96 /* ICV */ 97 0x4B, 0xC4, 0xF8, 0xC6, 0x09, 0x78, 0xB9, 0xBB, 98 0x5D, 0xC0, 0x04, 0xF3, 0x20, 0x7D, 0x14, 0x87, 99 }, 100 .len = 96, 101 }, 102 }, 103 /* gcm_128_54B_cipher */ 104 { 105 .test_idx = 1, 106 .alg = RTE_SECURITY_MACSEC_ALG_GCM_128, 107 .ssci = 0x0, 108 .xpn = 0, 109 .salt = {0}, 110 .sa_key = { 111 .data = { 112 0x07, 0x1B, 0x11, 0x3B, 0x0C, 0xA7, 0x43, 0xFE, 113 0xCC, 0xCF, 0x3D, 0x05, 0x1F, 0x73, 0x73, 0x82, 114 }, 115 .len = 16, 116 }, 117 .plain_pkt = { 118 .data = {/* MAC DA */ 119 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 120 /* MAC SA */ 121 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 122 /* User Data */ 123 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 124 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 125 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 126 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 127 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 128 0x00, 0x04, 129 }, 130 .len = 54, 131 }, 132 133 .secure_pkt = { 134 .data = {/* MAC DA */ 135 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 136 /* MAC SA */ 137 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 138 /* MACsec EtherType */ 139 0x88, 0xE5, 140 /* TCI and AN */ 141 0x4C, 142 /* SL */ 143 0x2A, 144 /* PN */ 145 0x76, 0xD4, 0x57, 0xED, 146 /* Secure Data */ 147 0x13, 0xB4, 0xC7, 0x2B, 0x38, 0x9D, 0xC5, 0x01, 148 0x8E, 0x72, 0xA1, 0x71, 0xDD, 0x85, 0xA5, 0xD3, 149 0x75, 0x22, 0x74, 0xD3, 0xA0, 0x19, 0xFB, 0xCA, 150 0xED, 0x09, 0xA4, 0x25, 0xCD, 0x9B, 0x2E, 0x1C, 151 0x9B, 0x72, 0xEE, 0xE7, 0xC9, 0xDE, 0x7D, 0x52, 152 0xB3, 0xF3, 153 /* ICV */ 154 0xD6, 0xA5, 0x28, 0x4F, 0x4A, 0x6D, 0x3F, 0xE2, 155 0x2A, 0x5D, 0x6C, 0x2B, 0x96, 0x04, 0x94, 0xC3, 156 }, 157 .len = 78, 158 }, 159 }, 160 /* gcm_256_54B_cipher */ 161 { 162 .test_idx = 2, 163 .alg = RTE_SECURITY_MACSEC_ALG_GCM_256, 164 .ssci = 0x0, 165 .xpn = 0, 166 .salt = {0}, 167 .sa_key = { 168 .data = { 169 0x69, 0x1D, 0x3E, 0xE9, 0x09, 0xD7, 0xF5, 0x41, 170 0x67, 0xFD, 0x1C, 0xA0, 0xB5, 0xD7, 0x69, 0x08, 171 0x1F, 0x2B, 0xDE, 0x1A, 0xEE, 0x65, 0x5F, 0xDB, 172 0xAB, 0x80, 0xBD, 0x52, 0x95, 0xAE, 0x6B, 0xE7, 173 }, 174 .len = 32, 175 }, 176 .plain_pkt = { 177 .data = {/* MAC DA */ 178 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 179 /* MAC SA */ 180 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 181 /* User Data */ 182 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 183 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 184 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 185 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 186 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 187 0x00, 0x04, 188 }, 189 .len = 54, 190 }, 191 .secure_pkt = { 192 .data = {/* MAC DA */ 193 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 194 /* MAC SA */ 195 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 196 /* MACsec EtherType */ 197 0x88, 0xE5, 198 /* TCI and AN */ 199 0x4C, 200 /* SL */ 201 0x2A, 202 /* PN */ 203 0x76, 0xD4, 0x57, 0xED, 204 /* Secure Data */ 205 0xC1, 0x62, 0x3F, 0x55, 0x73, 0x0C, 0x93, 0x53, 206 0x30, 0x97, 0xAD, 0xDA, 0xD2, 0x56, 0x64, 0x96, 207 0x61, 0x25, 0x35, 0x2B, 0x43, 0xAD, 0xAC, 0xBD, 208 0x61, 0xC5, 0xEF, 0x3A, 0xC9, 0x0B, 0x5B, 0xEE, 209 0x92, 0x9C, 0xE4, 0x63, 0x0E, 0xA7, 0x9F, 0x6C, 210 0xE5, 0x19, 211 /* ICV */ 212 0x12, 0xAF, 0x39, 0xC2, 0xD1, 0xFD, 0xC2, 0x05, 213 0x1F, 0x8B, 0x7B, 0x3C, 0x9D, 0x39, 0x7E, 0xF2, 214 }, 215 .len = 78, 216 }, 217 }, 218 /* gcm_128_xpn_54B_cipher */ 219 { 220 .test_idx = 3, 221 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_128, 222 .ssci = 0x7A30C118, 223 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 224 .salt = { 225 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 226 0x86, 0xA2, 0x1C, 0x66, 0xFA, 0x6D, 227 }, 228 .sa_key = { 229 .data = { 230 0x07, 0x1B, 0x11, 0x3B, 0x0C, 0xA7, 0x43, 0xFE, 231 0xCC, 0xCF, 0x3D, 0x05, 0x1F, 0x73, 0x73, 0x82, 232 }, 233 .len = 16, 234 }, 235 .plain_pkt = { 236 .data = {/* MAC DA */ 237 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 238 /* MAC SA */ 239 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 240 /* User Data */ 241 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 242 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 243 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 244 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 245 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 246 0x00, 0x04, 247 }, 248 .len = 54, 249 }, 250 .secure_pkt = { 251 .data = {/* MAC DA */ 252 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 253 /* MAC SA */ 254 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 255 /* MACsec EtherType */ 256 0x88, 0xE5, 257 /* TCI and AN */ 258 0x4C, 259 /* SL */ 260 0x2A, 261 /* PN */ 262 0x76, 0xD4, 0x57, 0xED, 263 /* Secure Data */ 264 0x9C, 0xA4, 0x69, 0x84, 0x43, 0x02, 0x03, 0xED, 265 0x41, 0x6E, 0xBD, 0xC2, 0xFE, 0x26, 0x22, 0xBA, 266 0x3E, 0x5E, 0xAB, 0x69, 0x61, 0xC3, 0x63, 0x83, 267 0x00, 0x9E, 0x18, 0x7E, 0x9B, 0x0C, 0x88, 0x56, 268 0x46, 0x53, 0xB9, 0xAB, 0xD2, 0x16, 0x44, 0x1C, 269 0x6A, 0xB6, 270 /* ICV */ 271 0xF0, 0xA2, 0x32, 0xE9, 0xE4, 0x4C, 0x97, 0x8C, 272 0xF7, 0xCD, 0x84, 0xD4, 0x34, 0x84, 0xD1, 0x01, 273 }, 274 .len = 78, 275 }, 276 }, 277 /* gcm_256_xpn_54B_cipher */ 278 { 279 .test_idx = 4, 280 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_256, 281 .ssci = 0x7A30C118, 282 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 283 .salt = { 284 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 285 0x86, 0xA2, 0x1C, 0x66, 0xFA, 0x6D, 286 }, 287 .sa_key = { 288 .data = { 289 0x69, 0x1D, 0x3E, 0xE9, 0x09, 0xD7, 0xF5, 0x41, 290 0x67, 0xFD, 0x1C, 0xA0, 0xB5, 0xD7, 0x69, 0x08, 291 0x1F, 0x2B, 0xDE, 0x1A, 0xEE, 0x65, 0x5F, 0xDB, 292 0xAB, 0x80, 0xBD, 0x52, 0x95, 0xAE, 0x6B, 0xE7, 293 }, 294 .len = 32, 295 }, 296 .plain_pkt = { 297 .data = {/* MAC DA */ 298 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 299 /* MAC SA */ 300 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 301 /* User Data */ 302 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 303 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 304 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 305 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 306 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 307 0x00, 0x04, 308 }, 309 .len = 54, 310 }, 311 .secure_pkt = { 312 .data = {/* MAC DA */ 313 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 314 /* MAC SA */ 315 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 316 /* MACsec EtherType */ 317 0x88, 0xE5, 318 /* TCI and AN */ 319 0x4C, 320 /* SL */ 321 0x2A, 322 /* PN */ 323 0x76, 0xD4, 0x57, 0xED, 324 /* Secure Data */ 325 0x88, 0xD9, 0xF7, 0xD1, 0xF1, 0x57, 0x8E, 0xE3, 326 0x4B, 0xA7, 0xB1, 0xAB, 0xC8, 0x98, 0x93, 0xEF, 327 0x1D, 0x33, 0x98, 0xC9, 0xF1, 0xDD, 0x3E, 0x47, 328 0xFB, 0xD8, 0x55, 0x3E, 0x0F, 0xF7, 0x86, 0xEF, 329 0x56, 0x99, 0xEB, 0x01, 0xEA, 0x10, 0x42, 0x0D, 330 0x0E, 0xBD, 331 /* ICV */ 332 0x39, 0xA0, 0xE2, 0x73, 0xC4, 0xC7, 0xF9, 0x5E, 333 0xD8, 0x43, 0x20, 0x7D, 0x7A, 0x49, 0x7D, 0xFA, 334 }, 335 .len = 78, 336 }, 337 }, 338 /* gcm_128_60B_cipher */ 339 { 340 .test_idx = 5, 341 .alg = RTE_SECURITY_MACSEC_ALG_GCM_128, 342 .ssci = 0x0, 343 .xpn = 0x0, /* Most significant 32 bits */ 344 .salt = {0}, 345 .sa_key = { 346 .data = { 347 0xAD, 0x7A, 0x2B, 0xD0, 0x3E, 0xAC, 0x83, 0x5A, 348 0x6F, 0x62, 0x0F, 0xDC, 0xB5, 0x06, 0xB3, 0x45, 349 }, 350 .len = 16, 351 }, 352 .plain_pkt = { 353 .data = {/* MAC DA */ 354 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 355 /* MAC SA */ 356 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 357 /* User Data */ 358 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 359 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 360 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 361 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 362 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 363 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x02, 364 }, 365 .len = 60, 366 }, 367 .secure_pkt = { 368 .data = {/* MAC DA */ 369 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 370 /* MAC SA */ 371 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 372 /* MACsec EtherType */ 373 0x88, 0xE5, 374 /* TCI and AN */ 375 0x2E, 376 /* SL */ 377 0x00, 378 /* PN */ 379 0xB2, 0xC2, 0x84, 0x65, 380 /* SCI */ 381 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81, 382 /* Secure Data */ 383 0x70, 0x1A, 0xFA, 0x1C, 0xC0, 0x39, 0xC0, 0xD7, 384 0x65, 0x12, 0x8A, 0x66, 0x5D, 0xAB, 0x69, 0x24, 385 0x38, 0x99, 0xBF, 0x73, 0x18, 0xCC, 0xDC, 0x81, 386 0xC9, 0x93, 0x1D, 0xA1, 0x7F, 0xBE, 0x8E, 0xDD, 387 0x7D, 0x17, 0xCB, 0x8B, 0x4C, 0x26, 0xFC, 0x81, 388 0xE3, 0x28, 0x4F, 0x2B, 0x7F, 0xBA, 0x71, 0x3D, 389 /* ICV */ 390 0x4F, 0x8D, 0x55, 0xE7, 0xD3, 0xF0, 0x6F, 0xD5, 391 0xA1, 0x3C, 0x0C, 0x29, 0xB9, 0xD5, 0xB8, 0x80, 392 }, 393 .len = 92, 394 }, 395 }, 396 /* gcm_256_60B_cipher */ 397 { 398 .test_idx = 6, 399 .alg = RTE_SECURITY_MACSEC_ALG_GCM_256, 400 .ssci = 0x0, 401 .xpn = 0x0, /* Most significant 32 bits */ 402 .salt = {0}, 403 .sa_key = { 404 .data = { 405 0xE3, 0xC0, 0x8A, 0x8F, 0x06, 0xC6, 0xE3, 0xAD, 406 0x95, 0xA7, 0x05, 0x57, 0xB2, 0x3F, 0x75, 0x48, 407 0x3C, 0xE3, 0x30, 0x21, 0xA9, 0xC7, 0x2B, 0x70, 408 0x25, 0x66, 0x62, 0x04, 0xC6, 0x9C, 0x0B, 0x72, 409 }, 410 .len = 32, 411 }, 412 .plain_pkt = { 413 .data = {/* MAC DA */ 414 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 415 /* MAC SA */ 416 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 417 /* User Data */ 418 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 419 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 420 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 421 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 422 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 423 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x02, 424 }, 425 .len = 60, 426 }, 427 .secure_pkt = { 428 .data = {/* MAC DA */ 429 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 430 /* MAC SA */ 431 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 432 /* MACsec EtherType */ 433 0x88, 0xE5, 434 /* TCI and AN */ 435 0x2E, 436 /* SL */ 437 0x00, 438 /* PN */ 439 0xB2, 0xC2, 0x84, 0x65, 440 /* SCI */ 441 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81, 442 /* Secure Data */ 443 0xE2, 0x00, 0x6E, 0xB4, 0x2F, 0x52, 0x77, 0x02, 444 0x2D, 0x9B, 0x19, 0x92, 0x5B, 0xC4, 0x19, 0xD7, 445 0xA5, 0x92, 0x66, 0x6C, 0x92, 0x5F, 0xE2, 0xEF, 446 0x71, 0x8E, 0xB4, 0xE3, 0x08, 0xEF, 0xEA, 0xA7, 447 0xC5, 0x27, 0x3B, 0x39, 0x41, 0x18, 0x86, 0x0A, 448 0x5B, 0xE2, 0xA9, 0x7F, 0x56, 0xAB, 0x78, 0x36, 449 /* ICV */ 450 0x5C, 0xA5, 0x97, 0xCD, 0xBB, 0x3E, 0xDB, 0x8D, 451 0x1A, 0x11, 0x51, 0xEA, 0x0A, 0xF7, 0xB4, 0x36, 452 }, 453 .len = 92, 454 }, 455 }, 456 /* gcm_128_xpn_60B_cipher */ 457 { 458 .test_idx = 7, 459 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_128, 460 .ssci = 0x7A30C118, 461 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 462 .salt = { 463 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 464 0x86, 0xA2, 0x1C, 0x66, 0xFA, 0x6D, 465 }, 466 .sa_key = { 467 .data = { 468 0xAD, 0x7A, 0x2B, 0xD0, 0x3E, 0xAC, 0x83, 0x5A, 469 0x6F, 0x62, 0x0F, 0xDC, 0xB5, 0x06, 0xB3, 0x45, 470 }, 471 .len = 16, 472 }, 473 .plain_pkt = { 474 .data = {/* MAC DA */ 475 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 476 /* MAC SA */ 477 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 478 /* User Data */ 479 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 480 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 481 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 482 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 483 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 484 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x02, 485 }, 486 .len = 60, 487 }, 488 .secure_pkt = { 489 .data = {/* MAC DA */ 490 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 491 /* MAC SA */ 492 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 493 /* MACsec EtherType */ 494 0x88, 0xE5, 495 /* TCI and AN */ 496 0x2E, 497 /* SL */ 498 0x00, 499 /* PN */ 500 0xB2, 0xC2, 0x84, 0x65, 501 /* SCI */ 502 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81, 503 /* Secure Data */ 504 0x07, 0x12, 0xD9, 0x80, 0xCA, 0x50, 0xBB, 0xED, 505 0x35, 0xA0, 0xFA, 0x56, 0x63, 0x38, 0x72, 0x9F, 506 0xFA, 0x16, 0xD1, 0x9F, 0xFC, 0xF0, 0x7B, 0x3A, 507 0x1E, 0x79, 0x19, 0xB3, 0x77, 0x6A, 0xAC, 0xEC, 508 0x8A, 0x59, 0x37, 0x20, 0x8B, 0x48, 0x3A, 0x76, 509 0x91, 0x98, 0x4D, 0x38, 0x07, 0x92, 0xE0, 0x7F, 510 /* ICV */ 511 0xC2, 0xC3, 0xC7, 0x9F, 0x26, 0x3F, 0xA6, 0xBF, 512 0xF8, 0xE7, 0x58, 0x1E, 0x2C, 0xE4, 0x5A, 0xF8, 513 }, 514 .len = 92, 515 }, 516 }, 517 /* gcm_256_xpn_60B_cipher */ 518 { 519 .test_idx = 8, 520 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_256, 521 .ssci = 0x7A30C118, 522 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 523 .salt = { 524 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 525 0x86, 0xA2, 0x1C, 0x66, 0xFA, 0x6D, 526 }, 527 .sa_key = { 528 .data = { 529 0xE3, 0xC0, 0x8A, 0x8F, 0x06, 0xC6, 0xE3, 0xAD, 530 0x95, 0xA7, 0x05, 0x57, 0xB2, 0x3F, 0x75, 0x48, 531 0x3C, 0xE3, 0x30, 0x21, 0xA9, 0xC7, 0x2B, 0x70, 532 0x25, 0x66, 0x62, 0x04, 0xC6, 0x9C, 0x0B, 0x72, 533 }, 534 .len = 32, 535 }, 536 .plain_pkt = { 537 .data = {/* MAC DA */ 538 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 539 /* MAC SA */ 540 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 541 /* User Data */ 542 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 543 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 544 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 545 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 546 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 547 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x02, 548 }, 549 .len = 60, 550 }, 551 .secure_pkt = { 552 .data = {/* MAC DA */ 553 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 554 /* MAC SA */ 555 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 556 /* MACsec EtherType */ 557 0x88, 0xE5, 558 /* TCI and AN */ 559 0x2E, 560 /* SL */ 561 0x00, 562 /* PN */ 563 0xB2, 0xC2, 0x84, 0x65, 564 /* SCI */ 565 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81, 566 /* Secure Data */ 567 0x3E, 0xB0, 0x4A, 0x4B, 0xBF, 0x54, 0xC6, 0xEB, 568 0x12, 0x22, 0xA9, 0xAE, 0xA0, 0x0C, 0x38, 0x68, 569 0x7F, 0x6C, 0x35, 0x20, 0xD9, 0x76, 0xA3, 0xB6, 570 0x94, 0x80, 0x06, 0x50, 0xCE, 0x65, 0x85, 0xE6, 571 0x20, 0xA4, 0x19, 0x19, 0x17, 0xD2, 0xA6, 0x05, 572 0xD8, 0x70, 0xC7, 0x8D, 0x27, 0x52, 0xCE, 0x49, 573 /* ICV */ 574 0x3B, 0x44, 0x2A, 0xC0, 0xC8, 0x16, 0xD7, 0xAB, 575 0xD7, 0x0A, 0xD6, 0x5C, 0x25, 0xD4, 0x64, 0x13, 576 }, 577 .len = 92, 578 }, 579 }, 580 /* gcm_128_61B_cipher */ 581 { 582 .test_idx = 9, 583 .alg = RTE_SECURITY_MACSEC_ALG_GCM_128, 584 .ssci = 0x0, 585 .xpn = 0x0, /* Most significant 32 bits */ 586 .salt = {0}, 587 .sa_key = { 588 .data = { 589 0x01, 0x3F, 0xE0, 0x0B, 0x5F, 0x11, 0xBE, 0x7F, 590 0x86, 0x6D, 0x0C, 0xBB, 0xC5, 0x5A, 0x7A, 0x90, 591 }, 592 .len = 16, 593 }, 594 .plain_pkt = { 595 .data = {/* MAC DA */ 596 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 597 /* MAC SA */ 598 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 599 /* User Data */ 600 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 601 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 602 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 603 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 604 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 605 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x00, 606 0x06, 607 }, 608 .len = 61, 609 }, 610 .secure_pkt = { 611 .data = {/* MAC DA */ 612 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 613 /* MAC SA */ 614 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 615 /* MACsec EtherType */ 616 0x88, 0xE5, 617 /* TCI and AN */ 618 0x2F, 619 /* SL */ 620 0x00, 621 /* PN */ 622 0x89, 0x32, 0xD6, 0x12, 623 /* SCI */ 624 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6, 625 /* Secure Data */ 626 0x3A, 0x4D, 0xE6, 0xFA, 0x32, 0x19, 0x10, 0x14, 627 0xDB, 0xB3, 0x03, 0xD9, 0x2E, 0xE3, 0xA9, 0xE8, 628 0xA1, 0xB5, 0x99, 0xC1, 0x4D, 0x22, 0xFB, 0x08, 629 0x00, 0x96, 0xE1, 0x38, 0x11, 0x81, 0x6A, 0x3C, 630 0x9C, 0x9B, 0xCF, 0x7C, 0x1B, 0x9B, 0x96, 0xDA, 631 0x80, 0x92, 0x04, 0xE2, 0x9D, 0x0E, 0x2A, 0x76, 632 0x42, 633 /* ICV */ 634 0xBF, 0xD3, 0x10, 0xA4, 0x83, 0x7C, 0x81, 0x6C, 635 0xCF, 0xA5, 0xAC, 0x23, 0xAB, 0x00, 0x39, 0x88, 636 }, 637 .len = 93, 638 }, 639 }, 640 /* gcm_256_61B_cipher */ 641 { 642 .test_idx = 10, 643 .alg = RTE_SECURITY_MACSEC_ALG_GCM_256, 644 .ssci = 0x0, 645 .xpn = 0x0, /* Most significant 32 bits */ 646 .salt = {0}, 647 .sa_key = { 648 .data = { 649 0x83, 0xC0, 0x93, 0xB5, 0x8D, 0xE7, 0xFF, 0xE1, 650 0xC0, 0xDA, 0x92, 0x6A, 0xC4, 0x3F, 0xB3, 0x60, 651 0x9A, 0xC1, 0xC8, 0x0F, 0xEE, 0x1B, 0x62, 0x44, 652 0x97, 0xEF, 0x94, 0x2E, 0x2F, 0x79, 0xA8, 0x23, 653 }, 654 .len = 32, 655 }, 656 .plain_pkt = { 657 .data = {/* MAC DA */ 658 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 659 /* MAC SA */ 660 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 661 /* User Data */ 662 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 663 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 664 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 665 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 666 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 667 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x00, 668 0x06, 669 }, 670 .len = 61, 671 }, 672 .secure_pkt = { 673 .data = {/* MAC DA */ 674 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 675 /* MAC SA */ 676 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 677 /* MACsec EtherType */ 678 0x88, 0xE5, 679 /* TCI and AN */ 680 0x2F, 681 /* SL */ 682 0x00, 683 /* PN */ 684 0x89, 0x32, 0xD6, 0x12, 685 /* SCI */ 686 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6, 687 /* Secure Data */ 688 0x11, 0x02, 0x22, 0xFF, 0x80, 0x50, 0xCB, 0xEC, 689 0xE6, 0x6A, 0x81, 0x3A, 0xD0, 0x9A, 0x73, 0xED, 690 0x7A, 0x9A, 0x08, 0x9C, 0x10, 0x6B, 0x95, 0x93, 691 0x89, 0x16, 0x8E, 0xD6, 0xE8, 0x69, 0x8E, 0xA9, 692 0x02, 0xEB, 0x12, 0x77, 0xDB, 0xEC, 0x2E, 0x68, 693 0xE4, 0x73, 0x15, 0x5A, 0x15, 0xA7, 0xDA, 0xEE, 694 0xD4, 695 /* ICV */ 696 0xA1, 0x0F, 0x4E, 0x05, 0x13, 0x9C, 0x23, 0xDF, 697 0x00, 0xB3, 0xAA, 0xDC, 0x71, 0xF0, 0x59, 0x6A, 698 }, 699 .len = 93, 700 }, 701 }, 702 /* gcm_128_xpn_61B_cipher */ 703 { 704 .test_idx = 11, 705 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_128, 706 .ssci = 0x7A30C118, 707 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 708 .salt = { 709 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 710 0x86, 0xA2, 0x1C, 0x66, 0xFA, 0x6D, 711 }, 712 .sa_key = { 713 .data = { 714 0x01, 0x3F, 0xE0, 0x0B, 0x5F, 0x11, 0xBE, 0x7F, 715 0x86, 0x6D, 0x0C, 0xBB, 0xC5, 0x5A, 0x7A, 0x90, 716 }, 717 .len = 16, 718 }, 719 .plain_pkt = { 720 .data = {/* MAC DA */ 721 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 722 /* MAC SA */ 723 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 724 /* User Data */ 725 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 726 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 727 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 728 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 729 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 730 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x00, 731 0x06, 732 }, 733 .len = 61, 734 }, 735 .secure_pkt = { 736 .data = {/* MAC DA */ 737 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 738 /* MAC SA */ 739 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 740 /* MACsec EtherType */ 741 0x88, 0xE5, 742 /* TCI and AN */ 743 0x2F, 744 /* SL */ 745 0x00, 746 /* PN */ 747 0x89, 0x32, 0xD6, 0x12, 748 /* SCI */ 749 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6, 750 /* Secure Data */ 751 0x14, 0xC1, 0x76, 0x93, 0xBC, 0x82, 0x97, 0xEE, 752 0x6C, 0x47, 0xC5, 0x65, 0xCB, 0xE0, 0x67, 0x9E, 753 0x80, 0xF0, 0x0F, 0xCA, 0xF5, 0x92, 0xC9, 0xAA, 754 0x04, 0x73, 0x92, 0x8E, 0x7F, 0x2F, 0x21, 0x6F, 755 0xF5, 0xA0, 0x33, 0xDE, 0xC7, 0x51, 0x3F, 0x45, 756 0xD3, 0x4C, 0xBB, 0x98, 0x1C, 0x5B, 0xD6, 0x4E, 757 0x8B, 758 /* ICV */ 759 0xD8, 0x4B, 0x8E, 0x2A, 0x78, 0xE7, 0x4D, 0xAF, 760 0xEA, 0xA0, 0x38, 0x46, 0xFE, 0x93, 0x0C, 0x0E, 761 }, 762 .len = 93, 763 }, 764 }, 765 /* gcm_256_xpn_61B_cipher */ 766 { 767 .test_idx = 12, 768 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_256, 769 .ssci = 0x7A30C118, 770 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 771 .salt = { 772 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 773 0x86, 0xA2, 0x1C, 0x66, 0xFA, 0x6D, 774 }, 775 .sa_key = { 776 .data = { 777 0x83, 0xC0, 0x93, 0xB5, 0x8D, 0xE7, 0xFF, 0xE1, 778 0xC0, 0xDA, 0x92, 0x6A, 0xC4, 0x3F, 0xB3, 0x60, 779 0x9A, 0xC1, 0xC8, 0x0F, 0xEE, 0x1B, 0x62, 0x44, 780 0x97, 0xEF, 0x94, 0x2E, 0x2F, 0x79, 0xA8, 0x23, 781 }, 782 .len = 32, 783 }, 784 .plain_pkt = { 785 .data = {/* MAC DA */ 786 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 787 /* MAC SA */ 788 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 789 /* User Data */ 790 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 791 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 792 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 793 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 794 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 795 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x00, 796 0x06, 797 }, 798 .len = 61, 799 }, 800 .secure_pkt = { 801 .data = {/* MAC DA */ 802 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 803 /* MAC SA */ 804 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 805 /* MACsec EtherType */ 806 0x88, 0xE5, 807 /* TCI and AN */ 808 0x2F, 809 /* SL */ 810 0x00, 811 /* PN */ 812 0x89, 0x32, 0xD6, 0x12, 813 /* SCI */ 814 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6, 815 /* Secure Data */ 816 0x09, 0x96, 0xE0, 0xC9, 0xA5, 0x57, 0x74, 0xE0, 817 0xA7, 0x92, 0x30, 0x4E, 0x7D, 0xC1, 0x50, 0xBD, 818 0x67, 0xFD, 0x74, 0x7D, 0xD1, 0xB9, 0x41, 0x95, 819 0x94, 0xBF, 0x37, 0x3D, 0x4A, 0xCE, 0x8F, 0x87, 820 0xF5, 0xC1, 0x34, 0x9A, 0xFA, 0xC4, 0x91, 0xAA, 821 0x0A, 0x40, 0xD3, 0x19, 0x90, 0x87, 0xB2, 0x9F, 822 0xDF, 823 /* ICV */ 824 0x80, 0x2F, 0x05, 0x0E, 0x69, 0x1F, 0x11, 0xA2, 825 0xD9, 0xB3, 0x58, 0xF6, 0x99, 0x41, 0x84, 0xF5, 826 }, 827 .len = 93, 828 }, 829 }, 830 /* gcm_128_75B_cipher */ 831 { 832 .test_idx = 13, 833 .alg = RTE_SECURITY_MACSEC_ALG_GCM_128, 834 .ssci = 0, 835 .xpn = 0, /* Most significant 32 bits */ 836 .salt = {0}, 837 .sa_key = { 838 .data = { 839 0x88, 0xEE, 0x08, 0x7F, 0xD9, 0x5D, 0xA9, 0xFB, 840 0xF6, 0x72, 0x5A, 0xA9, 0xD7, 0x57, 0xB0, 0xCD, 841 }, 842 .len = 16, 843 }, 844 .plain_pkt = { 845 .data = {/* MAC DA */ 846 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 847 /* MAC SA */ 848 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 849 /* User Data */ 850 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 851 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 852 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 853 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 854 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 855 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 856 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 857 0x45, 0x46, 0x47, 0x48, 0x49, 0x00, 0x08, 858 }, 859 .len = 75, 860 }, 861 .secure_pkt = { 862 .data = {/* MAC DA */ 863 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 864 /* MAC SA */ 865 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 866 /* MACsec EtherType */ 867 0x88, 0xE5, 868 /* TCI and AN */ 869 0x4D, 870 /* SL */ 871 0x00, 872 /* PN */ 873 0x2E, 0x58, 0x49, 0x5C, 874 /* SCI */ 875 /* Secure Data */ 876 0xC3, 0x1F, 0x53, 0xD9, 0x9E, 0x56, 0x87, 0xF7, 877 0x36, 0x51, 0x19, 0xB8, 0x32, 0xD2, 0xAA, 0xE7, 878 0x07, 0x41, 0xD5, 0x93, 0xF1, 0xF9, 0xE2, 0xAB, 879 0x34, 0x55, 0x77, 0x9B, 0x07, 0x8E, 0xB8, 0xFE, 880 0xAC, 0xDF, 0xEC, 0x1F, 0x8E, 0x3E, 0x52, 0x77, 881 0xF8, 0x18, 0x0B, 0x43, 0x36, 0x1F, 0x65, 0x12, 882 0xAD, 0xB1, 0x6D, 0x2E, 0x38, 0x54, 0x8A, 0x2C, 883 0x71, 0x9D, 0xBA, 0x72, 0x28, 0xD8, 0x40, 884 /* ICV */ 885 0x88, 0xF8, 0x75, 0x7A, 0xDB, 0x8A, 0xA7, 0x88, 886 0xD8, 0xF6, 0x5A, 0xD6, 0x68, 0xBE, 0x70, 0xE7, 887 }, 888 .len = 99, 889 }, 890 }, 891 /* gcm_256_75B_cipher */ 892 { 893 .test_idx = 14, 894 .alg = RTE_SECURITY_MACSEC_ALG_GCM_256, 895 .ssci = 0, 896 .xpn = 0, /* Most significant 32 bits */ 897 .salt = {0}, 898 .sa_key = { 899 .data = { 900 0x4C, 0x97, 0x3D, 0xBC, 0x73, 0x64, 0x62, 0x16, 901 0x74, 0xF8, 0xB5, 0xB8, 0x9E, 0x5C, 0x15, 0x51, 902 0x1F, 0xCE, 0xD9, 0x21, 0x64, 0x90, 0xFB, 0x1C, 903 0x1A, 0x2C, 0xAA, 0x0F, 0xFE, 0x04, 0x07, 0xE5, 904 }, 905 .len = 32, 906 }, 907 .plain_pkt = { 908 .data = {/* MAC DA */ 909 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 910 /* MAC SA */ 911 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 912 /* User Data */ 913 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 914 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 915 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 916 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 917 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 918 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 919 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 920 0x45, 0x46, 0x47, 0x48, 0x49, 0x00, 0x08, 921 }, 922 .len = 75, 923 }, 924 .secure_pkt = { 925 .data = {/* MAC DA */ 926 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 927 /* MAC SA */ 928 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 929 /* MACsec EtherType */ 930 0x88, 0xE5, 931 /* TCI and AN */ 932 0x4D, 933 /* SL */ 934 0x00, 935 /* PN */ 936 0x2E, 0x58, 0x49, 0x5C, 937 /* SCI */ 938 /* Secure Data */ 939 0xBA, 0x8A, 0xE3, 0x1B, 0xC5, 0x06, 0x48, 0x6D, 940 0x68, 0x73, 0xE4, 0xFC, 0xE4, 0x60, 0xE7, 0xDC, 941 0x57, 0x59, 0x1F, 0xF0, 0x06, 0x11, 0xF3, 0x1C, 942 0x38, 0x34, 0xFE, 0x1C, 0x04, 0xAD, 0x80, 0xB6, 943 0x68, 0x03, 0xAF, 0xCF, 0x5B, 0x27, 0xE6, 0x33, 944 0x3F, 0xA6, 0x7C, 0x99, 0xDA, 0x47, 0xC2, 0xF0, 945 0xCE, 0xD6, 0x8D, 0x53, 0x1B, 0xD7, 0x41, 0xA9, 946 0x43, 0xCF, 0xF7, 0xA6, 0x71, 0x3B, 0xD0, 947 /* ICV */ 948 0x26, 0x11, 0xCD, 0x7D, 0xAA, 0x01, 0xD6, 0x1C, 949 0x5C, 0x88, 0x6D, 0xC1, 0xA8, 0x17, 0x01, 0x07, 950 }, 951 .len = 99, 952 }, 953 }, 954 /* gcm_128_xpn_75B_cipher */ 955 { 956 .test_idx = 15, 957 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_128, 958 .ssci = 0x7A30C118, 959 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 960 .salt = { 961 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 0x86, 0xA2, 962 0x1C, 0x66, 0xFA, 0x6D, 963 }, 964 .sa_key = { 965 .data = { 966 0x88, 0xEE, 0x08, 0x7F, 0xD9, 0x5D, 0xA9, 0xFB, 967 0xF6, 0x72, 0x5A, 0xA9, 0xD7, 0x57, 0xB0, 0xCD, 968 }, 969 .len = 16, 970 }, 971 .plain_pkt = { 972 .data = {/* MAC DA */ 973 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 974 /* MAC SA */ 975 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 976 /* User Data */ 977 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 978 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 979 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 980 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 981 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 982 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 983 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 984 0x45, 0x46, 0x47, 0x48, 0x49, 0x00, 0x08, 985 }, 986 .len = 75, 987 }, 988 .secure_pkt = { 989 .data = {/* MAC DA */ 990 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 991 /* MAC SA */ 992 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 993 /* MACsec EtherType */ 994 0x88, 0xE5, 995 /* TCI and AN */ 996 0x4D, 997 /* SL */ 998 0x00, 999 /* PN */ 1000 0x2E, 0x58, 0x49, 0x5C, 1001 /* SCI */ 1002 /* Secure Data */ 1003 0xEA, 0xEC, 0xC6, 0xAF, 0x65, 0x12, 0xFC, 0x8B, 1004 0x6C, 0x8C, 0x43, 0xBC, 0x55, 0xB1, 0x90, 0xB2, 1005 0x62, 0x6D, 0x07, 0xD3, 0xD2, 0x18, 0xFA, 0xF5, 1006 0xDA, 0xA7, 0xD8, 0xF8, 0x00, 0xA5, 0x73, 0x31, 1007 0xEB, 0x43, 0xB5, 0xA1, 0x7A, 0x37, 0xE5, 0xB1, 1008 0xD6, 0x0D, 0x27, 0x5C, 0xCA, 0xF7, 0xAC, 0xD7, 1009 0x04, 0xCC, 0x9A, 0xCE, 0x2B, 0xF8, 0xBC, 0x8B, 1010 0x9B, 0x23, 0xB9, 0xAD, 0xF0, 0x2F, 0x87, 1011 /* ICV */ 1012 0x34, 0x6B, 0x96, 0xD1, 0x13, 0x6A, 0x75, 0x4D, 1013 0xF0, 0xA6, 0xCD, 0xE1, 0x26, 0xC1, 0x07, 0xF8, 1014 }, 1015 .len = 99, 1016 }, 1017 }, 1018 /* gcm_256_xpn_75B_cipher */ 1019 { 1020 .test_idx = 16, 1021 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_256, 1022 .ssci = 0x7A30C118, 1023 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 1024 .salt = { 1025 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 0x86, 0xA2, 1026 0x1C, 0x66, 0xFA, 0x6D, 1027 }, 1028 .sa_key = { 1029 .data = { 1030 0x4C, 0x97, 0x3D, 0xBC, 0x73, 0x64, 0x62, 0x16, 1031 0x74, 0xF8, 0xB5, 0xB8, 0x9E, 0x5C, 0x15, 0x51, 1032 0x1F, 0xCE, 0xD9, 0x21, 0x64, 0x90, 0xFB, 0x1C, 1033 0x1A, 0x2C, 0xAA, 0x0F, 0xFE, 0x04, 0x07, 0xE5, 1034 }, 1035 .len = 32, 1036 }, 1037 .plain_pkt = { 1038 .data = {/* MAC DA */ 1039 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 1040 /* MAC SA */ 1041 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 1042 /* User Data */ 1043 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1044 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1045 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1046 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1047 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1048 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1049 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 1050 0x45, 0x46, 0x47, 0x48, 0x49, 0x00, 0x08, 1051 }, 1052 .len = 75, 1053 }, 1054 .secure_pkt = { 1055 .data = {/* MAC DA */ 1056 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 1057 /* MAC SA */ 1058 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 1059 /* MACsec EtherType */ 1060 0x88, 0xE5, 1061 /* TCI and AN */ 1062 0x4D, 1063 /* SL */ 1064 0x00, 1065 /* PN */ 1066 0x2E, 0x58, 0x49, 0x5C, 1067 /* SCI */ 1068 /* Secure Data */ 1069 0xB0, 0xFE, 0xA3, 0x63, 0x18, 0xB9, 0xB3, 0x64, 1070 0x66, 0xC4, 0x6E, 0x9E, 0x1B, 0xDA, 0x1A, 0x26, 1071 0x68, 0x58, 0x19, 0x6E, 0x7E, 0x70, 0xD8, 0x82, 1072 0xAE, 0x70, 0x47, 0x56, 0x68, 0xCD, 0xE4, 0xEC, 1073 0x88, 0x3F, 0x6A, 0xC2, 0x36, 0x9F, 0x28, 0x4B, 1074 0xED, 0x1F, 0xE3, 0x2F, 0x42, 0x09, 0x2F, 0xDF, 1075 0xF5, 0x86, 0x8A, 0x3C, 0x64, 0xE5, 0x61, 0x51, 1076 0x92, 0xA7, 0xA3, 0x76, 0x0B, 0x34, 0xBC, 1077 /* ICV */ 1078 0x85, 0x69, 0x2C, 0xD8, 0x15, 0xB6, 0x64, 0x71, 1079 0x1A, 0xEF, 0x91, 0x1D, 0xF7, 0x8D, 0x7F, 0x46, 1080 }, 1081 .len = 99, 1082 }, 1083 }, 1084 }; 1085 1086 static const struct mcs_test_vector list_mcs_integrity_vectors[] = { 1087 /* gcm_128_54B_integrity */ 1088 { 1089 .test_idx = 1, 1090 .alg = RTE_SECURITY_MACSEC_ALG_GCM_128, 1091 .ssci = 0, 1092 .xpn = 0, /* Most significant 32 bits */ 1093 .salt = {0}, 1094 .sa_key = { 1095 .data = { 1096 0xAD, 0x7A, 0x2B, 0xD0, 0x3E, 0xAC, 0x83, 0x5A, 1097 0x6F, 0x62, 0x0F, 0xDC, 0xB5, 0x06, 0xB3, 0x45, 1098 }, 1099 .len = 16, 1100 }, 1101 .plain_pkt = { 1102 .data = {/* MAC DA */ 1103 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 1104 /* MAC SA */ 1105 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 1106 /* User Data */ 1107 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1108 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1109 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1110 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1111 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1112 0x00, 0x01, 1113 }, 1114 .len = 54, 1115 }, 1116 .secure_pkt = { 1117 .data = {/* MAC DA */ 1118 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 1119 /* MAC SA */ 1120 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 1121 /* MACsec EtherType */ 1122 0x88, 0xE5, 1123 /* TCI and AN */ 1124 0x22, 1125 /* SL */ 1126 0x2A, 1127 /* PN */ 1128 0xB2, 0xC2, 0x84, 0x65, 1129 /* SCI */ 1130 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81, 1131 /* Secure Data */ 1132 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1133 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1134 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1135 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1136 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1137 0x00, 0x01, 1138 /* ICV */ 1139 0xF0, 0x94, 0x78, 0xA9, 0xB0, 0x90, 0x07, 0xD0, 1140 0x6F, 0x46, 0xE9, 0xB6, 0xA1, 0xDA, 0x25, 0xDD, 1141 }, 1142 .len = 86, 1143 }, 1144 }, 1145 /* gcm_256_54B_integrity */ 1146 { 1147 .test_idx = 2, 1148 .alg = RTE_SECURITY_MACSEC_ALG_GCM_256, 1149 .ssci = 0, 1150 .xpn = 0, /* Most significant 32 bits */ 1151 .salt = {0}, 1152 .sa_key = { 1153 .data = { 1154 0xE3, 0xC0, 0x8A, 0x8F, 0x06, 0xC6, 0xE3, 0xAD, 1155 0x95, 0xA7, 0x05, 0x57, 0xB2, 0x3F, 0x75, 0x48, 1156 0x3C, 0xE3, 0x30, 0x21, 0xA9, 0xC7, 0x2B, 0x70, 1157 0x25, 0x66, 0x62, 0x04, 0xC6, 0x9C, 0x0B, 0x72, 1158 }, 1159 .len = 32, 1160 }, 1161 .plain_pkt = { 1162 .data = {/* MAC DA */ 1163 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 1164 /* MAC SA */ 1165 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 1166 /* User Data */ 1167 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1168 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1169 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1170 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1171 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1172 0x00, 0x01, 1173 }, 1174 .len = 54, 1175 }, 1176 .secure_pkt = { 1177 .data = {/* MAC DA */ 1178 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 1179 /* MAC SA */ 1180 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 1181 /* MACsec EtherType */ 1182 0x88, 0xE5, 1183 /* TCI and AN */ 1184 0x22, 1185 /* SL */ 1186 0x2A, 1187 /* PN */ 1188 0xB2, 0xC2, 0x84, 0x65, 1189 /* SCI */ 1190 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81, 1191 /* Secure Data */ 1192 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1193 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1194 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1195 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1196 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1197 0x00, 0x01, 1198 /* ICV */ 1199 0x2F, 0x0B, 0xC5, 0xAF, 0x40, 0x9E, 0x06, 0xD6, 1200 0x09, 0xEA, 0x8B, 0x7D, 0x0F, 0xA5, 0xEA, 0x50, 1201 }, 1202 .len = 86, 1203 }, 1204 }, 1205 /* gcm_128_xpn_54B_integrity */ 1206 { 1207 .test_idx = 3, 1208 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_128, 1209 .ssci = 0x7A30C118, 1210 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 1211 .salt = { 1212 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 0x86, 0xA2, 1213 0x1C, 0x66, 0xFA, 0x6D, 1214 }, 1215 .sa_key = { 1216 .data = { 1217 0xAD, 0x7A, 0x2B, 0xD0, 0x3E, 0xAC, 0x83, 0x5A, 1218 0x6F, 0x62, 0x0F, 0xDC, 0xB5, 0x06, 0xB3, 0x45, 1219 }, 1220 .len = 16, 1221 }, 1222 .plain_pkt = { 1223 .data = {/* MAC DA */ 1224 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 1225 /* MAC SA */ 1226 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 1227 /* User Data */ 1228 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1229 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1230 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1231 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1232 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1233 0x00, 0x01, 1234 }, 1235 .len = 54, 1236 }, 1237 .secure_pkt = { 1238 .data = {/* MAC DA */ 1239 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 1240 /* MAC SA */ 1241 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 1242 /* MACsec EtherType */ 1243 0x88, 0xE5, 1244 /* TCI and AN */ 1245 0x22, 1246 /* SL */ 1247 0x2A, 1248 /* PN */ 1249 0xB2, 0xC2, 0x84, 0x65, 1250 /* SCI */ 1251 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81, 1252 /* Secure Data */ 1253 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1254 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1255 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1256 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1257 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1258 0x00, 0x01, 1259 /* ICV */ 1260 0x17, 0xFE, 0x19, 0x81, 0xEB, 0xDD, 0x4A, 0xFC, 1261 0x50, 0x62, 0x69, 0x7E, 0x8B, 0xAA, 0x0C, 0x23, 1262 }, 1263 .len = 86, 1264 }, 1265 }, 1266 /* gcm_256_xpn_54B_integrity */ 1267 { 1268 .test_idx = 4, 1269 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_256, 1270 .ssci = 0x7A30C118, 1271 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 1272 .salt = { 1273 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 0x86, 0xA2, 1274 0x1C, 0x66, 0xFA, 0x6D, 1275 }, 1276 .sa_key = { 1277 .data = { 1278 0xE3, 0xC0, 0x8A, 0x8F, 0x06, 0xC6, 0xE3, 0xAD, 1279 0x95, 0xA7, 0x05, 0x57, 0xB2, 0x3F, 0x75, 0x48, 1280 0x3C, 0xE3, 0x30, 0x21, 0xA9, 0xC7, 0x2B, 0x70, 1281 0x25, 0x66, 0x62, 0x04, 0xC6, 0x9C, 0x0B, 0x72, 1282 }, 1283 .len = 32, 1284 }, 1285 .plain_pkt = { 1286 .data = {/* MAC DA */ 1287 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 1288 /* MAC SA */ 1289 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 1290 /* User Data */ 1291 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1292 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1293 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1294 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1295 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1296 0x00, 0x01, 1297 }, 1298 .len = 54, 1299 }, 1300 .secure_pkt = { 1301 .data = {/* MAC DA */ 1302 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 1303 /* MAC SA */ 1304 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 1305 /* MACsec EtherType */ 1306 0x88, 0xE5, 1307 /* TCI and AN */ 1308 0x22, 1309 /* SL */ 1310 0x2A, 1311 /* PN */ 1312 0xB2, 0xC2, 0x84, 0x65, 1313 /* SCI */ 1314 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81, 1315 /* Secure Data */ 1316 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1317 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1318 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1319 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1320 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1321 0x00, 0x01, 1322 /* ICV */ 1323 0x4D, 0xBD, 0x2F, 0x6A, 0x75, 0x4A, 0x6C, 0xF7, 1324 0x28, 0xCC, 0x12, 0x9B, 0xA6, 0x93, 0x15, 0x77, 1325 }, 1326 .len = 86, 1327 }, 1328 }, 1329 /* gcm_128_60B_integrity */ 1330 { 1331 .test_idx = 5, 1332 .alg = RTE_SECURITY_MACSEC_ALG_GCM_128, 1333 .ssci = 0, 1334 .xpn = 0, /* Most significant 32 bits */ 1335 .salt = {0}, 1336 .sa_key = { 1337 .data = { 1338 0x07, 0x1B, 0x11, 0x3B, 0x0C, 0xA7, 0x43, 0xFE, 1339 0xCC, 0xCF, 0x3D, 0x05, 0x1F, 0x73, 0x73, 0x82, 1340 }, 1341 .len = 16, 1342 }, 1343 .plain_pkt = { 1344 .data = {/* MAC DA */ 1345 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 1346 /* MAC SA */ 1347 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 1348 /* User Data */ 1349 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1350 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1351 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1352 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1353 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1354 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x03, 1355 }, 1356 .len = 60, 1357 }, 1358 .secure_pkt = { 1359 .data = {/* MAC DA */ 1360 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 1361 /* MAC SA */ 1362 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 1363 /* MACsec EtherType */ 1364 0x88, 0xE5, 1365 /* TCI and AN */ 1366 0x40, 1367 /* SL */ 1368 0x00, 1369 /* PN */ 1370 0x76, 0xD4, 0x57, 0xED, 1371 /* SCI */ 1372 /* Secure Data */ 1373 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1374 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1375 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1376 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1377 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1378 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x03, 1379 /* ICV */ 1380 0x0C, 0x01, 0x7B, 0xC7, 0x3B, 0x22, 0x7D, 0xFC, 1381 0xC9, 0xBA, 0xFA, 0x1C, 0x41, 0xAC, 0xC3, 0x53, 1382 }, 1383 .len = 84, 1384 }, 1385 }, 1386 /* gcm_256_60B_integrity */ 1387 { 1388 .test_idx = 6, 1389 .alg = RTE_SECURITY_MACSEC_ALG_GCM_256, 1390 .ssci = 0, 1391 .xpn = 0, /* Most significant 32 bits */ 1392 .salt = {0}, 1393 .sa_key = { 1394 .data = { 1395 0x69, 0x1D, 0x3E, 0xE9, 0x09, 0xD7, 0xF5, 0x41, 1396 0x67, 0xFD, 0x1C, 0xA0, 0xB5, 0xD7, 0x69, 0x08, 1397 0x1F, 0x2B, 0xDE, 0x1A, 0xEE, 0x65, 0x5F, 0xDB, 1398 0xAB, 0x80, 0xBD, 0x52, 0x95, 0xAE, 0x6B, 0xE7, 1399 }, 1400 .len = 32, 1401 }, 1402 .plain_pkt = { 1403 .data = {/* MAC DA */ 1404 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 1405 /* MAC SA */ 1406 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 1407 /* User Data */ 1408 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1409 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1410 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1411 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1412 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1413 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x03, 1414 }, 1415 .len = 60, 1416 }, 1417 .secure_pkt = { 1418 .data = {/* MAC DA */ 1419 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 1420 /* MAC SA */ 1421 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 1422 /* MACsec EtherType */ 1423 0x88, 0xE5, 1424 /* TCI and AN */ 1425 0x40, 1426 /* SL */ 1427 0x00, 1428 /* PN */ 1429 0x76, 0xD4, 0x57, 0xED, 1430 /* SCI */ 1431 /* Secure Data */ 1432 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1433 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1434 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1435 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1436 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1437 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x03, 1438 /* ICV */ 1439 0x35, 0x21, 0x7C, 0x77, 0x4B, 0xBC, 0x31, 0xB6, 1440 0x31, 0x66, 0xBC, 0xF9, 0xD4, 0xAB, 0xED, 0x07, 1441 }, 1442 .len = 84, 1443 }, 1444 }, 1445 /* gcm_128_xpn_60B_integrity */ 1446 { 1447 .test_idx = 7, 1448 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_128, 1449 .ssci = 0x7A30C118, 1450 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 1451 .salt = { 1452 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 0x86, 0xA2, 1453 0x1C, 0x66, 0xFA, 0x6D, 1454 }, 1455 .sa_key = { 1456 .data = { 1457 0x07, 0x1B, 0x11, 0x3B, 0x0C, 0xA7, 0x43, 0xFE, 1458 0xCC, 0xCF, 0x3D, 0x05, 0x1F, 0x73, 0x73, 0x82, 1459 }, 1460 .len = 16, 1461 }, 1462 .plain_pkt = { 1463 .data = {/* MAC DA */ 1464 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 1465 /* MAC SA */ 1466 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 1467 /* User Data */ 1468 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1469 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1470 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1471 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1472 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1473 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x03, 1474 }, 1475 .len = 60, 1476 }, 1477 .secure_pkt = { 1478 .data = {/* MAC DA */ 1479 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 1480 /* MAC SA */ 1481 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 1482 /* MACsec EtherType */ 1483 0x88, 0xE5, 1484 /* TCI and AN */ 1485 0x40, 1486 /* SL */ 1487 0x00, 1488 /* PN */ 1489 0x76, 0xD4, 0x57, 0xED, 1490 /* SCI */ 1491 /* Secure Data */ 1492 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1493 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1494 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1495 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1496 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1497 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x03, 1498 /* ICV */ 1499 0xAB, 0xC4, 0x06, 0x85, 0xA3, 0xCF, 0x91, 0x1D, 1500 0x37, 0x87, 0xE4, 0x9D, 0xB6, 0xA7, 0x26, 0x5E, 1501 }, 1502 .len = 84, 1503 }, 1504 }, 1505 /* gcm_256_xpn_60B_integrity */ 1506 { 1507 .test_idx = 8, 1508 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_256, 1509 .ssci = 0x7A30C118, 1510 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 1511 .salt = { 1512 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 0x86, 0xA2, 1513 0x1C, 0x66, 0xFA, 0x6D, 1514 }, 1515 .sa_key = { 1516 .data = { 1517 0x69, 0x1D, 0x3E, 0xE9, 0x09, 0xD7, 0xF5, 0x41, 1518 0x67, 0xFD, 0x1C, 0xA0, 0xB5, 0xD7, 0x69, 0x08, 1519 0x1F, 0x2B, 0xDE, 0x1A, 0xEE, 0x65, 0x5F, 0xDB, 1520 0xAB, 0x80, 0xBD, 0x52, 0x95, 0xAE, 0x6B, 0xE7, 1521 }, 1522 .len = 32, 1523 }, 1524 .plain_pkt = { 1525 .data = {/* MAC DA */ 1526 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 1527 /* MAC SA */ 1528 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 1529 /* User Data */ 1530 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1531 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1532 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1533 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1534 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1535 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x03, 1536 }, 1537 .len = 60, 1538 }, 1539 .secure_pkt = { 1540 .data = {/* MAC DA */ 1541 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 1542 /* MAC SA */ 1543 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 1544 /* MACsec EtherType */ 1545 0x88, 0xE5, 1546 /* TCI and AN */ 1547 0x40, 1548 /* SL */ 1549 0x00, 1550 /* PN */ 1551 0x76, 0xD4, 0x57, 0xED, 1552 /* SCI */ 1553 /* Secure Data */ 1554 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1555 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1556 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1557 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1558 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1559 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x03, 1560 /* ICV */ 1561 0xAC, 0x21, 0x95, 0x7B, 0x83, 0x12, 0xAB, 0x3C, 1562 0x99, 0xAB, 0x46, 0x84, 0x98, 0x79, 0xC3, 0xF3, 1563 }, 1564 .len = 84, 1565 }, 1566 }, 1567 /* gcm_128_65B_integrity */ 1568 { 1569 .test_idx = 9, 1570 .alg = RTE_SECURITY_MACSEC_ALG_GCM_128, 1571 .ssci = 0, 1572 .xpn = 0, /* Most significant 32 bits */ 1573 .salt = {0}, 1574 .sa_key = { 1575 .data = { 1576 0x01, 0x3F, 0xE0, 0x0B, 0x5F, 0x11, 0xBE, 0x7F, 1577 0x86, 0x6D, 0x0C, 0xBB, 0xC5, 0x5A, 0x7A, 0x90, 1578 }, 1579 .len = 16, 1580 }, 1581 .plain_pkt = { 1582 .data = {/* MAC DA */ 1583 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 1584 /* MAC SA */ 1585 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 1586 /* User Data */ 1587 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1588 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1589 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1590 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1591 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1592 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1593 0x3D, 0x3E, 0x3F, 0x00, 0x05, 1594 }, 1595 .len = 65, 1596 }, 1597 .secure_pkt = { 1598 .data = {/* MAC DA */ 1599 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 1600 /* MAC SA */ 1601 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 1602 /* MACsec EtherType */ 1603 0x88, 0xE5, 1604 /* TCI and AN */ 1605 0x23, 1606 /* SL */ 1607 0x00, 1608 /* PN */ 1609 0x89, 0x32, 0xD6, 0x12, 1610 /* SCI */ 1611 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6, 1612 /* Secure Data */ 1613 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1614 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1615 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1616 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1617 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1618 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1619 0x3D, 0x3E, 0x3F, 0x00, 0x05, 1620 /* ICV */ 1621 0x21, 0x78, 0x67, 0xE5, 0x0C, 0x2D, 0xAD, 0x74, 1622 0xC2, 0x8C, 0x3B, 0x50, 0xAB, 0xDF, 0x69, 0x5A, 1623 }, 1624 .len = 97, 1625 }, 1626 }, 1627 /* gcm_256_65B_integrity */ 1628 { 1629 .test_idx = 10, 1630 .alg = RTE_SECURITY_MACSEC_ALG_GCM_256, 1631 .ssci = 0, 1632 .xpn = 0, /* Most significant 32 bits */ 1633 .salt = {0}, 1634 .sa_key = { 1635 .data = { 1636 0x83, 0xC0, 0x93, 0xB5, 0x8D, 0xE7, 0xFF, 0xE1, 1637 0xC0, 0xDA, 0x92, 0x6A, 0xC4, 0x3F, 0xB3, 0x60, 1638 0x9A, 0xC1, 0xC8, 0x0F, 0xEE, 0x1B, 0x62, 0x44, 1639 0x97, 0xEF, 0x94, 0x2E, 0x2F, 0x79, 0xA8, 0x23, 1640 }, 1641 .len = 32, 1642 }, 1643 .plain_pkt = { 1644 .data = {/* MAC DA */ 1645 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 1646 /* MAC SA */ 1647 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 1648 /* User Data */ 1649 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1650 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1651 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1652 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1653 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1654 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1655 0x3D, 0x3E, 0x3F, 0x00, 0x05, 1656 }, 1657 .len = 65, 1658 }, 1659 .secure_pkt = { 1660 .data = {/* MAC DA */ 1661 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 1662 /* MAC SA */ 1663 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 1664 /* MACsec EtherType */ 1665 0x88, 0xE5, 1666 /* TCI and AN */ 1667 0x23, 1668 /* SL */ 1669 0x00, 1670 /* PN */ 1671 0x89, 0x32, 0xD6, 0x12, 1672 /* SCI */ 1673 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6, 1674 /* Secure Data */ 1675 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1676 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1677 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1678 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1679 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1680 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1681 0x3D, 0x3E, 0x3F, 0x00, 0x05, 1682 /* ICV */ 1683 0x6E, 0xE1, 0x60, 0xE8, 0xFA, 0xEC, 0xA4, 0xB3, 1684 0x6C, 0x86, 0xB2, 0x34, 0x92, 0x0C, 0xA9, 0x75, 1685 }, 1686 .len = 97, 1687 }, 1688 }, 1689 /* gcm_128_xpn_65B_integrity */ 1690 { 1691 .test_idx = 11, 1692 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_128, 1693 .ssci = 0x7A30C118, 1694 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 1695 .salt = { 1696 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 0x86, 0xA2, 1697 0x1C, 0x66, 0xFA, 0x6D, 1698 }, 1699 .sa_key = { 1700 .data = { 1701 0x01, 0x3F, 0xE0, 0x0B, 0x5F, 0x11, 0xBE, 0x7F, 1702 0x86, 0x6D, 0x0C, 0xBB, 0xC5, 0x5A, 0x7A, 0x90, 1703 }, 1704 .len = 16, 1705 }, 1706 .plain_pkt = { 1707 .data = {/* MAC DA */ 1708 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 1709 /* MAC SA */ 1710 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 1711 /* User Data */ 1712 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1713 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1714 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1715 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1716 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1717 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1718 0x3D, 0x3E, 0x3F, 0x00, 0x05, 1719 }, 1720 .len = 65, 1721 }, 1722 .secure_pkt = { 1723 .data = {/* MAC DA */ 1724 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 1725 /* MAC SA */ 1726 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 1727 /* MACsec EtherType */ 1728 0x88, 0xE5, 1729 /* TCI and AN */ 1730 0x23, 1731 /* SL */ 1732 0x00, 1733 /* PN */ 1734 0x89, 0x32, 0xD6, 0x12, 1735 /* SCI */ 1736 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6, 1737 /* Secure Data */ 1738 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1739 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1740 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1741 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1742 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1743 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1744 0x3D, 0x3E, 0x3F, 0x00, 0x05, 1745 /* ICV */ 1746 0x67, 0x85, 0x59, 0xB7, 0xE5, 0x2D, 0xB0, 0x06, 1747 0x82, 0xE3, 0xB8, 0x30, 0x34, 0xCE, 0xBE, 0x59, 1748 }, 1749 .len = 97, 1750 }, 1751 }, 1752 /* gcm_256_xpn_65B_integrity */ 1753 { 1754 .test_idx = 12, 1755 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_256, 1756 .ssci = 0x7A30C118, 1757 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 1758 .salt = { 1759 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 0x86, 0xA2, 1760 0x1C, 0x66, 0xFA, 0x6D, 1761 }, 1762 .sa_key = { 1763 .data = { 1764 0x83, 0xC0, 0x93, 0xB5, 0x8D, 0xE7, 0xFF, 0xE1, 1765 0xC0, 0xDA, 0x92, 0x6A, 0xC4, 0x3F, 0xB3, 0x60, 1766 0x9A, 0xC1, 0xC8, 0x0F, 0xEE, 0x1B, 0x62, 0x44, 1767 0x97, 0xEF, 0x94, 0x2E, 0x2F, 0x79, 0xA8, 0x23, 1768 }, 1769 .len = 32, 1770 }, 1771 .plain_pkt = { 1772 .data = {/* MAC DA */ 1773 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 1774 /* MAC SA */ 1775 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 1776 /* User Data */ 1777 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1778 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1779 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1780 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1781 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1782 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1783 0x3D, 0x3E, 0x3F, 0x00, 0x05, 1784 }, 1785 .len = 65, 1786 }, 1787 .secure_pkt = { 1788 .data = {/* MAC DA */ 1789 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 1790 /* MAC SA */ 1791 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 1792 /* MACsec EtherType */ 1793 0x88, 0xE5, 1794 /* TCI and AN */ 1795 0x23, 1796 /* SL */ 1797 0x00, 1798 /* PN */ 1799 0x89, 0x32, 0xD6, 0x12, 1800 /* SCI */ 1801 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6, 1802 /* Secure Data */ 1803 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1804 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1805 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1806 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1807 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1808 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1809 0x3D, 0x3E, 0x3F, 0x00, 0x05, 1810 /* ICV */ 1811 0x84, 0xBA, 0xC8, 0xE5, 0x3D, 0x1E, 0xA3, 0x55, 1812 0xA5, 0xC7, 0xD3, 0x34, 0x84, 0x0A, 0xE9, 0x62, 1813 }, 1814 .len = 97, 1815 }, 1816 }, 1817 /* gcm_128_79B_integrity */ 1818 { 1819 .test_idx = 13, 1820 .alg = RTE_SECURITY_MACSEC_ALG_GCM_128, 1821 .ssci = 0, 1822 .xpn = 0, /* Most significant 32 bits */ 1823 .salt = {0}, 1824 .sa_key = { 1825 .data = { 1826 0x88, 0xEE, 0x08, 0x7F, 0xD9, 0x5D, 0xA9, 0xFB, 1827 0xF6, 0x72, 0x5A, 0xA9, 0xD7, 0x57, 0xB0, 0xCD, 1828 }, 1829 .len = 16, 1830 }, 1831 .plain_pkt = { 1832 .data = {/* MAC DA */ 1833 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 1834 /* MAC SA */ 1835 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 1836 /* User Data */ 1837 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1838 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1839 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1840 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1841 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1842 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1843 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 1844 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 1845 0x4D, 0x00, 0x07, 1846 }, 1847 .len = 79, 1848 }, 1849 .secure_pkt = { 1850 .data = {/* MAC DA */ 1851 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 1852 /* MAC SA */ 1853 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 1854 /* MACsec EtherType */ 1855 0x88, 0xE5, 1856 /* TCI and AN */ 1857 0x41, 1858 /* SL */ 1859 0x00, 1860 /* PN */ 1861 0x2E, 0x58, 0x49, 0x5C, 1862 /* SCI */ 1863 /* Secure Data */ 1864 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1865 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1866 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1867 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1868 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1869 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1870 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 1871 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 1872 0x4D, 0x00, 0x07, 1873 /* ICV */ 1874 0x07, 0x92, 0x2B, 0x8E, 0xBC, 0xF1, 0x0B, 0xB2, 1875 0x29, 0x75, 0x88, 0xCA, 0x4C, 0x61, 0x45, 0x23, 1876 }, 1877 .len = 103, 1878 }, 1879 }, 1880 /* gcm_256_79B_integrity */ 1881 { 1882 .test_idx = 14, 1883 .alg = RTE_SECURITY_MACSEC_ALG_GCM_256, 1884 .ssci = 0, 1885 .xpn = 0, /* Most significant 32 bits */ 1886 .salt = {0}, 1887 .sa_key = { 1888 .data = { 1889 0x4C, 0x97, 0x3D, 0xBC, 0x73, 0x64, 0x62, 0x16, 1890 0x74, 0xF8, 0xB5, 0xB8, 0x9E, 0x5C, 0x15, 0x51, 1891 0x1F, 0xCE, 0xD9, 0x21, 0x64, 0x90, 0xFB, 0x1C, 1892 0x1A, 0x2C, 0xAA, 0x0F, 0xFE, 0x04, 0x07, 0xE5, 1893 }, 1894 .len = 32, 1895 }, 1896 .plain_pkt = { 1897 .data = {/* MAC DA */ 1898 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 1899 /* MAC SA */ 1900 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 1901 /* User Data */ 1902 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1903 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1904 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1905 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1906 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1907 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1908 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 1909 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 1910 0x4D, 0x00, 0x07, 1911 }, 1912 .len = 79, 1913 }, 1914 .secure_pkt = { 1915 .data = {/* MAC DA */ 1916 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 1917 /* MAC SA */ 1918 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 1919 /* MACsec EtherType */ 1920 0x88, 0xE5, 1921 /* TCI and AN */ 1922 0x41, 1923 /* SL */ 1924 0x00, 1925 /* PN */ 1926 0x2E, 0x58, 0x49, 0x5C, 1927 /* SCI */ 1928 /* Secure Data */ 1929 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1930 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1931 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1932 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1933 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1934 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1935 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 1936 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 1937 0x4D, 0x00, 0x07, 1938 /* ICV */ 1939 0x00, 0xBD, 0xA1, 0xB7, 0xE8, 0x76, 0x08, 0xBC, 1940 0xBF, 0x47, 0x0F, 0x12, 0x15, 0x7F, 0x4C, 0x07, 1941 }, 1942 .len = 103, 1943 }, 1944 }, 1945 /* gcm_128_xpn_79B_integrity */ 1946 { 1947 .test_idx = 15, 1948 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_128, 1949 .ssci = 0x7A30C118, 1950 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 1951 .salt = { 1952 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 0x86, 0xA2, 1953 0x1C, 0x66, 0xFA, 0x6D, 1954 }, 1955 .sa_key = { 1956 .data = { 1957 0x88, 0xEE, 0x08, 0x7F, 0xD9, 0x5D, 0xA9, 0xFB, 1958 0xF6, 0x72, 0x5A, 0xA9, 0xD7, 0x57, 0xB0, 0xCD, 1959 }, 1960 .len = 16, 1961 }, 1962 .plain_pkt = { 1963 .data = {/* MAC DA */ 1964 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 1965 /* MAC SA */ 1966 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 1967 /* User Data */ 1968 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1969 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1970 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1971 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1972 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 1973 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 1974 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 1975 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 1976 0x4D, 0x00, 0x07, 1977 }, 1978 .len = 79, 1979 }, 1980 .secure_pkt = { 1981 .data = {/* MAC DA */ 1982 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 1983 /* MAC SA */ 1984 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 1985 /* MACsec EtherType */ 1986 0x88, 0xE5, 1987 /* TCI and AN */ 1988 0x41, 1989 /* SL */ 1990 0x00, 1991 /* PN */ 1992 0x2E, 0x58, 0x49, 0x5C, 1993 /* SCI */ 1994 /* Secure Data */ 1995 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 1996 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 1997 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 1998 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 1999 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 2000 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 2001 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 2002 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 2003 0x4D, 0x00, 0x07, 2004 /* ICV */ 2005 0xD0, 0xDC, 0x89, 0x6D, 0xC8, 0x37, 0x98, 0xA7, 2006 0x9F, 0x3C, 0x5A, 0x95, 0xBA, 0x3C, 0xDF, 0x9A, 2007 }, 2008 .len = 103, 2009 }, 2010 }, 2011 /* gcm_256_xpn_79B_integrity */ 2012 { 2013 .test_idx = 16, 2014 .alg = RTE_SECURITY_MACSEC_ALG_GCM_XPN_256, 2015 .ssci = 0x7A30C118, 2016 .xpn = 0xB0DF459C, /* Most significant 32 bits */ 2017 .salt = { 2018 0xE6, 0x30, 0xE8, 0x1A, 0x48, 0xDE, 0x86, 0xA2, 2019 0x1C, 0x66, 0xFA, 0x6D, 2020 }, 2021 .sa_key = { 2022 .data = { 2023 0x4C, 0x97, 0x3D, 0xBC, 0x73, 0x64, 0x62, 0x16, 2024 0x74, 0xF8, 0xB5, 0xB8, 0x9E, 0x5C, 0x15, 0x51, 2025 0x1F, 0xCE, 0xD9, 0x21, 0x64, 0x90, 0xFB, 0x1C, 2026 0x1A, 0x2C, 0xAA, 0x0F, 0xFE, 0x04, 0x07, 0xE5, 2027 }, 2028 .len = 32, 2029 }, 2030 .plain_pkt = { 2031 .data = {/* MAC DA */ 2032 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 2033 /* MAC SA */ 2034 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 2035 /* User Data */ 2036 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 2037 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 2038 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 2039 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 2040 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 2041 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 2042 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 2043 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 2044 0x4D, 0x00, 0x07, 2045 }, 2046 .len = 79, 2047 }, 2048 .secure_pkt = { 2049 .data = {/* MAC DA */ 2050 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 2051 /* MAC SA */ 2052 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 2053 /* MACsec EtherType */ 2054 0x88, 0xE5, 2055 /* TCI and AN */ 2056 0x41, 2057 /* SL */ 2058 0x00, 2059 /* PN */ 2060 0x2E, 0x58, 0x49, 0x5C, 2061 /* SCI */ 2062 /* Secure Data */ 2063 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 2064 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 2065 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 2066 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 2067 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 2068 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 2069 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 2070 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 2071 0x4D, 0x00, 0x07, 2072 /* ICV */ 2073 0x04, 0x24, 0x9A, 0x20, 0x8A, 0x65, 0xB9, 0x6B, 2074 0x3F, 0x32, 0x63, 0x00, 0x4C, 0xFD, 0x86, 0x7D, 2075 }, 2076 .len = 103, 2077 }, 2078 }, 2079 }; 2080 2081 #define MCS_MULTI_FLOW_TD_KEY_SZ 16 2082 #define MCS_MULTI_FLOW_TD_PLAIN_DATA_SZ 42 2083 #define MCS_MULTI_FLOW_TD_SECURE_DATA_SZ 66 2084 #define MCS_MULTI_FLOW_TD_KEY_SZ 16 2085 #define MCS_MAX_FLOWS 63 2086 2087 uint8_t sa_key[MCS_MULTI_FLOW_TD_KEY_SZ] = { 2088 0x07, 0x1B, 0x11, 0x3B, 0x0C, 0xA7, 0x43, 0xFE, 2089 0xCC, 0xCF, 0x3D, 0x05, 0x1F, 0x73, 0x73, 0x82, 2090 }; 2091 2092 uint8_t eth_addrs[MCS_MAX_FLOWS][2 * RTE_ETHER_ADDR_LEN] = { 2093 {0xE2, 0x00, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2094 {0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2095 {0xE2, 0x02, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2096 {0xE2, 0x03, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2097 {0xE2, 0x04, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2098 {0xE2, 0x05, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2099 {0xE2, 0x06, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2100 {0xE2, 0x07, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2101 {0xE2, 0x08, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2102 {0xE2, 0x09, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2103 {0xE2, 0x0A, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2104 {0xE2, 0x0B, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2105 {0xE2, 0x0C, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2106 {0xE2, 0x0D, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2107 {0xE2, 0x0E, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2108 {0xE2, 0x0F, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2109 {0xE2, 0x10, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2110 {0xE2, 0x11, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2111 {0xE2, 0x12, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2112 {0xE2, 0x13, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2113 {0xE2, 0x14, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2114 {0xE2, 0x15, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2115 {0xE2, 0x16, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2116 {0xE2, 0x17, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2117 {0xE2, 0x18, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2118 {0xE2, 0x19, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2119 {0xE2, 0x1A, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2120 {0xE2, 0x1B, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2121 {0xE2, 0x1C, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2122 {0xE2, 0x1D, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2123 {0xE2, 0x1E, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2124 {0xE2, 0x1F, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2125 {0xE2, 0x20, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2126 {0xE2, 0x21, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2127 {0xE2, 0x22, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2128 {0xE2, 0x23, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2129 {0xE2, 0x24, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2130 {0xE2, 0x25, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2131 {0xE2, 0x26, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2132 {0xE2, 0x27, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2133 {0xE2, 0x28, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2134 {0xE2, 0x29, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2135 {0xE2, 0x2A, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2136 {0xE2, 0x2B, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2137 {0xE2, 0x2C, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2138 {0xE2, 0x2D, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2139 {0xE2, 0x2E, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2140 {0xE2, 0x2F, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2141 {0xE2, 0x30, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2142 {0xE2, 0x31, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2143 {0xE2, 0x32, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2144 {0xE2, 0x33, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2145 {0xE2, 0x34, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2146 {0xE2, 0x35, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2147 {0xE2, 0x36, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2148 {0xE2, 0x37, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2149 {0xE2, 0x38, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2150 {0xE2, 0x39, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2151 {0xE2, 0x3A, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2152 {0xE2, 0x3B, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2153 {0xE2, 0x3C, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2154 {0xE2, 0x3D, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2155 {0xE2, 0x3E, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D,}, 2156 }; 2157 2158 uint8_t plain_user_data[MCS_MULTI_FLOW_TD_PLAIN_DATA_SZ] = { 2159 /* User Data with Ethertype */ 2160 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 2161 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 2162 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 2163 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 2164 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 2165 0x00, 0x04, 2166 }; 2167 2168 uint8_t secure_user_data[MCS_MULTI_FLOW_TD_SECURE_DATA_SZ] = { 2169 /* MACsec EtherType */ 2170 0x88, 0xE5, 2171 /* TCI and AN */ 2172 0x4C, 2173 /* SL */ 2174 0x2A, 2175 /* PN */ 2176 0x76, 0xD4, 0x57, 0xED, 2177 /* Secure Data */ 2178 0x13, 0xB4, 0xC7, 0x2B, 0x38, 0x9D, 0xC5, 0x01, 2179 0x8E, 0x72, 0xA1, 0x71, 0xDD, 0x85, 0xA5, 0xD3, 2180 0x75, 0x22, 0x74, 0xD3, 0xA0, 0x19, 0xFB, 0xCA, 2181 0xED, 0x09, 0xA4, 0x25, 0xCD, 0x9B, 0x2E, 0x1C, 2182 0x9B, 0x72, 0xEE, 0xE7, 0xC9, 0xDE, 0x7D, 0x52, 2183 0xB3, 0xF3, 2184 /* ICV */ 2185 0xD6, 0xA5, 0x28, 0x4F, 0x4A, 0x6D, 0x3F, 0xE2, 2186 0x2A, 0x5D, 0x6C, 0x2B, 0x96, 0x04, 0x94, 0xC3, 2187 }; 2188 2189 #endif /* TEST_INLINE_MACSEC_VECTORS_H */ 2190