fixing bad arg
diff --git a/c_gen/c_type_maps.py b/c_gen/c_type_maps.py
index 5f4ac6c..9ad6608 100644
--- a/c_gen/c_type_maps.py
+++ b/c_gen/c_type_maps.py
@@ -47,6 +47,11 @@
For each version, create an array mapping the type info to the
object ID. Then define an array containing those pointers.
"""
+ if type_str == "instruction_id_type_to_id" or \
+ type_str == "instruction_type_to_id":
+ print prefix
+ print value_array
+
# Create unified arrays and get length
arr_len = type_maps.type_array_len(value_array, max_val)
@@ -118,7 +123,7 @@
gen_type_to_object_id(out, "instruction_type_to_id", "OF_INSTRUCTION",
"OF_INSTRUCTION_%s", type_maps.instruction_types,
max_type_value)
- gen_type_to_object_id(out, "instruction_id_type_to_id", "OF_INSTRUCTION",
+ gen_type_to_object_id(out, "instruction_id_type_to_id", "OF_INSTRUCTION_ID",
"OF_INSTRUCTION_ID_%s", type_maps.instruction_id_types,
max_type_value)
gen_type_to_object_id(out, "queue_prop_type_to_id", "OF_QUEUE_PROP",
diff --git a/c_gen/type_maps.py b/c_gen/type_maps.py
index 875a34e..ee452fc 100644
--- a/c_gen/type_maps.py
+++ b/c_gen/type_maps.py
@@ -584,6 +584,20 @@
}
# Set to empty dict if no extension instructions defined
+extension_instruction_id_subtype = {
+ # version 1.0
+ of_g.VERSION_1_0:dict(),
+ of_g.VERSION_1_1:dict(),
+ of_g.VERSION_1_2:dict(),
+ of_g.VERSION_1_3:dict(
+ bsn = { # of_instruction_bsn_
+ },
+ nicira = { # of_instruction_nicira_
+ }
+ ),
+}
+
+# Set to empty dict if no extension instructions defined
extension_queue_prop_subtype = {}
# Set to empty dict if no extension instructions defined
@@ -594,6 +608,7 @@
extension_action_subtype,
extension_action_id_subtype,
extension_instruction_subtype,
+ extension_instruction_id_subtype,
extension_queue_prop_subtype,
extension_table_feature_prop_subtype
]
@@ -768,6 +783,17 @@
return cls_is_ext_obj(cls, version, extension_instruction_subtype)
################################################################
+# These are extension instruction specific
+################################################################
+
+def instruction_id_is_extension(cls, version):
+ """
+ Return True if cls, version is recognized as an instruction ID extension
+ This is brute force, searching records for a match
+ """
+ return cls_is_ext_obj(cls, version, extension_instruction_id_subtype)
+
+################################################################
# These are extension queue_prop specific
################################################################