loci: fix version used to initialize wire match objects
We need to use the same version as the destination message, not the source
match.
diff --git a/c_gen/c_match.py b/c_gen/c_match.py
index 84bc782..8befb3f 100644
--- a/c_gen/c_match.py
+++ b/c_gen/c_match.py
@@ -597,7 +597,7 @@
elt = &oxm_entry.%(key)s_masked;
of_oxm_%(key)s_masked_init(elt,
- src->version, -1, 1);
+ oxm_list->version, -1, 1);
of_list_oxm_append_bind(oxm_list, &oxm_entry);
of_oxm_%(key)s_masked_value_set(elt,
src->fields.%(key)s);
@@ -607,7 +607,7 @@
of_oxm_%(key)s_t *elt;
elt = &oxm_entry.%(key)s;
of_oxm_%(key)s_init(elt,
- src->version, -1, 1);
+ oxm_list->version, -1, 1);
of_list_oxm_append_bind(oxm_list, &oxm_entry);
of_oxm_%(key)s_value_set(elt, src->fields.%(key)s);
}
@@ -636,9 +636,9 @@
return OF_ERROR_PARAM;
}
if (dst->object_id != OF_MATCH_V3) {
- of_match_v3_init(dst, src->version, 0, 0);
+ of_match_v3_init(dst, OF_VERSION_1_2, 0, 0);
}
- if ((oxm_list = of_list_oxm_new(src->version)) == NULL) {
+ if ((oxm_list = of_list_oxm_new(dst->version)) == NULL) {
return OF_ERROR_RESOURCE;
}