@@ -59,6 +59,8 @@ Post-v2.17.0
implementations against default implementation.
* Add command line option to switch between different actions
implementations available at run time.
+ * Add build time configure command to enable auto-validator as default
+ actions implementation at build time.
- Linux datapath:
* Add offloading meter tc police.
* Add support for offloading the check_pkt_len action.
@@ -14,6 +14,26 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+dnl Set OVS Actions Autovalidator as the default action implementation
+dnl at compile time. This enables automatically running all unit tests
+dnl with all actions 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
+ AC_DEFINE([ACTIONS_AUTOVALIDATOR_DEFAULT], [1],
+ [Autovalidator for actions is a default implementation.])
+ 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.
@@ -184,6 +184,7 @@ OVS_CONDITIONAL_CC_OPTION([-Wno-unused-parameter], [HAVE_WNO_UNUSED_PARAMETER])
OVS_ENABLE_WERROR_TOP
OVS_ENABLE_SPARSE
OVS_CTAGS_IDENTIFIERS
+OVS_CHECK_ACTIONS_AUTOVALIDATOR
OVS_CHECK_DPCLS_AUTOVALIDATOR
OVS_CHECK_DPIF_AVX512_DEFAULT
OVS_CHECK_MFEX_AUTOVALIDATOR
@@ -925,7 +925,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
odp_execute_unixctl_init();
ovsthread_once_done(&once);
}