crypto/qat: support DOCSIS protocol
[dpdk.git] / drivers / crypto / qat / qat_sym_capabilities.h
index ff691ce..7b8b13b 100644 (file)
                }, }                                                    \
        }
 
+#ifdef RTE_LIBRTE_SECURITY
+#define QAT_SECURITY_SYM_CAPABILITIES                                  \
+       {       /* AES DOCSIS BPI */                                    \
+               .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,                     \
+               {.sym = {                                               \
+                       .xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,      \
+                       {.cipher = {                                    \
+                               .algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,\
+                               .block_size = 16,                       \
+                               .key_size = {                           \
+                                       .min = 16,                      \
+                                       .max = 32,                      \
+                                       .increment = 16                 \
+                               },                                      \
+                               .iv_size = {                            \
+                                       .min = 16,                      \
+                                       .max = 16,                      \
+                                       .increment = 0                  \
+                               }                                       \
+                       }, }                                            \
+               }, }                                                    \
+       }
+
+#define QAT_SECURITY_CAPABILITIES(sym)                                 \
+       [0] = { /* DOCSIS Uplink */                                     \
+               .action = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,  \
+               .protocol = RTE_SECURITY_PROTOCOL_DOCSIS,               \
+               .docsis = {                                             \
+                       .direction = RTE_SECURITY_DOCSIS_UPLINK         \
+               },                                                      \
+               .crypto_capabilities = (sym)                            \
+       },                                                              \
+       [1] = { /* DOCSIS Downlink */                                   \
+               .action = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,  \
+               .protocol = RTE_SECURITY_PROTOCOL_DOCSIS,               \
+               .docsis = {                                             \
+                       .direction = RTE_SECURITY_DOCSIS_DOWNLINK       \
+               },                                                      \
+               .crypto_capabilities = (sym)                            \
+       }
+#endif
+
 #endif /* _QAT_SYM_CAPABILITIES_H_ */