diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/bin_api/vpe.api.json | 783 | ||||
-rw-r--r-- | core/bin_api/vpe/vpe.go | 286 | ||||
-rw-r--r-- | core/core.go | 2 | ||||
-rw-r--r-- | core/request_handler.go | 26 |
4 files changed, 925 insertions, 172 deletions
diff --git a/core/bin_api/vpe.api.json b/core/bin_api/vpe.api.json new file mode 100644 index 0000000..1744e9c --- /dev/null +++ b/core/bin_api/vpe.api.json @@ -0,0 +1,783 @@ +{ + "types" : [ + ["ip4_fib_counter", + ["u32", "address"], + ["u8", "address_length"], + ["u64", "packets"], + ["u64", "bytes"], + {"crc" : "0xb2739495"} + ], + ["ip4_nbr_counter", + ["u32", "address"], + ["u8", "link_type"], + ["u64", "packets"], + ["u64", "bytes"], + {"crc" : "0x487e2e85"} + ], + ["ip6_fib_counter", + ["u64", "address", 2], + ["u8", "address_length"], + ["u64", "packets"], + ["u64", "bytes"], + {"crc" : "0xcf35769b"} + ], + ["ip6_nbr_counter", + ["u64", "address", 2], + ["u8", "link_type"], + ["u64", "packets"], + ["u64", "bytes"], + {"crc" : "0xefca741e"} + ] + ], + "messages" : [ + ["create_vlan_subif", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + ["u32", "vlan_id"], + {"crc" : "0xaf9ae1e9"} + ], + ["create_vlan_subif_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u32", "sw_if_index"], + {"crc" : "0x8f36b888"} + ], + ["sw_interface_set_mpls_enable", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + ["u8", "enable"], + {"crc" : "0x37f6357e"} + ], + ["sw_interface_set_mpls_enable_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x5ffd3ca9"} + ], + ["proxy_arp_add_del", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "vrf_id"], + ["u8", "is_add"], + ["u8", "low_address", 4], + ["u8", "hi_address", 4], + {"crc" : "0x4bef9951"} + ], + ["proxy_arp_add_del_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x8e2d621d"} + ], + ["proxy_arp_intfc_enable_disable", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + ["u8", "enable_disable"], + {"crc" : "0x3ee1998e"} + ], + ["proxy_arp_intfc_enable_disable_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x23d273cd"} + ], + ["reset_vrf", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "is_ipv6"], + ["u32", "vrf_id"], + {"crc" : "0xeb07deb0"} + ], + ["reset_vrf_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x5f283863"} + ], + ["want_stats", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "enable_disable"], + ["u32", "pid"], + {"crc" : "0x4f2effb4"} + ], + ["want_stats_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xb36abf5f"} + ], + ["vnet_ip4_fib_counters", + ["u16", "_vl_msg_id"], + ["u32", "vrf_id"], + ["u32", "count"], + ["vl_api_ip4_fib_counter_t", "c", 0, "count"], + {"crc" : "0x1ab9d6c5"} + ], + ["vnet_ip4_nbr_counters", + ["u16", "_vl_msg_id"], + ["u32", "count"], + ["u32", "sw_if_index"], + ["u8", "begin"], + ["vl_api_ip4_nbr_counter_t", "c", 0, "count"], + {"crc" : "0xfc2b5092"} + ], + ["vnet_ip6_fib_counters", + ["u16", "_vl_msg_id"], + ["u32", "vrf_id"], + ["u32", "count"], + ["vl_api_ip6_fib_counter_t", "c", 0, "count"], + {"crc" : "0x9ab453ae"} + ], + ["vnet_ip6_nbr_counters", + ["u16", "_vl_msg_id"], + ["u32", "count"], + ["u32", "sw_if_index"], + ["u8", "begin"], + ["vl_api_ip6_nbr_counter_t", "c", 0, "count"], + {"crc" : "0x181b673f"} + ], + ["vnet_get_summary_stats", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + {"crc" : "0x16435c20"} + ], + ["vnet_get_summary_stats_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u64", "total_pkts", 2], + ["u64", "total_bytes", 2], + ["f64", "vector_rate"], + {"crc" : "0x675ce280"} + ], + ["oam_event", + ["u16", "_vl_msg_id"], + ["u8", "dst_address", 4], + ["u8", "state"], + {"crc" : "0x4f285ade"} + ], + ["want_oam_events", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "enable_disable"], + ["u32", "pid"], + {"crc" : "0x948ef12a"} + ], + ["want_oam_events_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x266a677d"} + ], + ["oam_add_del", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "vrf_id"], + ["u8", "src_address", 4], + ["u8", "dst_address", 4], + ["u8", "is_add"], + {"crc" : "0xb14bc7df"} + ], + ["oam_add_del_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xc5594eec"} + ], + ["reset_fib", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "vrf_id"], + ["u8", "is_ipv6"], + {"crc" : "0x6f17106b"} + ], + ["reset_fib_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x990dcbf8"} + ], + ["create_loopback", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "mac_address", 6], + {"crc" : "0xb2602de5"} + ], + ["create_loopback_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u32", "sw_if_index"], + {"crc" : "0x9520f804"} + ], + ["create_loopback_instance", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "mac_address", 6], + ["u8", "is_specified"], + ["u32", "user_instance"], + {"crc" : "0x967694f1"} + ], + ["create_loopback_instance_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u32", "sw_if_index"], + {"crc" : "0xd52c63b6"} + ], + ["delete_loopback", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + {"crc" : "0xded428b0"} + ], + ["delete_loopback_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xc91dafa5"} + ], + ["control_ping", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + {"crc" : "0xea1bf4f7"} + ], + ["control_ping_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u32", "client_index"], + ["u32", "vpe_pid"], + {"crc" : "0xaa016e7b"} + ], + ["cli", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u64", "cmd_in_shmem"], + {"crc" : "0x543d8e2e"} + ], + ["cli_inband", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "length"], + ["u8", "cmd", 0, "length"], + {"crc" : "0x22345937"} + ], + ["cli_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u64", "reply_in_shmem"], + {"crc" : "0x594a0b2e"} + ], + ["cli_inband_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u32", "length"], + ["u8", "reply", 0, "length"], + {"crc" : "0xc1835761"} + ], + ["set_arp_neighbor_limit", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "is_ipv6"], + ["u32", "arp_neighbor_limit"], + {"crc" : "0xc1690cb4"} + ], + ["set_arp_neighbor_limit_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xa6b30518"} + ], + ["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" : "0x9b10029a"} + ], + ["l2_patch_add_del_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xa85e37be"} + ], + ["sw_interface_set_vpath", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + ["u8", "enable"], + {"crc" : "0x1bc2fd5e"} + ], + ["sw_interface_set_vpath_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x828dbe62"} + ], + ["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" : "0x48a4c4c8"} + ], + ["sw_interface_set_l2_xconnect_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x6e45eed4"} + ], + ["sw_interface_set_l2_bridge", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "rx_sw_if_index"], + ["u32", "bd_id"], + ["u8", "shg"], + ["u8", "bvi"], + ["u8", "enable"], + {"crc" : "0x36c739e8"} + ], + ["sw_interface_set_l2_bridge_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x347e08d9"} + ], + ["bd_ip_mac_add_del", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "bd_id"], + ["u8", "is_add"], + ["u8", "is_ipv6"], + ["u8", "ip_address", 16], + ["u8", "mac_address", 6], + {"crc" : "0xad819817"} + ], + ["bd_ip_mac_add_del_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x55bab3b4"} + ], + ["classify_set_interface_ip_table", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "is_ipv6"], + ["u32", "sw_if_index"], + ["u32", "table_index"], + {"crc" : "0x0dc45308"} + ], + ["classify_set_interface_ip_table_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xdc391c34"} + ], + ["classify_set_interface_l2_tables", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + ["u32", "ip4_table_index"], + ["u32", "ip6_table_index"], + ["u32", "other_table_index"], + ["u8", "is_input"], + {"crc" : "0xed9ccf0d"} + ], + ["classify_set_interface_l2_tables_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x8df20579"} + ], + ["get_node_index", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "node_name", 64], + {"crc" : "0x226d3f8c"} + ], + ["get_node_index_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u32", "node_index"], + {"crc" : "0x29116865"} + ], + ["add_node_next", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "node_name", 64], + ["u8", "next_name", 64], + {"crc" : "0xe4202993"} + ], + ["add_node_next_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u32", "next_index"], + {"crc" : "0xe89d6eed"} + ], + ["l2_interface_efp_filter", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + ["u32", "enable_disable"], + {"crc" : "0x07c9d601"} + ], + ["l2_interface_efp_filter_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x0f4bb0c0"} + ], + ["create_subif", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + ["u32", "sub_id"], + ["u8", "no_tags"], + ["u8", "one_tag"], + ["u8", "two_tags"], + ["u8", "dot1ad"], + ["u8", "exact_match"], + ["u8", "default_sub"], + ["u8", "outer_vlan_id_any"], + ["u8", "inner_vlan_id_any"], + ["u16", "outer_vlan_id"], + ["u16", "inner_vlan_id"], + {"crc" : "0x150e6757"} + ], + ["create_subif_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u32", "sw_if_index"], + {"crc" : "0x92272bcb"} + ], + ["show_version", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + {"crc" : "0xf18f9480"} + ], + ["show_version_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u8", "program", 32], + ["u8", "version", 32], + ["u8", "build_date", 32], + ["u8", "build_directory", 256], + {"crc" : "0x83186d9e"} + ], + ["interface_name_renumber", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + ["u32", "new_show_dev_instance"], + {"crc" : "0x11b7bcec"} + ], + ["interface_name_renumber_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x31594963"} + ], + ["want_ip4_arp_events", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "enable_disable"], + ["u32", "pid"], + ["u32", "address"], + {"crc" : "0x5ae044c2"} + ], + ["want_ip4_arp_events_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xe1c0b59e"} + ], + ["ip4_arp_event", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "address"], + ["u32", "pid"], + ["u32", "sw_if_index"], + ["u8", "new_mac", 6], + ["u8", "mac_ip"], + {"crc" : "0x7de1837b"} + ], + ["want_ip6_nd_events", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "enable_disable"], + ["u32", "pid"], + ["u8", "address", 16], + {"crc" : "0x9586ba55"} + ], + ["want_ip6_nd_events_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x95458aad"} + ], + ["ip6_nd_event", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "pid"], + ["u32", "sw_if_index"], + ["u8", "address", 16], + ["u8", "new_mac", 6], + ["u8", "mac_ip"], + {"crc" : "0x777bb71c"} + ], + ["input_acl_set_interface", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + ["u32", "ip4_table_index"], + ["u32", "ip6_table_index"], + ["u32", "l2_table_index"], + ["u8", "is_add"], + {"crc" : "0x34d2fc33"} + ], + ["input_acl_set_interface_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xba0110e3"} + ], + ["get_node_graph", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + {"crc" : "0xf8636a76"} + ], + ["get_node_graph_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u64", "reply_in_shmem"], + {"crc" : "0x816d91b6"} + ], + ["ioam_enable", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u16", "id"], + ["u8", "seqno"], + ["u8", "analyse"], + ["u8", "pot_enable"], + ["u8", "trace_enable"], + ["u32", "node_id"], + {"crc" : "0x7bd4abf9"} + ], + ["ioam_enable_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x58a8fedc"} + ], + ["ioam_disable", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u16", "id"], + {"crc" : "0xaff26d33"} + ], + ["ioam_disable_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xef118a9d"} + ], + ["get_next_index", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "node_name", 64], + ["u8", "next_name", 64], + {"crc" : "0x52f0e416"} + ], + ["get_next_index_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u32", "next_index"], + {"crc" : "0x671fbdb1"} + ], + ["pg_create_interface", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "interface_id"], + {"crc" : "0x253c5959"} + ], + ["pg_create_interface_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + ["u32", "sw_if_index"], + {"crc" : "0x21b4f949"} + ], + ["pg_capture", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "interface_id"], + ["u8", "is_enabled"], + ["u32", "count"], + ["u32", "pcap_name_length"], + ["u8", "pcap_file_name", 0, "pcap_name_length"], + {"crc" : "0x6ac7fe78"} + ], + ["pg_capture_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xf403693b"} + ], + ["pg_enable_disable", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "is_enabled"], + ["u32", "stream_name_length"], + ["u8", "stream_name", 0, "stream_name_length"], + {"crc" : "0x7d0b90ff"} + ], + ["pg_enable_disable_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x02253bd6"} + ], + ["ip_source_and_port_range_check_add_del", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "is_ipv6"], + ["u8", "is_add"], + ["u8", "mask_length"], + ["u8", "address", 16], + ["u8", "number_of_ranges"], + ["u16", "low_ports", 32], + ["u16", "high_ports", 32], + ["u32", "vrf_id"], + {"crc" : "0x0f8c6ba0"} + ], + ["ip_source_and_port_range_check_add_del_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x35df8160"} + ], + ["ip_source_and_port_range_check_interface_add_del", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "is_add"], + ["u32", "sw_if_index"], + ["u32", "tcp_in_vrf_id"], + ["u32", "tcp_out_vrf_id"], + ["u32", "udp_in_vrf_id"], + ["u32", "udp_out_vrf_id"], + {"crc" : "0x4a6438f1"} + ], + ["ip_source_and_port_range_check_interface_add_del_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x6b940f04"} + ], + ["delete_subif", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + {"crc" : "0x6038f848"} + ], + ["delete_subif_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0x9d6015dc"} + ], + ["punt", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u8", "is_add"], + ["u8", "ipv"], + ["u8", "l4_protocol"], + ["u16", "l4_port"], + {"crc" : "0x4559c976"} + ], + ["punt_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xcca27fbe"} + ], + ["feature_enable_disable", + ["u16", "_vl_msg_id"], + ["u32", "client_index"], + ["u32", "context"], + ["u32", "sw_if_index"], + ["u8", "enable"], + ["u8", "arc_name", 64], + ["u8", "feature_name", 64], + {"crc" : "0xbc86393b"} + ], + ["feature_enable_disable_reply", + ["u16", "_vl_msg_id"], + ["u32", "context"], + ["i32", "retval"], + {"crc" : "0xf6e14373"} + ] + ], +"vl_api_version" :"0x50d987fe" +} diff --git a/core/bin_api/vpe/vpe.go b/core/bin_api/vpe/vpe.go index 07e35d4..51a245b 100644 --- a/core/bin_api/vpe/vpe.go +++ b/core/bin_api/vpe/vpe.go @@ -1,14 +1,14 @@ // Package vpe represents the VPP binary API of the 'vpe' VPP module. -// DO NOT EDIT. Generated from '/usr/share/vpp/api/vpe.api.json' on Thu, 04 May 2017 13:11:57 CEST. +// DO NOT EDIT. Generated from 'bin_api/vpe.api.json' package vpe import "git.fd.io/govpp.git/api" // VlApiVersion contains version of the API. -const VlAPIVersion = 0x0a33c8f7 +const VlAPIVersion = 0x50d987fe // IP4FibCounter represents the VPP binary API data type 'ip4_fib_counter'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 3: +// Generated from 'bin_api/vpe.api.json', line 3: // // ["ip4_fib_counter", // ["u32", "address"], @@ -33,7 +33,7 @@ func (*IP4FibCounter) GetCrcString() string { } // IP4NbrCounter represents the VPP binary API data type 'ip4_nbr_counter'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 10: +// Generated from 'bin_api/vpe.api.json', line 10: // // ["ip4_nbr_counter", // ["u32", "address"], @@ -58,7 +58,7 @@ func (*IP4NbrCounter) GetCrcString() string { } // IP6FibCounter represents the VPP binary API data type 'ip6_fib_counter'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 17: +// Generated from 'bin_api/vpe.api.json', line 17: // // ["ip6_fib_counter", // ["u64", "address", 2], @@ -83,7 +83,7 @@ func (*IP6FibCounter) GetCrcString() string { } // IP6NbrCounter represents the VPP binary API data type 'ip6_nbr_counter'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 24: +// Generated from 'bin_api/vpe.api.json', line 24: // // ["ip6_nbr_counter", // ["u64", "address", 2], @@ -108,7 +108,7 @@ func (*IP6NbrCounter) GetCrcString() string { } // CreateVlanSubif represents the VPP binary API message 'create_vlan_subif'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 33: +// Generated from 'bin_api/vpe.api.json', line 33: // // ["create_vlan_subif", // ["u16", "_vl_msg_id"], @@ -138,7 +138,7 @@ func NewCreateVlanSubif() api.Message { } // CreateVlanSubifReply represents the VPP binary API message 'create_vlan_subif_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 41: +// Generated from 'bin_api/vpe.api.json', line 41: // // ["create_vlan_subif_reply", // ["u16", "_vl_msg_id"], @@ -167,7 +167,7 @@ func NewCreateVlanSubifReply() api.Message { } // SwInterfaceSetMplsEnable represents the VPP binary API message 'sw_interface_set_mpls_enable'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 48: +// Generated from 'bin_api/vpe.api.json', line 48: // // ["sw_interface_set_mpls_enable", // ["u16", "_vl_msg_id"], @@ -197,7 +197,7 @@ func NewSwInterfaceSetMplsEnable() api.Message { } // SwInterfaceSetMplsEnableReply represents the VPP binary API message 'sw_interface_set_mpls_enable_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 56: +// Generated from 'bin_api/vpe.api.json', line 56: // // ["sw_interface_set_mpls_enable_reply", // ["u16", "_vl_msg_id"], @@ -224,7 +224,7 @@ func NewSwInterfaceSetMplsEnableReply() api.Message { } // ProxyArpAddDel represents the VPP binary API message 'proxy_arp_add_del'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 62: +// Generated from 'bin_api/vpe.api.json', line 62: // // ["proxy_arp_add_del", // ["u16", "_vl_msg_id"], @@ -258,7 +258,7 @@ func NewProxyArpAddDel() api.Message { } // ProxyArpAddDelReply represents the VPP binary API message 'proxy_arp_add_del_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 72: +// Generated from 'bin_api/vpe.api.json', line 72: // // ["proxy_arp_add_del_reply", // ["u16", "_vl_msg_id"], @@ -285,7 +285,7 @@ func NewProxyArpAddDelReply() api.Message { } // ProxyArpIntfcEnableDisable represents the VPP binary API message 'proxy_arp_intfc_enable_disable'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 78: +// Generated from 'bin_api/vpe.api.json', line 78: // // ["proxy_arp_intfc_enable_disable", // ["u16", "_vl_msg_id"], @@ -315,7 +315,7 @@ func NewProxyArpIntfcEnableDisable() api.Message { } // ProxyArpIntfcEnableDisableReply represents the VPP binary API message 'proxy_arp_intfc_enable_disable_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 86: +// Generated from 'bin_api/vpe.api.json', line 86: // // ["proxy_arp_intfc_enable_disable_reply", // ["u16", "_vl_msg_id"], @@ -342,7 +342,7 @@ func NewProxyArpIntfcEnableDisableReply() api.Message { } // ResetVrf represents the VPP binary API message 'reset_vrf'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 92: +// Generated from 'bin_api/vpe.api.json', line 92: // // ["reset_vrf", // ["u16", "_vl_msg_id"], @@ -372,7 +372,7 @@ func NewResetVrf() api.Message { } // ResetVrfReply represents the VPP binary API message 'reset_vrf_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 100: +// Generated from 'bin_api/vpe.api.json', line 100: // // ["reset_vrf_reply", // ["u16", "_vl_msg_id"], @@ -398,44 +398,8 @@ func NewResetVrfReply() api.Message { return &ResetVrfReply{} } -// IsAddressReachable represents the VPP binary API message 'is_address_reachable'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 106: -// -// ["is_address_reachable", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "next_hop_sw_if_index"], -// ["u8", "is_known"], -// ["u8", "is_ipv6"], -// ["u8", "is_error"], -// ["u8", "address", 16], -// {"crc" : "0xa8b6e322"} -// ], -// -type IsAddressReachable struct { - NextHopSwIfIndex uint32 - IsKnown uint8 - IsIpv6 uint8 - IsError uint8 - Address []byte `struc:"[16]byte"` -} - -func (*IsAddressReachable) GetMessageName() string { - return "is_address_reachable" -} -func (*IsAddressReachable) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*IsAddressReachable) GetCrcString() string { - return "a8b6e322" -} -func NewIsAddressReachable() api.Message { - return &IsAddressReachable{} -} - // WantStats represents the VPP binary API message 'want_stats'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 117: +// Generated from 'bin_api/vpe.api.json', line 106: // // ["want_stats", // ["u16", "_vl_msg_id"], @@ -465,7 +429,7 @@ func NewWantStats() api.Message { } // WantStatsReply represents the VPP binary API message 'want_stats_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 125: +// Generated from 'bin_api/vpe.api.json', line 114: // // ["want_stats_reply", // ["u16", "_vl_msg_id"], @@ -492,7 +456,7 @@ func NewWantStatsReply() api.Message { } // VnetIP4FibCounters represents the VPP binary API message 'vnet_ip4_fib_counters'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 131: +// Generated from 'bin_api/vpe.api.json', line 120: // // ["vnet_ip4_fib_counters", // ["u16", "_vl_msg_id"], @@ -522,7 +486,7 @@ func NewVnetIP4FibCounters() api.Message { } // VnetIP4NbrCounters represents the VPP binary API message 'vnet_ip4_nbr_counters'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 138: +// Generated from 'bin_api/vpe.api.json', line 127: // // ["vnet_ip4_nbr_counters", // ["u16", "_vl_msg_id"], @@ -554,7 +518,7 @@ func NewVnetIP4NbrCounters() api.Message { } // VnetIP6FibCounters represents the VPP binary API message 'vnet_ip6_fib_counters'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 146: +// Generated from 'bin_api/vpe.api.json', line 135: // // ["vnet_ip6_fib_counters", // ["u16", "_vl_msg_id"], @@ -584,7 +548,7 @@ func NewVnetIP6FibCounters() api.Message { } // VnetIP6NbrCounters represents the VPP binary API message 'vnet_ip6_nbr_counters'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 153: +// Generated from 'bin_api/vpe.api.json', line 142: // // ["vnet_ip6_nbr_counters", // ["u16", "_vl_msg_id"], @@ -616,7 +580,7 @@ func NewVnetIP6NbrCounters() api.Message { } // VnetGetSummaryStats represents the VPP binary API message 'vnet_get_summary_stats'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 161: +// Generated from 'bin_api/vpe.api.json', line 150: // // ["vnet_get_summary_stats", // ["u16", "_vl_msg_id"], @@ -641,41 +605,41 @@ func NewVnetGetSummaryStats() api.Message { return &VnetGetSummaryStats{} } -// VnetSummaryStatsReply represents the VPP binary API message 'vnet_summary_stats_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 167: +// VnetGetSummaryStatsReply represents the VPP binary API message 'vnet_get_summary_stats_reply'. +// Generated from 'bin_api/vpe.api.json', line 156: // -// ["vnet_summary_stats_reply", +// ["vnet_get_summary_stats_reply", // ["u16", "_vl_msg_id"], // ["u32", "context"], // ["i32", "retval"], // ["u64", "total_pkts", 2], // ["u64", "total_bytes", 2], // ["f64", "vector_rate"], -// {"crc" : "0x87a8fa9f"} +// {"crc" : "0x675ce280"} // ], // -type VnetSummaryStatsReply struct { +type VnetGetSummaryStatsReply struct { Retval int32 TotalPkts []uint64 `struc:"[2]uint64"` TotalBytes []uint64 `struc:"[2]uint64"` VectorRate float64 } -func (*VnetSummaryStatsReply) GetMessageName() string { - return "vnet_summary_stats_reply" +func (*VnetGetSummaryStatsReply) GetMessageName() string { + return "vnet_get_summary_stats_reply" } -func (*VnetSummaryStatsReply) GetMessageType() api.MessageType { +func (*VnetGetSummaryStatsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -func (*VnetSummaryStatsReply) GetCrcString() string { - return "87a8fa9f" +func (*VnetGetSummaryStatsReply) GetCrcString() string { + return "675ce280" } -func NewVnetSummaryStatsReply() api.Message { - return &VnetSummaryStatsReply{} +func NewVnetGetSummaryStatsReply() api.Message { + return &VnetGetSummaryStatsReply{} } // OamEvent represents the VPP binary API message 'oam_event'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 176: +// Generated from 'bin_api/vpe.api.json', line 165: // // ["oam_event", // ["u16", "_vl_msg_id"], @@ -703,7 +667,7 @@ func NewOamEvent() api.Message { } // WantOamEvents represents the VPP binary API message 'want_oam_events'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 182: +// Generated from 'bin_api/vpe.api.json', line 171: // // ["want_oam_events", // ["u16", "_vl_msg_id"], @@ -733,7 +697,7 @@ func NewWantOamEvents() api.Message { } // WantOamEventsReply represents the VPP binary API message 'want_oam_events_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 190: +// Generated from 'bin_api/vpe.api.json', line 179: // // ["want_oam_events_reply", // ["u16", "_vl_msg_id"], @@ -760,7 +724,7 @@ func NewWantOamEventsReply() api.Message { } // OamAddDel represents the VPP binary API message 'oam_add_del'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 196: +// Generated from 'bin_api/vpe.api.json', line 185: // // ["oam_add_del", // ["u16", "_vl_msg_id"], @@ -794,7 +758,7 @@ func NewOamAddDel() api.Message { } // OamAddDelReply represents the VPP binary API message 'oam_add_del_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 206: +// Generated from 'bin_api/vpe.api.json', line 195: // // ["oam_add_del_reply", // ["u16", "_vl_msg_id"], @@ -821,7 +785,7 @@ func NewOamAddDelReply() api.Message { } // ResetFib represents the VPP binary API message 'reset_fib'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 212: +// Generated from 'bin_api/vpe.api.json', line 201: // // ["reset_fib", // ["u16", "_vl_msg_id"], @@ -851,7 +815,7 @@ func NewResetFib() api.Message { } // ResetFibReply represents the VPP binary API message 'reset_fib_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 220: +// Generated from 'bin_api/vpe.api.json', line 209: // // ["reset_fib_reply", // ["u16", "_vl_msg_id"], @@ -878,7 +842,7 @@ func NewResetFibReply() api.Message { } // CreateLoopback represents the VPP binary API message 'create_loopback'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 226: +// Generated from 'bin_api/vpe.api.json', line 215: // // ["create_loopback", // ["u16", "_vl_msg_id"], @@ -906,7 +870,7 @@ func NewCreateLoopback() api.Message { } // CreateLoopbackReply represents the VPP binary API message 'create_loopback_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 233: +// Generated from 'bin_api/vpe.api.json', line 222: // // ["create_loopback_reply", // ["u16", "_vl_msg_id"], @@ -935,7 +899,7 @@ func NewCreateLoopbackReply() api.Message { } // CreateLoopbackInstance represents the VPP binary API message 'create_loopback_instance'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 240: +// Generated from 'bin_api/vpe.api.json', line 229: // // ["create_loopback_instance", // ["u16", "_vl_msg_id"], @@ -967,7 +931,7 @@ func NewCreateLoopbackInstance() api.Message { } // CreateLoopbackInstanceReply represents the VPP binary API message 'create_loopback_instance_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 249: +// Generated from 'bin_api/vpe.api.json', line 238: // // ["create_loopback_instance_reply", // ["u16", "_vl_msg_id"], @@ -996,7 +960,7 @@ func NewCreateLoopbackInstanceReply() api.Message { } // DeleteLoopback represents the VPP binary API message 'delete_loopback'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 256: +// Generated from 'bin_api/vpe.api.json', line 245: // // ["delete_loopback", // ["u16", "_vl_msg_id"], @@ -1024,7 +988,7 @@ func NewDeleteLoopback() api.Message { } // DeleteLoopbackReply represents the VPP binary API message 'delete_loopback_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 263: +// Generated from 'bin_api/vpe.api.json', line 252: // // ["delete_loopback_reply", // ["u16", "_vl_msg_id"], @@ -1051,7 +1015,7 @@ func NewDeleteLoopbackReply() api.Message { } // ControlPing represents the VPP binary API message 'control_ping'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 269: +// Generated from 'bin_api/vpe.api.json', line 258: // // ["control_ping", // ["u16", "_vl_msg_id"], @@ -1077,7 +1041,7 @@ func NewControlPing() api.Message { } // ControlPingReply represents the VPP binary API message 'control_ping_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 275: +// Generated from 'bin_api/vpe.api.json', line 264: // // ["control_ping_reply", // ["u16", "_vl_msg_id"], @@ -1107,36 +1071,36 @@ func NewControlPingReply() api.Message { return &ControlPingReply{} } -// CliRequest represents the VPP binary API message 'cli_request'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 283: +// Cli represents the VPP binary API message 'cli'. +// Generated from 'bin_api/vpe.api.json', line 272: // -// ["cli_request", +// ["cli", // ["u16", "_vl_msg_id"], // ["u32", "client_index"], // ["u32", "context"], // ["u64", "cmd_in_shmem"], -// {"crc" : "0xfef056d0"} +// {"crc" : "0x543d8e2e"} // ], // -type CliRequest struct { +type Cli struct { CmdInShmem uint64 } -func (*CliRequest) GetMessageName() string { - return "cli_request" +func (*Cli) GetMessageName() string { + return "cli" } -func (*CliRequest) GetMessageType() api.MessageType { +func (*Cli) GetMessageType() api.MessageType { return api.RequestMessage } -func (*CliRequest) GetCrcString() string { - return "fef056d0" +func (*Cli) GetCrcString() string { + return "543d8e2e" } -func NewCliRequest() api.Message { - return &CliRequest{} +func NewCli() api.Message { + return &Cli{} } // CliInband represents the VPP binary API message 'cli_inband'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 290: +// Generated from 'bin_api/vpe.api.json', line 279: // // ["cli_inband", // ["u16", "_vl_msg_id"], @@ -1166,7 +1130,7 @@ func NewCliInband() api.Message { } // CliReply represents the VPP binary API message 'cli_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 298: +// Generated from 'bin_api/vpe.api.json', line 287: // // ["cli_reply", // ["u16", "_vl_msg_id"], @@ -1195,7 +1159,7 @@ func NewCliReply() api.Message { } // CliInbandReply represents the VPP binary API message 'cli_inband_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 305: +// Generated from 'bin_api/vpe.api.json', line 294: // // ["cli_inband_reply", // ["u16", "_vl_msg_id"], @@ -1226,7 +1190,7 @@ func NewCliInbandReply() api.Message { } // SetArpNeighborLimit represents the VPP binary API message 'set_arp_neighbor_limit'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 313: +// Generated from 'bin_api/vpe.api.json', line 302: // // ["set_arp_neighbor_limit", // ["u16", "_vl_msg_id"], @@ -1256,7 +1220,7 @@ func NewSetArpNeighborLimit() api.Message { } // SetArpNeighborLimitReply represents the VPP binary API message 'set_arp_neighbor_limit_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 321: +// Generated from 'bin_api/vpe.api.json', line 310: // // ["set_arp_neighbor_limit_reply", // ["u16", "_vl_msg_id"], @@ -1283,7 +1247,7 @@ func NewSetArpNeighborLimitReply() api.Message { } // L2PatchAddDel represents the VPP binary API message 'l2_patch_add_del'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 327: +// Generated from 'bin_api/vpe.api.json', line 316: // // ["l2_patch_add_del", // ["u16", "_vl_msg_id"], @@ -1315,7 +1279,7 @@ func NewL2PatchAddDel() api.Message { } // L2PatchAddDelReply represents the VPP binary API message 'l2_patch_add_del_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 336: +// Generated from 'bin_api/vpe.api.json', line 325: // // ["l2_patch_add_del_reply", // ["u16", "_vl_msg_id"], @@ -1342,7 +1306,7 @@ func NewL2PatchAddDelReply() api.Message { } // SwInterfaceSetVpath represents the VPP binary API message 'sw_interface_set_vpath'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 342: +// Generated from 'bin_api/vpe.api.json', line 331: // // ["sw_interface_set_vpath", // ["u16", "_vl_msg_id"], @@ -1372,7 +1336,7 @@ func NewSwInterfaceSetVpath() api.Message { } // SwInterfaceSetVpathReply represents the VPP binary API message 'sw_interface_set_vpath_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 350: +// Generated from 'bin_api/vpe.api.json', line 339: // // ["sw_interface_set_vpath_reply", // ["u16", "_vl_msg_id"], @@ -1399,7 +1363,7 @@ func NewSwInterfaceSetVpathReply() api.Message { } // SwInterfaceSetL2Xconnect represents the VPP binary API message 'sw_interface_set_l2_xconnect'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 356: +// Generated from 'bin_api/vpe.api.json', line 345: // // ["sw_interface_set_l2_xconnect", // ["u16", "_vl_msg_id"], @@ -1431,7 +1395,7 @@ func NewSwInterfaceSetL2Xconnect() api.Message { } // SwInterfaceSetL2XconnectReply represents the VPP binary API message 'sw_interface_set_l2_xconnect_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 365: +// Generated from 'bin_api/vpe.api.json', line 354: // // ["sw_interface_set_l2_xconnect_reply", // ["u16", "_vl_msg_id"], @@ -1458,7 +1422,7 @@ func NewSwInterfaceSetL2XconnectReply() api.Message { } // SwInterfaceSetL2Bridge represents the VPP binary API message 'sw_interface_set_l2_bridge'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 371: +// Generated from 'bin_api/vpe.api.json', line 360: // // ["sw_interface_set_l2_bridge", // ["u16", "_vl_msg_id"], @@ -1494,7 +1458,7 @@ func NewSwInterfaceSetL2Bridge() api.Message { } // SwInterfaceSetL2BridgeReply represents the VPP binary API message 'sw_interface_set_l2_bridge_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 382: +// Generated from 'bin_api/vpe.api.json', line 371: // // ["sw_interface_set_l2_bridge_reply", // ["u16", "_vl_msg_id"], @@ -1521,7 +1485,7 @@ func NewSwInterfaceSetL2BridgeReply() api.Message { } // BdIPMacAddDel represents the VPP binary API message 'bd_ip_mac_add_del'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 388: +// Generated from 'bin_api/vpe.api.json', line 377: // // ["bd_ip_mac_add_del", // ["u16", "_vl_msg_id"], @@ -1557,7 +1521,7 @@ func NewBdIPMacAddDel() api.Message { } // BdIPMacAddDelReply represents the VPP binary API message 'bd_ip_mac_add_del_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 399: +// Generated from 'bin_api/vpe.api.json', line 388: // // ["bd_ip_mac_add_del_reply", // ["u16", "_vl_msg_id"], @@ -1584,7 +1548,7 @@ func NewBdIPMacAddDelReply() api.Message { } // ClassifySetInterfaceIPTable represents the VPP binary API message 'classify_set_interface_ip_table'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 405: +// Generated from 'bin_api/vpe.api.json', line 394: // // ["classify_set_interface_ip_table", // ["u16", "_vl_msg_id"], @@ -1616,7 +1580,7 @@ func NewClassifySetInterfaceIPTable() api.Message { } // ClassifySetInterfaceIPTableReply represents the VPP binary API message 'classify_set_interface_ip_table_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 414: +// Generated from 'bin_api/vpe.api.json', line 403: // // ["classify_set_interface_ip_table_reply", // ["u16", "_vl_msg_id"], @@ -1643,7 +1607,7 @@ func NewClassifySetInterfaceIPTableReply() api.Message { } // ClassifySetInterfaceL2Tables represents the VPP binary API message 'classify_set_interface_l2_tables'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 420: +// Generated from 'bin_api/vpe.api.json', line 409: // // ["classify_set_interface_l2_tables", // ["u16", "_vl_msg_id"], @@ -1679,7 +1643,7 @@ func NewClassifySetInterfaceL2Tables() api.Message { } // ClassifySetInterfaceL2TablesReply represents the VPP binary API message 'classify_set_interface_l2_tables_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 431: +// Generated from 'bin_api/vpe.api.json', line 420: // // ["classify_set_interface_l2_tables_reply", // ["u16", "_vl_msg_id"], @@ -1706,7 +1670,7 @@ func NewClassifySetInterfaceL2TablesReply() api.Message { } // GetNodeIndex represents the VPP binary API message 'get_node_index'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 437: +// Generated from 'bin_api/vpe.api.json', line 426: // // ["get_node_index", // ["u16", "_vl_msg_id"], @@ -1734,7 +1698,7 @@ func NewGetNodeIndex() api.Message { } // GetNodeIndexReply represents the VPP binary API message 'get_node_index_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 444: +// Generated from 'bin_api/vpe.api.json', line 433: // // ["get_node_index_reply", // ["u16", "_vl_msg_id"], @@ -1763,7 +1727,7 @@ func NewGetNodeIndexReply() api.Message { } // AddNodeNext represents the VPP binary API message 'add_node_next'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 451: +// Generated from 'bin_api/vpe.api.json', line 440: // // ["add_node_next", // ["u16", "_vl_msg_id"], @@ -1793,7 +1757,7 @@ func NewAddNodeNext() api.Message { } // AddNodeNextReply represents the VPP binary API message 'add_node_next_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 459: +// Generated from 'bin_api/vpe.api.json', line 448: // // ["add_node_next_reply", // ["u16", "_vl_msg_id"], @@ -1822,7 +1786,7 @@ func NewAddNodeNextReply() api.Message { } // L2InterfaceEfpFilter represents the VPP binary API message 'l2_interface_efp_filter'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 466: +// Generated from 'bin_api/vpe.api.json', line 455: // // ["l2_interface_efp_filter", // ["u16", "_vl_msg_id"], @@ -1852,7 +1816,7 @@ func NewL2InterfaceEfpFilter() api.Message { } // L2InterfaceEfpFilterReply represents the VPP binary API message 'l2_interface_efp_filter_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 474: +// Generated from 'bin_api/vpe.api.json', line 463: // // ["l2_interface_efp_filter_reply", // ["u16", "_vl_msg_id"], @@ -1879,7 +1843,7 @@ func NewL2InterfaceEfpFilterReply() api.Message { } // CreateSubif represents the VPP binary API message 'create_subif'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 480: +// Generated from 'bin_api/vpe.api.json', line 469: // // ["create_subif", // ["u16", "_vl_msg_id"], @@ -1929,7 +1893,7 @@ func NewCreateSubif() api.Message { } // CreateSubifReply represents the VPP binary API message 'create_subif_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 498: +// Generated from 'bin_api/vpe.api.json', line 487: // // ["create_subif_reply", // ["u16", "_vl_msg_id"], @@ -1958,7 +1922,7 @@ func NewCreateSubifReply() api.Message { } // ShowVersion represents the VPP binary API message 'show_version'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 505: +// Generated from 'bin_api/vpe.api.json', line 494: // // ["show_version", // ["u16", "_vl_msg_id"], @@ -1984,7 +1948,7 @@ func NewShowVersion() api.Message { } // ShowVersionReply represents the VPP binary API message 'show_version_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 511: +// Generated from 'bin_api/vpe.api.json', line 500: // // ["show_version_reply", // ["u16", "_vl_msg_id"], @@ -2019,7 +1983,7 @@ func NewShowVersionReply() api.Message { } // InterfaceNameRenumber represents the VPP binary API message 'interface_name_renumber'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 521: +// Generated from 'bin_api/vpe.api.json', line 510: // // ["interface_name_renumber", // ["u16", "_vl_msg_id"], @@ -2049,7 +2013,7 @@ func NewInterfaceNameRenumber() api.Message { } // InterfaceNameRenumberReply represents the VPP binary API message 'interface_name_renumber_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 529: +// Generated from 'bin_api/vpe.api.json', line 518: // // ["interface_name_renumber_reply", // ["u16", "_vl_msg_id"], @@ -2076,7 +2040,7 @@ func NewInterfaceNameRenumberReply() api.Message { } // WantIP4ArpEvents represents the VPP binary API message 'want_ip4_arp_events'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 535: +// Generated from 'bin_api/vpe.api.json', line 524: // // ["want_ip4_arp_events", // ["u16", "_vl_msg_id"], @@ -2108,7 +2072,7 @@ func NewWantIP4ArpEvents() api.Message { } // WantIP4ArpEventsReply represents the VPP binary API message 'want_ip4_arp_events_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 544: +// Generated from 'bin_api/vpe.api.json', line 533: // // ["want_ip4_arp_events_reply", // ["u16", "_vl_msg_id"], @@ -2135,7 +2099,7 @@ func NewWantIP4ArpEventsReply() api.Message { } // IP4ArpEvent represents the VPP binary API message 'ip4_arp_event'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 550: +// Generated from 'bin_api/vpe.api.json', line 539: // // ["ip4_arp_event", // ["u16", "_vl_msg_id"], @@ -2171,7 +2135,7 @@ func NewIP4ArpEvent() api.Message { } // WantIP6NdEvents represents the VPP binary API message 'want_ip6_nd_events'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 561: +// Generated from 'bin_api/vpe.api.json', line 550: // // ["want_ip6_nd_events", // ["u16", "_vl_msg_id"], @@ -2203,7 +2167,7 @@ func NewWantIP6NdEvents() api.Message { } // WantIP6NdEventsReply represents the VPP binary API message 'want_ip6_nd_events_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 570: +// Generated from 'bin_api/vpe.api.json', line 559: // // ["want_ip6_nd_events_reply", // ["u16", "_vl_msg_id"], @@ -2230,7 +2194,7 @@ func NewWantIP6NdEventsReply() api.Message { } // IP6NdEvent represents the VPP binary API message 'ip6_nd_event'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 576: +// Generated from 'bin_api/vpe.api.json', line 565: // // ["ip6_nd_event", // ["u16", "_vl_msg_id"], @@ -2266,7 +2230,7 @@ func NewIP6NdEvent() api.Message { } // InputACLSetInterface represents the VPP binary API message 'input_acl_set_interface'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 587: +// Generated from 'bin_api/vpe.api.json', line 576: // // ["input_acl_set_interface", // ["u16", "_vl_msg_id"], @@ -2302,7 +2266,7 @@ func NewInputACLSetInterface() api.Message { } // InputACLSetInterfaceReply represents the VPP binary API message 'input_acl_set_interface_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 598: +// Generated from 'bin_api/vpe.api.json', line 587: // // ["input_acl_set_interface_reply", // ["u16", "_vl_msg_id"], @@ -2329,7 +2293,7 @@ func NewInputACLSetInterfaceReply() api.Message { } // GetNodeGraph represents the VPP binary API message 'get_node_graph'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 604: +// Generated from 'bin_api/vpe.api.json', line 593: // // ["get_node_graph", // ["u16", "_vl_msg_id"], @@ -2355,7 +2319,7 @@ func NewGetNodeGraph() api.Message { } // GetNodeGraphReply represents the VPP binary API message 'get_node_graph_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 610: +// Generated from 'bin_api/vpe.api.json', line 599: // // ["get_node_graph_reply", // ["u16", "_vl_msg_id"], @@ -2384,7 +2348,7 @@ func NewGetNodeGraphReply() api.Message { } // IoamEnable represents the VPP binary API message 'ioam_enable'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 617: +// Generated from 'bin_api/vpe.api.json', line 606: // // ["ioam_enable", // ["u16", "_vl_msg_id"], @@ -2422,7 +2386,7 @@ func NewIoamEnable() api.Message { } // IoamEnableReply represents the VPP binary API message 'ioam_enable_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 629: +// Generated from 'bin_api/vpe.api.json', line 618: // // ["ioam_enable_reply", // ["u16", "_vl_msg_id"], @@ -2449,7 +2413,7 @@ func NewIoamEnableReply() api.Message { } // IoamDisable represents the VPP binary API message 'ioam_disable'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 635: +// Generated from 'bin_api/vpe.api.json', line 624: // // ["ioam_disable", // ["u16", "_vl_msg_id"], @@ -2477,7 +2441,7 @@ func NewIoamDisable() api.Message { } // IoamDisableReply represents the VPP binary API message 'ioam_disable_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 642: +// Generated from 'bin_api/vpe.api.json', line 631: // // ["ioam_disable_reply", // ["u16", "_vl_msg_id"], @@ -2504,7 +2468,7 @@ func NewIoamDisableReply() api.Message { } // GetNextIndex represents the VPP binary API message 'get_next_index'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 648: +// Generated from 'bin_api/vpe.api.json', line 637: // // ["get_next_index", // ["u16", "_vl_msg_id"], @@ -2534,7 +2498,7 @@ func NewGetNextIndex() api.Message { } // GetNextIndexReply represents the VPP binary API message 'get_next_index_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 656: +// Generated from 'bin_api/vpe.api.json', line 645: // // ["get_next_index_reply", // ["u16", "_vl_msg_id"], @@ -2563,7 +2527,7 @@ func NewGetNextIndexReply() api.Message { } // PgCreateInterface represents the VPP binary API message 'pg_create_interface'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 663: +// Generated from 'bin_api/vpe.api.json', line 652: // // ["pg_create_interface", // ["u16", "_vl_msg_id"], @@ -2591,7 +2555,7 @@ func NewPgCreateInterface() api.Message { } // PgCreateInterfaceReply represents the VPP binary API message 'pg_create_interface_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 670: +// Generated from 'bin_api/vpe.api.json', line 659: // // ["pg_create_interface_reply", // ["u16", "_vl_msg_id"], @@ -2620,7 +2584,7 @@ func NewPgCreateInterfaceReply() api.Message { } // PgCapture represents the VPP binary API message 'pg_capture'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 677: +// Generated from 'bin_api/vpe.api.json', line 666: // // ["pg_capture", // ["u16", "_vl_msg_id"], @@ -2656,7 +2620,7 @@ func NewPgCapture() api.Message { } // PgCaptureReply represents the VPP binary API message 'pg_capture_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 688: +// Generated from 'bin_api/vpe.api.json', line 677: // // ["pg_capture_reply", // ["u16", "_vl_msg_id"], @@ -2683,7 +2647,7 @@ func NewPgCaptureReply() api.Message { } // PgEnableDisable represents the VPP binary API message 'pg_enable_disable'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 694: +// Generated from 'bin_api/vpe.api.json', line 683: // // ["pg_enable_disable", // ["u16", "_vl_msg_id"], @@ -2715,7 +2679,7 @@ func NewPgEnableDisable() api.Message { } // PgEnableDisableReply represents the VPP binary API message 'pg_enable_disable_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 703: +// Generated from 'bin_api/vpe.api.json', line 692: // // ["pg_enable_disable_reply", // ["u16", "_vl_msg_id"], @@ -2742,7 +2706,7 @@ func NewPgEnableDisableReply() api.Message { } // IPSourceAndPortRangeCheckAddDel represents the VPP binary API message 'ip_source_and_port_range_check_add_del'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 709: +// Generated from 'bin_api/vpe.api.json', line 698: // // ["ip_source_and_port_range_check_add_del", // ["u16", "_vl_msg_id"], @@ -2784,7 +2748,7 @@ func NewIPSourceAndPortRangeCheckAddDel() api.Message { } // IPSourceAndPortRangeCheckAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_add_del_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 723: +// Generated from 'bin_api/vpe.api.json', line 712: // // ["ip_source_and_port_range_check_add_del_reply", // ["u16", "_vl_msg_id"], @@ -2811,7 +2775,7 @@ func NewIPSourceAndPortRangeCheckAddDelReply() api.Message { } // IPSourceAndPortRangeCheckInterfaceAddDel represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 729: +// Generated from 'bin_api/vpe.api.json', line 718: // // ["ip_source_and_port_range_check_interface_add_del", // ["u16", "_vl_msg_id"], @@ -2849,7 +2813,7 @@ func NewIPSourceAndPortRangeCheckInterfaceAddDel() api.Message { } // IPSourceAndPortRangeCheckInterfaceAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 741: +// Generated from 'bin_api/vpe.api.json', line 730: // // ["ip_source_and_port_range_check_interface_add_del_reply", // ["u16", "_vl_msg_id"], @@ -2876,7 +2840,7 @@ func NewIPSourceAndPortRangeCheckInterfaceAddDelReply() api.Message { } // DeleteSubif represents the VPP binary API message 'delete_subif'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 747: +// Generated from 'bin_api/vpe.api.json', line 736: // // ["delete_subif", // ["u16", "_vl_msg_id"], @@ -2904,7 +2868,7 @@ func NewDeleteSubif() api.Message { } // DeleteSubifReply represents the VPP binary API message 'delete_subif_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 754: +// Generated from 'bin_api/vpe.api.json', line 743: // // ["delete_subif_reply", // ["u16", "_vl_msg_id"], @@ -2931,7 +2895,7 @@ func NewDeleteSubifReply() api.Message { } // Punt represents the VPP binary API message 'punt'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 760: +// Generated from 'bin_api/vpe.api.json', line 749: // // ["punt", // ["u16", "_vl_msg_id"], @@ -2965,7 +2929,7 @@ func NewPunt() api.Message { } // PuntReply represents the VPP binary API message 'punt_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 770: +// Generated from 'bin_api/vpe.api.json', line 759: // // ["punt_reply", // ["u16", "_vl_msg_id"], @@ -2992,7 +2956,7 @@ func NewPuntReply() api.Message { } // FeatureEnableDisable represents the VPP binary API message 'feature_enable_disable'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 776: +// Generated from 'bin_api/vpe.api.json', line 765: // // ["feature_enable_disable", // ["u16", "_vl_msg_id"], @@ -3026,7 +2990,7 @@ func NewFeatureEnableDisable() api.Message { } // FeatureEnableDisableReply represents the VPP binary API message 'feature_enable_disable_reply'. -// Generated from '/usr/share/vpp/api/vpe.api.json', line 786: +// Generated from 'bin_api/vpe.api.json', line 775: // // ["feature_enable_disable_reply", // ["u16", "_vl_msg_id"], diff --git a/core/core.go b/core/core.go index 2484c81..8977902 100644 --- a/core/core.go +++ b/core/core.go @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:generate binapi-generator --input-dir=bin_api --output-dir=bin_api + package core import ( diff --git a/core/request_handler.go b/core/request_handler.go index f4f5e92..e0235b9 100644 --- a/core/request_handler.go +++ b/core/request_handler.go @@ -79,13 +79,15 @@ func (c *Connection) processRequest(ch *api.Channel, chMeta *channelMetadata, re return error } - // send the message - log.WithFields(logger.Fields{ - "context": chMeta.id, - "msg_id": msgID, - "msg_size": len(data), - }).Debug("Sending a message to VPP.") + if log.Level == logger.DebugLevel { // for performance reasons - logrus does some processing even if debugs are disabled + log.WithFields(logger.Fields{ + "context": chMeta.id, + "msg_id": msgID, + "msg_size": len(data), + }).Debug("Sending a message to VPP.") + } + // send the message if req.Multipart { // expect multipart response atomic.StoreUint32(&chMeta.multipart, 1) @@ -121,11 +123,13 @@ func msgCallback(context uint32, msgID uint16, data []byte) { return } - log.WithFields(logger.Fields{ - "context": context, - "msg_id": msgID, - "msg_size": len(data), - }).Debug("Received a message from VPP.") + if log.Level == logger.DebugLevel { // for performance reasons - logrus does some processing even if debugs are disabled + log.WithFields(logger.Fields{ + "context": context, + "msg_id": msgID, + "msg_size": len(data), + }).Debug("Received a message from VPP.") + } if context == 0 || conn.isNotificationMessage(msgID) { // process the message as a notification |