Add crypto algo match.<br /> <br />Signed-off-by: Hanxiao Li <li.hanxiao@zte.com.cn> <br />---<br /> drivers/common/zsda/meson.build |  2 +-<br /> drivers/crypto/zsda/zsda_sym.c  | 49 +++++++++++++++++++++++++++++++++<br /> drivers/crypto/zsda/zsda_sym.h  | 20 ++++++++++++++<br /> 3 files changed, 70 insertions(+), 1 deletion(-)<br /> create mode 100644 drivers/crypto/zsda/zsda_sym.c<br /> create mode 100644 drivers/crypto/zsda/zsda_sym.h<br /> <br />diff --git a/drivers/common/zsda/meson.build b/drivers/common/zsda/meson.build<br />index aa911ba4d5..9435cb6a18 100644<br />--- a/drivers/common/zsda/meson.build<br />+++ b/drivers/common/zsda/meson.build<br />@@ -30,7 +30,7 @@ zsda_crypto_path = 'crypto/zsda' <br /> zsda_crypto_relpath = '../../' + zsda_crypto_path<br /> if zsda_crypto<br />     libcrypto = dependency('libcrypto', required: false, method: 'pkg-config')<br />-    foreach f: ['zsda_sym_pmd.c', 'zsda_sym_session.c']<br />+    foreach f: ['zsda_sym_pmd.c', 'zsda_sym_session.c', 'zsda_sym.c']<br />         sources += files(join_paths(zsda_crypto_relpath, f))<br />     endforeach<br />     ext_deps += libcrypto<br />diff --git a/drivers/crypto/zsda/zsda_sym.c b/drivers/crypto/zsda/zsda_sym.c<br />new file mode 100644<br />index 0000000000..66590a1e35<br />--- /dev/null<br />+++ b/drivers/crypto/zsda/zsda_sym.c<br />@@ -0,0 +1,49 @@<br />+/* SPDX-License-Identifier: BSD-3-Clause<br />+ * Copyright(c) 2024 ZTE Corporation<br />+ */<br />+<br />+#include "zsda_sym.h" <br />+<br />+int<br />+zsda_encry_match(const void *op_in)<br />+{<br />+    const struct rte_crypto_op *op = op_in;<br />+    struct rte_cryptodev_sym_session *session = op->sym->session;<br />+    struct zsda_sym_session *sess =<br />+        (struct zsda_sym_session *)session->driver_priv_data;<br />+<br />+    if (sess->chain_order == ZSDA_SYM_CHAIN_ONLY_CIPHER && <br />+        sess->cipher.op == RTE_CRYPTO_CIPHER_OP_ENCRYPT)<br />+        return 1;<br />+    else<br />+        return 0;<br />+}<br />+<br />+int<br />+zsda_decry_match(const void *op_in)<br />+{<br />+    const struct rte_crypto_op *op = op_in;<br />+    struct rte_cryptodev_sym_session *session = op->sym->session;<br />+    struct zsda_sym_session *sess =<br />+        (struct zsda_sym_session *)session->driver_priv_data;<br />+<br />+    if (sess->chain_order == ZSDA_SYM_CHAIN_ONLY_CIPHER && <br />+        sess->cipher.op == RTE_CRYPTO_CIPHER_OP_DECRYPT)<br />+        return 1;<br />+    else<br />+        return 0;<br />+}<br />+<br />+int<br />+zsda_hash_match(const void *op_in)<br />+{<br />+    const struct rte_crypto_op *op = op_in;<br />+    struct rte_cryptodev_sym_session *session = op->sym->session;<br />+    struct zsda_sym_session *sess =<br />+        (struct zsda_sym_session *)session->driver_priv_data;<br />+<br />+    if (sess->chain_order == ZSDA_SYM_CHAIN_ONLY_AUTH)<br />+        return 1;<br />+    else<br />+        return 0;<br />+}<br />diff --git a/drivers/crypto/zsda/zsda_sym.h b/drivers/crypto/zsda/zsda_sym.h<br />new file mode 100644<br />index 0000000000..4e52958862<br />--- /dev/null<br />+++ b/drivers/crypto/zsda/zsda_sym.h<br />@@ -0,0 +1,20 @@<br />+/* SPDX-License-Identifier: BSD-3-Clause<br />+ * Copyright(c) 2024 ZTE Corporation<br />+ */<br />+<br />+#ifndef _ZSDA_SYM_H_<br />+#define _ZSDA_SYM_H_<br />+<br />+#include "zsda_sym_pmd.h" <br />+<br />+__rte_unused int<br />+zsda_encry_match(const void *op_in);<br />+<br />+__rte_unused int<br />+zsda_decry_match(const void *op_in);<br />+<br />+__rte_unused int<br />+zsda_hash_match(const void *op_in);<br />+<br />+<br />+#endif /* _ZSDA_SYM_H_ */<br />--  <br />2.27.0<br />