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  | 52 +++++++++++++++++++++++++++++++++<br /> drivers/crypto/zsda/zsda_sym.h  | 17 +++++++++++<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 a1acf1a065..26b231607f 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..db67507134<br />--- /dev/null<br />+++ b/drivers/crypto/zsda/zsda_sym.c<br />@@ -0,0 +1,52 @@<br />+/* SPDX-License-Identifier: BSD-3-Clause<br />+ * Copyright(c) 2024 ZTE Corporation<br />+ */<br />+<br />+#include "cryptodev_pmd.h" <br />+<br />+#include "zsda_logs.h" <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..44ba1380f3<br />--- /dev/null<br />+++ b/drivers/crypto/zsda/zsda_sym.h<br />@@ -0,0 +1,17 @@<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_common.h" <br />+#include "zsda_qp.h" <br />+<br />+#include "zsda_sym_session.h" <br />+<br />+int zsda_encry_match(const void *op_in);<br />+int zsda_decry_match(const void *op_in);<br />+int zsda_hash_match(const void *op_in);<br />+<br />+#endif /* _ZSDA_SYM_H_ */<br />--  <br />2.27.0<br />