@@ -14,6 +14,23 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+dnl Set OVS Actions Autovalidator as default action at compile time?
+dnl This enables automatically running all unit tests with all actions
+dnl implementations.
+AC_DEFUN([OVS_CHECK_ACTIONS_AUTOVALIDATOR], [
+ AC_ARG_ENABLE([actions-default-autovalidator],
+ [AC_HELP_STRING([--enable-actions-default-autovalidator], [Enable actions autovalidator as default ovs actions implementation.])],
+ [autovalidator=yes],[autovalidator=no])
+ AC_MSG_CHECKING([whether actions Autovalidator is default implementation])
+ if test "$autovalidator" != yes; then
+ AC_MSG_RESULT([no])
+ else
+ OVS_CFLAGS="$OVS_CFLAGS -DACTIONS_AUTOVALIDATOR_DEFAULT"
+ AC_MSG_RESULT([yes])
+ fi
+])
+
+
dnl Set OVS MFEX Autovalidator as default miniflow extract at compile time?
dnl This enables automatically running all unit tests with all MFEX
dnl implementations.
@@ -185,6 +185,7 @@ OVS_CTAGS_IDENTIFIERS
OVS_CHECK_DPCLS_AUTOVALIDATOR
OVS_CHECK_DPIF_AVX512_DEFAULT
OVS_CHECK_MFEX_AUTOVALIDATOR
+OVS_CHECK_ACTIONS_AUTOVALIDATOR
OVS_CHECK_AVX512
AC_ARG_VAR(KARCH, [Kernel Architecture String])
@@ -865,7 +865,11 @@ odp_execute_init(void)
static struct ovsthread_once once = OVSTHREAD_ONCE_INITIALIZER;
if (ovsthread_once_start(&once)) {
odp_execute_action_init();
+#ifdef ACTIONS_AUTOVALIDATOR_DEFAULT
+ odp_actions_impl_set("autovalidator");
+#else
odp_actions_impl_set("scalar");
+#endif
ovsthread_once_done(&once);
}
}