new file mode 100644
@@ -0,0 +1,53 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP Hash functions
+ */
+
+#ifndef ODP_API_CHKSUM_H_
+#define ODP_API_CHKSUM_H_
+#include <odp/visibility_begin.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/std_types.h>
+
+/** @defgroup odp_chksum ODP CHECKSUM
+ * ODP checksum functions
+ * @{
+ */
+
+/**
+ * Ones' complement sum of 16-bit words
+ *
+ * Calculates 16-bit ones' complement sum over the data. In case of odd number
+ * of bytes, calculation uses a zero byte as padding at the end. This algorithm
+ * may be used as part of e.g. IPv4/UDP/TCP checksum generation and checking.
+ *
+ * @param data Pointer to data. Data address must be 16-bit aligned
+ * in minimum.
+ * @param data_len Data length in bytes. In case of an odd number, calculation
+ * includes one byte of padding.
+ *
+ * @return Ones' complement sum
+ */
+uint16_t odp_chksum_ones_comp16(const void *data, uint32_t data_len);
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#include <odp/visibility_end.h>
+#endif
@@ -24,6 +24,7 @@ extern "C" {
#include <odp/api/compiler.h>
#include <odp/api/align.h>
#include <odp/api/hash.h>
+#include <odp/api/chksum.h>
#include <odp/api/hints.h>
#include <odp/api/debug.h>
#include <odp/api/byteorder.h>
@@ -22,6 +22,7 @@ odpapispecinclude_HEADERS = \
$(top_srcdir)/include/odp/api/spec/barrier.h \
$(top_srcdir)/include/odp/api/spec/buffer.h \
$(top_srcdir)/include/odp/api/spec/byteorder.h \
+ $(top_srcdir)/include/odp/api/spec/chksum.h \
$(top_srcdir)/include/odp/api/spec/classification.h \
$(top_srcdir)/include/odp/api/spec/compiler.h \
$(top_srcdir)/include/odp/api/spec/cpu.h \
@@ -36,6 +36,7 @@ odpapiinclude_HEADERS = \
$(srcdir)/include/odp/api/byteorder.h \
$(srcdir)/include/odp/api/classification.h \
$(srcdir)/include/odp/api/compiler.h \
+ $(srcdir)/include/odp/api/chksum.h \
$(srcdir)/include/odp/api/cpu.h \
$(srcdir)/include/odp/api/cpumask.h \
$(srcdir)/include/odp/api/crypto.h \
new file mode 100644
@@ -0,0 +1,34 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP checksum functions
+ */
+
+#ifndef ODP_PLAT_CHKSUM_H_
+#define ODP_PLAT_CHKSUM_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** @ingroup odp_chksum
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+#include <odp/api/spec/chksum.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif