Fix binapigen decoding and minor improvements
[govpp.git] / internal / testbinapi / binapi2001 / .vppapi / core / l2.api.json
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/l2.api.json b/internal/testbinapi/binapi2001/.vppapi/core/l2.api.json
new file mode 100644 (file)
index 0000000..686e316
--- /dev/null
@@ -0,0 +1,2015 @@
+{
+    "types": [
+        [
+            "address",
+            [
+                "vl_api_address_family_t",
+                "af"
+            ],
+            [
+                "vl_api_address_union_t",
+                "un"
+            ]
+        ],
+        [
+            "prefix",
+            [
+                "vl_api_address_t",
+                "address"
+            ],
+            [
+                "u8",
+                "len"
+            ]
+        ],
+        [
+            "mprefix",
+            [
+                "vl_api_address_family_t",
+                "af"
+            ],
+            [
+                "u16",
+                "grp_address_length"
+            ],
+            [
+                "vl_api_address_union_t",
+                "grp_address"
+            ],
+            [
+                "vl_api_address_union_t",
+                "src_address"
+            ]
+        ],
+        [
+            "ip6_prefix",
+            [
+                "vl_api_ip6_address_t",
+                "address"
+            ],
+            [
+                "u8",
+                "len"
+            ]
+        ],
+        [
+            "ip4_prefix",
+            [
+                "vl_api_ip4_address_t",
+                "address"
+            ],
+            [
+                "u8",
+                "len"
+            ]
+        ],
+        [
+            "prefix_matcher",
+            [
+                "u8",
+                "le"
+            ],
+            [
+                "u8",
+                "ge"
+            ]
+        ],
+        [
+            "mac_entry",
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            [
+                "u8",
+                "mac_addr",
+                6
+            ],
+            [
+                "u8",
+                "action"
+            ],
+            [
+                "u8",
+                "flags"
+            ]
+        ],
+        [
+            "bridge_domain_sw_if",
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            [
+                "u8",
+                "shg"
+            ]
+        ],
+        [
+            "bd_ip_mac",
+            [
+                "u32",
+                "bd_id"
+            ],
+            [
+                "vl_api_address_t",
+                "ip"
+            ],
+            [
+                "vl_api_mac_address_t",
+                "mac"
+            ]
+        ]
+    ],
+    "messages": [
+        [
+            "l2_xconnect_details",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "rx_sw_if_index"
+            ],
+            [
+                "u32",
+                "tx_sw_if_index"
+            ],
+            {
+                "crc": "0x722e2378"
+            }
+        ],
+        [
+            "l2_xconnect_dump",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            {
+                "crc": "0x51077d14"
+            }
+        ],
+        [
+            "l2_fib_table_details",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            [
+                "u8",
+                "mac",
+                6
+            ],
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            [
+                "u8",
+                "static_mac"
+            ],
+            [
+                "u8",
+                "filter_mac"
+            ],
+            [
+                "u8",
+                "bvi_mac"
+            ],
+            {
+                "crc": "0xc7392706"
+            }
+        ],
+        [
+            "l2_fib_table_dump",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            {
+                "crc": "0xc25fdce6"
+            }
+        ],
+        [
+            "l2_fib_clear_table",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            {
+                "crc": "0x51077d14"
+            }
+        ],
+        [
+            "l2_fib_clear_table_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "l2fib_flush_all",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            {
+                "crc": "0x51077d14"
+            }
+        ],
+        [
+            "l2fib_flush_all_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "l2fib_flush_bd",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            {
+                "crc": "0xc25fdce6"
+            }
+        ],
+        [
+            "l2fib_flush_bd_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "l2fib_flush_int",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            {
+                "crc": "0x529cb13f"
+            }
+        ],
+        [
+            "l2fib_flush_int_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "l2fib_add_del",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u8",
+                "mac",
+                6
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            [
+                "u8",
+                "is_add"
+            ],
+            [
+                "u8",
+                "static_mac"
+            ],
+            [
+                "u8",
+                "filter_mac"
+            ],
+            [
+                "u8",
+                "bvi_mac"
+            ],
+            {
+                "crc": "0x34ced3eb"
+            }
+        ],
+        [
+            "l2fib_add_del_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "want_l2_macs_events",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "learn_limit"
+            ],
+            [
+                "u8",
+                "scan_delay"
+            ],
+            [
+                "u8",
+                "max_macs_in_event"
+            ],
+            [
+                "bool",
+                "enable_disable"
+            ],
+            [
+                "u32",
+                "pid"
+            ],
+            {
+                "crc": "0x9aabdfde"
+            }
+        ],
+        [
+            "want_l2_macs_events_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "l2_macs_event",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "pid"
+            ],
+            [
+                "u32",
+                "n_macs"
+            ],
+            [
+                "vl_api_mac_entry_t",
+                "mac",
+                0,
+                "n_macs"
+            ],
+            {
+                "crc": "0xafc74a60"
+            }
+        ],
+        [
+            "l2_flags",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            [
+                "u8",
+                "is_set"
+            ],
+            [
+                "u32",
+                "feature_bitmap"
+            ],
+            {
+                "crc": "0x0e889fb9"
+            }
+        ],
+        [
+            "l2_flags_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            [
+                "u32",
+                "resulting_feature_bitmap"
+            ],
+            {
+                "crc": "0x29b2a2b3"
+            }
+        ],
+        [
+            "bridge_domain_set_mac_age",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            [
+                "u8",
+                "mac_age"
+            ],
+            {
+                "crc": "0xb537ad7b"
+            }
+        ],
+        [
+            "bridge_domain_set_mac_age_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "bridge_domain_add_del",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            [
+                "u8",
+                "flood"
+            ],
+            [
+                "u8",
+                "uu_flood"
+            ],
+            [
+                "u8",
+                "forward"
+            ],
+            [
+                "u8",
+                "learn"
+            ],
+            [
+                "u8",
+                "arp_term"
+            ],
+            [
+                "u8",
+                "arp_ufwd"
+            ],
+            [
+                "u8",
+                "mac_age"
+            ],
+            [
+                "u8",
+                "bd_tag",
+                64
+            ],
+            [
+                "u8",
+                "is_add"
+            ],
+            {
+                "crc": "0xc6360720"
+            }
+        ],
+        [
+            "bridge_domain_add_del_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "bridge_domain_dump",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            {
+                "crc": "0xc25fdce6"
+            }
+        ],
+        [
+            "bridge_domain_details",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            [
+                "u8",
+                "flood"
+            ],
+            [
+                "u8",
+                "uu_flood"
+            ],
+            [
+                "u8",
+                "forward"
+            ],
+            [
+                "u8",
+                "learn"
+            ],
+            [
+                "u8",
+                "arp_term"
+            ],
+            [
+                "u8",
+                "arp_ufwd"
+            ],
+            [
+                "u8",
+                "mac_age"
+            ],
+            [
+                "u8",
+                "bd_tag",
+                64
+            ],
+            [
+                "u32",
+                "bvi_sw_if_index"
+            ],
+            [
+                "u32",
+                "uu_fwd_sw_if_index"
+            ],
+            [
+                "u32",
+                "n_sw_ifs"
+            ],
+            [
+                "vl_api_bridge_domain_sw_if_t",
+                "sw_if_details",
+                0,
+                "n_sw_ifs"
+            ],
+            {
+                "crc": "0x748c854a"
+            }
+        ],
+        [
+            "bridge_flags",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            [
+                "u8",
+                "is_set"
+            ],
+            [
+                "vl_api_bd_flags_t",
+                "flags"
+            ],
+            {
+                "crc": "0x2eb9b76c"
+            }
+        ],
+        [
+            "bridge_flags_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            [
+                "u32",
+                "resulting_feature_bitmap"
+            ],
+            {
+                "crc": "0x29b2a2b3"
+            }
+        ],
+        [
+            "l2_interface_vlan_tag_rewrite",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            [
+                "u32",
+                "vtr_op"
+            ],
+            [
+                "u32",
+                "push_dot1q"
+            ],
+            [
+                "u32",
+                "tag1"
+            ],
+            [
+                "u32",
+                "tag2"
+            ],
+            {
+                "crc": "0xb90be6b4"
+            }
+        ],
+        [
+            "l2_interface_vlan_tag_rewrite_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "l2_interface_pbb_tag_rewrite",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            [
+                "u32",
+                "vtr_op"
+            ],
+            [
+                "u16",
+                "outer_tag"
+            ],
+            [
+                "u8",
+                "b_dmac",
+                6
+            ],
+            [
+                "u8",
+                "b_smac",
+                6
+            ],
+            [
+                "u16",
+                "b_vlanid"
+            ],
+            [
+                "u32",
+                "i_sid"
+            ],
+            {
+                "crc": "0x6cf815f9"
+            }
+        ],
+        [
+            "l2_interface_pbb_tag_rewrite_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "l2_patch_add_del",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "rx_sw_if_index"
+            ],
+            [
+                "u32",
+                "tx_sw_if_index"
+            ],
+            [
+                "u8",
+                "is_add"
+            ],
+            {
+                "crc": "0x62506e63"
+            }
+        ],
+        [
+            "l2_patch_add_del_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "sw_interface_set_l2_xconnect",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "rx_sw_if_index"
+            ],
+            [
+                "u32",
+                "tx_sw_if_index"
+            ],
+            [
+                "u8",
+                "enable"
+            ],
+            {
+                "crc": "0x95de3988"
+            }
+        ],
+        [
+            "sw_interface_set_l2_xconnect_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "sw_interface_set_l2_bridge",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "rx_sw_if_index"
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            [
+                "vl_api_l2_port_type_t",
+                "port_type"
+            ],
+            [
+                "u8",
+                "shg"
+            ],
+            [
+                "u8",
+                "enable"
+            ],
+            {
+                "crc": "0x5579f809"
+            }
+        ],
+        [
+            "sw_interface_set_l2_bridge_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "bd_ip_mac_add_del",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u8",
+                "is_add"
+            ],
+            [
+                "vl_api_bd_ip_mac_t",
+                "entry"
+            ],
+            {
+                "crc": "0x25bf4063"
+            }
+        ],
+        [
+            "bd_ip_mac_add_del_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "bd_ip_mac_flush",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            {
+                "crc": "0xc25fdce6"
+            }
+        ],
+        [
+            "bd_ip_mac_flush_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "bd_ip_mac_details",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "vl_api_bd_ip_mac_t",
+                "entry"
+            ],
+            {
+                "crc": "0xa52f8044"
+            }
+        ],
+        [
+            "bd_ip_mac_dump",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "bd_id"
+            ],
+            {
+                "crc": "0xc25fdce6"
+            }
+        ],
+        [
+            "l2_interface_efp_filter",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            [
+                "u8",
+                "enable_disable"
+            ],
+            {
+                "crc": "0x69d24598"
+            }
+        ],
+        [
+            "l2_interface_efp_filter_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "sw_interface_set_vpath",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            [
+                "u8",
+                "enable"
+            ],
+            {
+                "crc": "0xa36fadc0"
+            }
+        ],
+        [
+            "sw_interface_set_vpath_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "bvi_create",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "vl_api_mac_address_t",
+                "mac"
+            ],
+            [
+                "u32",
+                "user_instance"
+            ],
+            {
+                "crc": "0xf5398559"
+            }
+        ],
+        [
+            "bvi_create_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            {
+                "crc": "0xfda5941f"
+            }
+        ],
+        [
+            "bvi_delete",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "sw_if_index"
+            ],
+            {
+                "crc": "0x529cb13f"
+            }
+        ],
+        [
+            "bvi_delete_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "want_l2_arp_term_events",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "bool",
+                "enable"
+            ],
+            [
+                "u32",
+                "pid"
+            ],
+            {
+                "crc": "0x3ec6d6c2"
+            }
+        ],
+        [
+            "want_l2_arp_term_events_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "l2_arp_term_event",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "pid"
+            ],
+            [
+                "vl_api_address_t",
+                "ip"
+            ],
+            [
+                "vl_api_interface_index_t",
+                "sw_if_index"
+            ],
+            [
+                "vl_api_mac_address_t",
+                "mac"
+            ],
+            {
+                "crc": "0x85ff71ea"
+            }
+        ]
+    ],
+    "unions": [
+        [
+            "address_union",
+            [
+                "vl_api_ip4_address_t",
+                "ip4"
+            ],
+            [
+                "vl_api_ip6_address_t",
+                "ip6"
+            ]
+        ]
+    ],
+    "enums": [
+        [
+            "address_family",
+            [
+                "ADDRESS_IP4",
+                0
+            ],
+            [
+                "ADDRESS_IP6",
+                1
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "ip_ecn",
+            [
+                "IP_API_ECN_NONE",
+                0
+            ],
+            [
+                "IP_API_ECN_ECT0",
+                1
+            ],
+            [
+                "IP_API_ECN_ECT1",
+                2
+            ],
+            [
+                "IP_API_ECN_CE",
+                3
+            ],
+            {
+                "enumtype": "u8"
+            }
+        ],
+        [
+            "ip_dscp",
+            [
+                "IP_API_DSCP_CS0",
+                0
+            ],
+            [
+                "IP_API_DSCP_CS1",
+                8
+            ],
+            [
+                "IP_API_DSCP_AF11",
+                10
+            ],
+            [
+                "IP_API_DSCP_AF12",
+                12
+            ],
+            [
+                "IP_API_DSCP_AF13",
+                14
+            ],
+            [
+                "IP_API_DSCP_CS2",
+                16
+            ],
+            [
+                "IP_API_DSCP_AF21",
+                18
+            ],
+            [
+                "IP_API_DSCP_AF22",
+                20
+            ],
+            [
+                "IP_API_DSCP_AF23",
+                22
+            ],
+            [
+                "IP_API_DSCP_CS3",
+                24
+            ],
+            [
+                "IP_API_DSCP_AF31",
+                26
+            ],
+            [
+                "IP_API_DSCP_AF32",
+                28
+            ],
+            [
+                "IP_API_DSCP_AF33",
+                30
+            ],
+            [
+                "IP_API_DSCP_CS4",
+                32
+            ],
+            [
+                "IP_API_DSCP_AF41",
+                34
+            ],
+            [
+                "IP_API_DSCP_AF42",
+                36
+            ],
+            [
+                "IP_API_DSCP_AF43",
+                38
+            ],
+            [
+                "IP_API_DSCP_CS5",
+                40
+            ],
+            [
+                "IP_API_DSCP_EF",
+                46
+            ],
+            [
+                "IP_API_DSCP_CS6",
+                48
+            ],
+            [
+                "IP_API_DSCP_CS7",
+                50
+            ],
+            {
+                "enumtype": "u8"
+            }
+        ],
+        [
+            "ip_proto",
+            [
+                "IP_API_PROTO_HOPOPT",
+                0
+            ],
+            [
+                "IP_API_PROTO_ICMP",
+                1
+            ],
+            [
+                "IP_API_PROTO_IGMP",
+                2
+            ],
+            [
+                "IP_API_PROTO_TCP",
+                6
+            ],
+            [
+                "IP_API_PROTO_UDP",
+                17
+            ],
+            [
+                "IP_API_PROTO_GRE",
+                47
+            ],
+            [
+                "IP_API_PROTO_AH",
+                50
+            ],
+            [
+                "IP_API_PROTO_ESP",
+                51
+            ],
+            [
+                "IP_API_PROTO_EIGRP",
+                88
+            ],
+            [
+                "IP_API_PROTO_OSPF",
+                89
+            ],
+            [
+                "IP_API_PROTO_SCTP",
+                132
+            ],
+            [
+                "IP_API_PROTO_RESERVED",
+                255
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "if_status_flags",
+            [
+                "IF_STATUS_API_FLAG_ADMIN_UP",
+                1
+            ],
+            [
+                "IF_STATUS_API_FLAG_LINK_UP",
+                2
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "mtu_proto",
+            [
+                "MTU_PROTO_API_L3",
+                1
+            ],
+            [
+                "MTU_PROTO_API_IP4",
+                2
+            ],
+            [
+                "MTU_PROTO_API_IP6",
+                3
+            ],
+            [
+                "MTU_PROTO_API_MPLS",
+                4
+            ],
+            [
+                "MTU_PROTO_API_N",
+                5
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "link_duplex",
+            [
+                "LINK_DUPLEX_API_UNKNOWN",
+                0
+            ],
+            [
+                "LINK_DUPLEX_API_HALF",
+                1
+            ],
+            [
+                "LINK_DUPLEX_API_FULL",
+                2
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "sub_if_flags",
+            [
+                "SUB_IF_API_FLAG_NO_TAGS",
+                1
+            ],
+            [
+                "SUB_IF_API_FLAG_ONE_TAG",
+                2
+            ],
+            [
+                "SUB_IF_API_FLAG_TWO_TAGS",
+                4
+            ],
+            [
+                "SUB_IF_API_FLAG_DOT1AD",
+                8
+            ],
+            [
+                "SUB_IF_API_FLAG_EXACT_MATCH",
+                16
+            ],
+            [
+                "SUB_IF_API_FLAG_DEFAULT",
+                32
+            ],
+            [
+                "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+                64
+            ],
+            [
+                "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+                128
+            ],
+            [
+                "SUB_IF_API_FLAG_MASK_VNET",
+                254
+            ],
+            [
+                "SUB_IF_API_FLAG_DOT1AH",
+                256
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "rx_mode",
+            [
+                "RX_MODE_API_UNKNOWN",
+                0
+            ],
+            [
+                "RX_MODE_API_POLLING",
+                1
+            ],
+            [
+                "RX_MODE_API_INTERRUPT",
+                2
+            ],
+            [
+                "RX_MODE_API_ADAPTIVE",
+                3
+            ],
+            [
+                "RX_MODE_API_DEFAULT",
+                4
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "if_type",
+            [
+                "IF_API_TYPE_HARDWARE",
+                1
+            ],
+            [
+                "IF_API_TYPE_SUB",
+                2
+            ],
+            [
+                "IF_API_TYPE_P2P",
+                3
+            ],
+            [
+                "IF_API_TYPE_PIPE",
+                4
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "bd_flags",
+            [
+                "BRIDGE_API_FLAG_NONE",
+                0
+            ],
+            [
+                "BRIDGE_API_FLAG_LEARN",
+                1
+            ],
+            [
+                "BRIDGE_API_FLAG_FWD",
+                2
+            ],
+            [
+                "BRIDGE_API_FLAG_FLOOD",
+                4
+            ],
+            [
+                "BRIDGE_API_FLAG_UU_FLOOD",
+                8
+            ],
+            [
+                "BRIDGE_API_FLAG_ARP_TERM",
+                16
+            ],
+            [
+                "BRIDGE_API_FLAG_ARP_UFWD",
+                32
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "l2_port_type",
+            [
+                "L2_API_PORT_TYPE_NORMAL",
+                0
+            ],
+            [
+                "L2_API_PORT_TYPE_BVI",
+                1
+            ],
+            [
+                "L2_API_PORT_TYPE_UU_FWD",
+                2
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ]
+    ],
+    "services": {
+        "want_l2_macs_events": {
+            "reply": "want_l2_macs_events_reply",
+            "events": [
+                "l2_macs_event"
+            ]
+        },
+        "want_l2_arp_term_events": {
+            "reply": "want_l2_arp_term_events_reply",
+            "events": [
+                "l2_arp_term_event"
+            ]
+        },
+        "l2_xconnect_dump": {
+            "reply": "l2_xconnect_details",
+            "stream": true
+        },
+        "l2_fib_table_dump": {
+            "reply": "l2_fib_table_details",
+            "stream": true
+        },
+        "l2_fib_clear_table": {
+            "reply": "l2_fib_clear_table_reply"
+        },
+        "l2fib_flush_all": {
+            "reply": "l2fib_flush_all_reply"
+        },
+        "l2fib_flush_bd": {
+            "reply": "l2fib_flush_bd_reply"
+        },
+        "l2fib_flush_int": {
+            "reply": "l2fib_flush_int_reply"
+        },
+        "l2fib_add_del": {
+            "reply": "l2fib_add_del_reply"
+        },
+        "l2_flags": {
+            "reply": "l2_flags_reply"
+        },
+        "bridge_domain_set_mac_age": {
+            "reply": "bridge_domain_set_mac_age_reply"
+        },
+        "bridge_domain_add_del": {
+            "reply": "bridge_domain_add_del_reply"
+        },
+        "bridge_domain_dump": {
+            "reply": "bridge_domain_details",
+            "stream": true
+        },
+        "bridge_flags": {
+            "reply": "bridge_flags_reply"
+        },
+        "l2_interface_vlan_tag_rewrite": {
+            "reply": "l2_interface_vlan_tag_rewrite_reply"
+        },
+        "l2_interface_pbb_tag_rewrite": {
+            "reply": "l2_interface_pbb_tag_rewrite_reply"
+        },
+        "l2_patch_add_del": {
+            "reply": "l2_patch_add_del_reply"
+        },
+        "sw_interface_set_l2_xconnect": {
+            "reply": "sw_interface_set_l2_xconnect_reply"
+        },
+        "sw_interface_set_l2_bridge": {
+            "reply": "sw_interface_set_l2_bridge_reply"
+        },
+        "bd_ip_mac_add_del": {
+            "reply": "bd_ip_mac_add_del_reply"
+        },
+        "bd_ip_mac_flush": {
+            "reply": "bd_ip_mac_flush_reply"
+        },
+        "bd_ip_mac_dump": {
+            "reply": "bd_ip_mac_details",
+            "stream": true
+        },
+        "l2_interface_efp_filter": {
+            "reply": "l2_interface_efp_filter_reply"
+        },
+        "sw_interface_set_vpath": {
+            "reply": "sw_interface_set_vpath_reply"
+        },
+        "bvi_create": {
+            "reply": "bvi_create_reply"
+        },
+        "bvi_delete": {
+            "reply": "bvi_delete_reply"
+        }
+    },
+    "options": {
+        "version": "2.2.2"
+    },
+    "aliases": {
+        "ip4_address": {
+            "type": "u8",
+            "length": 4
+        },
+        "ip6_address": {
+            "type": "u8",
+            "length": 16
+        },
+        "address_with_prefix": {
+            "type": "vl_api_prefix_t"
+        },
+        "ip4_address_with_prefix": {
+            "type": "vl_api_ip4_prefix_t"
+        },
+        "ip6_address_with_prefix": {
+            "type": "vl_api_ip6_prefix_t"
+        },
+        "mac_address": {
+            "type": "u8",
+            "length": 6
+        },
+        "interface_index": {
+            "type": "u32"
+        }
+    },
+    "vl_api_version": "0x2e148df3"
+}