+]) # LIBCFS_SOCK_ALLOC_FILE
+
+#
+# LIBCFS_HAVE_CRC32
+#
+AC_DEFUN([LIBCFS_HAVE_CRC32], [
+LB_CHECK_CONFIG_IM([CRC32],
+ [have_crc32="yes"], [have_crc32="no"])
+AS_IF([test "x$have_crc32" = xyes],
+ [AC_DEFINE(HAVE_CRC32, 1,
+ [kernel compiled with CRC32 functions])])
+]) # LIBCFS_HAVE_CRC32
+
+#
+# LIBCFS_ENABLE_CRC32_ACCEL
+#
+AC_DEFUN([LIBCFS_ENABLE_CRC32_ACCEL], [
+LB_CHECK_CONFIG_IM([CRYPTO_CRC32_PCLMUL],
+ [enable_crc32_crypto="no"], [enable_crc32_crypto="yes"])
+AS_IF([test "x$have_crc32" = xyes -a "x$enable_crc32_crypto" = xyes], [
+ AC_DEFINE(NEED_CRC32_ACCEL, 1, [need pclmulqdq based crc32])
+ AC_MSG_WARN([No crc32 pclmulqdq crypto api found, enable internal pclmulqdq based crc32])])
+]) # LIBCFS_ENABLE_CRC32_ACCEL
+
+#
+# LIBCFS_ENABLE_CRC32C_ACCEL
+#
+AC_DEFUN([LIBCFS_ENABLE_CRC32C_ACCEL], [
+LB_CHECK_CONFIG_IM([CRYPTO_CRC32C_INTEL],
+ [enable_crc32c_crypto="no"], [enable_crc32c_crypto="yes"])
+AS_IF([test "x$enable_crc32c_crypto" = xyes], [
+ AC_DEFINE(NEED_CRC32C_ACCEL, 1, [need pclmulqdq based crc32c])
+ AC_MSG_WARN([No crc32c pclmulqdq crypto api found, enable internal pclmulqdq based crc32c])])
+]) # LIBCFS_ENABLE_CRC32C_ACCEL