loci: replace validator with a stub
The negative unit tests are commented out since the stub validator doesn't do
anything.
diff --git a/c_gen/templates/loci_validator.c b/c_gen/templates/loci_validator.c
new file mode 100644
index 0000000..8f9eeeb
--- /dev/null
+++ b/c_gen/templates/loci_validator.c
@@ -0,0 +1,66 @@
+:: # Copyright 2014, Big Switch Networks, Inc.
+:: #
+:: # LoxiGen is licensed under the Eclipse Public License, version 1.0 (EPL), with
+:: # the following special exception:
+:: #
+:: # LOXI Exception
+:: #
+:: # As a special exception to the terms of the EPL, you may distribute libraries
+:: # generated by LoxiGen (LoxiGen Libraries) under the terms of your choice, provided
+:: # that copyright and licensing notices generated by LoxiGen are not altered or removed
+:: # from the LoxiGen Libraries and the notice provided below is (i) included in
+:: # the LoxiGen Libraries, if distributed in source code form and (ii) included in any
+:: # documentation for the LoxiGen Libraries, if distributed in binary form.
+:: #
+:: # Notice: "Copyright 2014, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler."
+:: #
+:: # You may not use this file except in compliance with the EPL or LOXI Exception. You may obtain
+:: # a copy of the EPL at:
+:: #
+:: # http://www.eclipse.org/legal/epl-v10.html
+:: #
+:: # Unless required by applicable law or agreed to in writing, software
+:: # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+:: # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+:: # EPL for the specific language governing permissions and limitations
+:: # under the EPL.
+::
+:: include('_copyright.c')
+:: import loxi_globals
+
+/**
+ *
+ * AUTOMATICALLY GENERATED FILE. Edits will be lost on regen.
+ *
+ * Source file for OpenFlow message validation.
+ *
+ */
+
+#include "loci_log.h"
+#include <loci/loci.h>
+#include <loci/loci_validator.h>
+
+#define VALIDATOR_LOG(...) LOCI_LOG_ERROR("Validator Error: " __VA_ARGS__)
+
+int
+of_validate_message(of_message_t msg, int len)
+{
+ of_version_t version;
+ if (len < OF_MESSAGE_MIN_LENGTH ||
+ len != of_message_length_get(msg)) {
+ VALIDATOR_LOG("message length %d != %d", len,
+ of_message_length_get(msg));
+ return -1;
+ }
+
+ version = of_message_version_get(msg);
+ switch (version) {
+:: for version, proto in loxi_globals.ir.items():
+ case ${version.constant_version(prefix='OF_VERSION_')}:
+ return 0;
+:: #endfor
+ default:
+ VALIDATOR_LOG("Bad version %d", OF_VERSION_1_3);
+ return -1;
+ }
+}