Fix C backend for bsn_vport.
diff --git a/c_gen/codegen.py b/c_gen/codegen.py
index fe5e2ad..77caf2a 100644
--- a/c_gen/codegen.py
+++ b/c_gen/codegen.py
@@ -206,6 +206,10 @@
                 wire_length_set = 'of_tlv16_wire_length_set'
                 wire_length_get = 'of_tlv16_wire_length_get'
                 wire_type_get = 'of_action_wire_object_id_get'
+            elif uclass.is_instanceof('of_bsn_vport'):
+                wire_length_set = 'of_tlv16_wire_length_set'
+                wire_length_get = 'of_tlv16_wire_length_get'
+                wire_type_get = 'of_bsn_vport_wire_object_id_get'
             elif uclass.is_action_id:
                 wire_length_set = 'of_tlv16_wire_length_set'
                 wire_length_get = 'of_tlv16_wire_length_get'
@@ -280,6 +284,12 @@
                 wire_type_get='of_action_id_wire_object_id_get',
                 wire_type_set='NULL'),
             ClassMetadata(
+                name="of_bsn_vport_header",
+                wire_length_set='of_tlv16_wire_length_set',
+                wire_length_get='of_tlv16_wire_length_get',
+                wire_type_get='of_bsn_vport_wire_object_id_get',
+                wire_type_set='NULL'),
+            ClassMetadata(
                 name="of_instruction_header",
                 wire_length_set='of_tlv16_wire_length_set',
                 wire_length_get='of_tlv16_wire_length_get',