From 868b541e296dc47748ad03b8f0174c828d996529 Mon Sep 17 00:00:00 2001 From: Ondrej Fabry Date: Thu, 13 Dec 2018 10:21:49 +0100 Subject: Add support for aliases and boolean type - aliases are now generated as new types or arrays (if length > 0) - bool is recognized as a boolean type and generated as Go bool - comment with original JSON is now prepended for each object type - interface Services is now generated at the top of the file to provide overview of what RPC services does the current module consists of - dump services now correctly return slice of the particular details type Change-Id: I788babc1c0f2de33e0febd87e5b200d54065b244 Signed-off-by: Ondrej Fabry --- examples/bin_api/interfaces/interfaces.ba.go | 3122 ++++++++++++++------------ 1 file changed, 1737 insertions(+), 1385 deletions(-) (limited to 'examples/bin_api/interfaces') diff --git a/examples/bin_api/interfaces/interfaces.ba.go b/examples/bin_api/interfaces/interfaces.ba.go index 6ab79d3..68a8b44 100644 --- a/examples/bin_api/interfaces/interfaces.ba.go +++ b/examples/bin_api/interfaces/interfaces.ba.go @@ -5,9 +5,10 @@ Package interfaces is a generated from VPP binary API module 'interface'. It contains following objects: - 45 messages + 51 messages 3 types - 22 services + 1 alias + 25 services */ package interfaces @@ -21,22 +22,145 @@ var _ = api.RegisterMessage var _ = struc.Pack var _ = bytes.NewBuffer +// Services represents VPP binary API services: +// +// "services": { +// "create_subif": { +// "reply": "create_subif_reply" +// }, +// "sw_interface_set_ip_directed_broadcast": { +// "reply": "sw_interface_set_ip_directed_broadcast_reply" +// }, +// "delete_subif": { +// "reply": "delete_subif_reply" +// }, +// "sw_interface_get_mac_address": { +// "reply": "sw_interface_get_mac_address_reply" +// }, +// "sw_interface_tag_add_del": { +// "reply": "sw_interface_tag_add_del_reply" +// }, +// "collect_detailed_interface_stats": { +// "reply": "collect_detailed_interface_stats_reply" +// }, +// "sw_interface_dump": { +// "reply": "sw_interface_details", +// "stream": true +// }, +// "sw_interface_set_rx_placement": { +// "reply": "sw_interface_set_rx_placement_reply" +// }, +// "sw_interface_add_del_address": { +// "reply": "sw_interface_add_del_address_reply" +// }, +// "sw_interface_get_table": { +// "reply": "sw_interface_get_table_reply" +// }, +// "interface_name_renumber": { +// "reply": "interface_name_renumber_reply" +// }, +// "create_loopback_instance": { +// "reply": "create_loopback_instance_reply" +// }, +// "sw_interface_set_mtu": { +// "reply": "sw_interface_set_mtu_reply" +// }, +// "want_interface_events": { +// "reply": "want_interface_events_reply", +// "events": [ +// "sw_interface_event" +// ] +// }, +// "create_loopback": { +// "reply": "create_loopback_reply" +// }, +// "sw_interface_clear_stats": { +// "reply": "sw_interface_clear_stats_reply" +// }, +// "hw_interface_set_mtu": { +// "reply": "hw_interface_set_mtu_reply" +// }, +// "sw_interface_set_mac_address": { +// "reply": "sw_interface_set_mac_address_reply" +// }, +// "sw_interface_set_unnumbered": { +// "reply": "sw_interface_set_unnumbered_reply" +// }, +// "sw_interface_rx_placement_dump": { +// "reply": "sw_interface_rx_placement_details", +// "stream": true +// }, +// "sw_interface_set_flags": { +// "reply": "sw_interface_set_flags_reply" +// }, +// "delete_loopback": { +// "reply": "delete_loopback_reply" +// }, +// "sw_interface_set_rx_mode": { +// "reply": "sw_interface_set_rx_mode_reply" +// }, +// "create_vlan_subif": { +// "reply": "create_vlan_subif_reply" +// }, +// "sw_interface_set_table": { +// "reply": "sw_interface_set_table_reply" +// } +// }, +// +type Services interface { + DumpSwInterface(*SwInterfaceDump) ([]*SwInterfaceDetails, error) + DumpSwInterfaceRxPlacement(*SwInterfaceRxPlacementDump) ([]*SwInterfaceRxPlacementDetails, error) + CollectDetailedInterfaceStats(*CollectDetailedInterfaceStats) (*CollectDetailedInterfaceStatsReply, error) + CreateLoopback(*CreateLoopback) (*CreateLoopbackReply, error) + CreateLoopbackInstance(*CreateLoopbackInstance) (*CreateLoopbackInstanceReply, error) + CreateSubif(*CreateSubif) (*CreateSubifReply, error) + CreateVlanSubif(*CreateVlanSubif) (*CreateVlanSubifReply, error) + DeleteLoopback(*DeleteLoopback) (*DeleteLoopbackReply, error) + DeleteSubif(*DeleteSubif) (*DeleteSubifReply, error) + HwInterfaceSetMtu(*HwInterfaceSetMtu) (*HwInterfaceSetMtuReply, error) + InterfaceNameRenumber(*InterfaceNameRenumber) (*InterfaceNameRenumberReply, error) + SwInterfaceAddDelAddress(*SwInterfaceAddDelAddress) (*SwInterfaceAddDelAddressReply, error) + SwInterfaceClearStats(*SwInterfaceClearStats) (*SwInterfaceClearStatsReply, error) + SwInterfaceGetMacAddress(*SwInterfaceGetMacAddress) (*SwInterfaceGetMacAddressReply, error) + SwInterfaceGetTable(*SwInterfaceGetTable) (*SwInterfaceGetTableReply, error) + SwInterfaceSetFlags(*SwInterfaceSetFlags) (*SwInterfaceSetFlagsReply, error) + SwInterfaceSetIPDirectedBroadcast(*SwInterfaceSetIPDirectedBroadcast) (*SwInterfaceSetIPDirectedBroadcastReply, error) + SwInterfaceSetMacAddress(*SwInterfaceSetMacAddress) (*SwInterfaceSetMacAddressReply, error) + SwInterfaceSetMtu(*SwInterfaceSetMtu) (*SwInterfaceSetMtuReply, error) + SwInterfaceSetRxMode(*SwInterfaceSetRxMode) (*SwInterfaceSetRxModeReply, error) + SwInterfaceSetRxPlacement(*SwInterfaceSetRxPlacement) (*SwInterfaceSetRxPlacementReply, error) + SwInterfaceSetTable(*SwInterfaceSetTable) (*SwInterfaceSetTableReply, error) + SwInterfaceSetUnnumbered(*SwInterfaceSetUnnumbered) (*SwInterfaceSetUnnumberedReply, error) + SwInterfaceTagAddDel(*SwInterfaceTagAddDel) (*SwInterfaceTagAddDelReply, error) + WantInterfaceEvents(*WantInterfaceEvents) (*WantInterfaceEventsReply, error) +} + +/* Aliases */ + +// InterfaceIndex represents VPP binary API alias 'interface_index': +// +// "interface_index": { +// "type": "u32" +// } +// +type InterfaceIndex uint32 + /* Types */ -// VlibCounter represents the VPP binary API type 'vlib_counter'. -// -// "vlib_counter", -// [ -// "u64", -// "packets" -// ], -// [ -// "u64", -// "bytes" -// ], -// { -// "crc": "0xce2325a2" -// } +// VlibCounter represents VPP binary API type 'vlib_counter': +// +// "vlib_counter", +// [ +// "u64", +// "packets" +// ], +// [ +// "u64", +// "bytes" +// ], +// { +// "crc": "0xce2325a2" +// } // type VlibCounter struct { Packets uint64 @@ -50,80 +174,80 @@ func (*VlibCounter) GetCrcString() string { return "ce2325a2" } -// VnetCombinedCounter represents the VPP binary API type 'vnet_combined_counter'. -// -// "vnet_combined_counter", -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u64", -// "rx_packets" -// ], -// [ -// "u64", -// "rx_bytes" -// ], -// [ -// "u64", -// "rx_unicast_packets" -// ], -// [ -// "u64", -// "rx_unicast_bytes" -// ], -// [ -// "u64", -// "rx_multicast_packets" -// ], -// [ -// "u64", -// "rx_multicast_bytes" -// ], -// [ -// "u64", -// "rx_broadcast_packets" -// ], -// [ -// "u64", -// "rx_broadcast_bytes" -// ], -// [ -// "u64", -// "tx_packets" -// ], -// [ -// "u64", -// "tx_bytes" -// ], -// [ -// "u64", -// "tx_unicast_packets" -// ], -// [ -// "u64", -// "tx_unicast_bytes" -// ], -// [ -// "u64", -// "tx_multicast_packets" -// ], -// [ -// "u64", -// "tx_multicast_bytes" -// ], -// [ -// "u64", -// "tx_broadcast_packets" -// ], -// [ -// "u64", -// "tx_broadcast_bytes" -// ], -// { -// "crc": "0x20905ca4" -// } +// VnetCombinedCounter represents VPP binary API type 'vnet_combined_counter': +// +// "vnet_combined_counter", +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u64", +// "rx_packets" +// ], +// [ +// "u64", +// "rx_bytes" +// ], +// [ +// "u64", +// "rx_unicast_packets" +// ], +// [ +// "u64", +// "rx_unicast_bytes" +// ], +// [ +// "u64", +// "rx_multicast_packets" +// ], +// [ +// "u64", +// "rx_multicast_bytes" +// ], +// [ +// "u64", +// "rx_broadcast_packets" +// ], +// [ +// "u64", +// "rx_broadcast_bytes" +// ], +// [ +// "u64", +// "tx_packets" +// ], +// [ +// "u64", +// "tx_bytes" +// ], +// [ +// "u64", +// "tx_unicast_packets" +// ], +// [ +// "u64", +// "tx_unicast_bytes" +// ], +// [ +// "u64", +// "tx_multicast_packets" +// ], +// [ +// "u64", +// "tx_multicast_bytes" +// ], +// [ +// "u64", +// "tx_broadcast_packets" +// ], +// [ +// "u64", +// "tx_broadcast_bytes" +// ], +// { +// "crc": "0x20905ca4" +// } // type VnetCombinedCounter struct { SwIfIndex uint32 @@ -152,52 +276,52 @@ func (*VnetCombinedCounter) GetCrcString() string { return "20905ca4" } -// VnetSimpleCounter represents the VPP binary API type 'vnet_simple_counter'. -// -// "vnet_simple_counter", -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u64", -// "drop" -// ], -// [ -// "u64", -// "punt" -// ], -// [ -// "u64", -// "rx_ip4" -// ], -// [ -// "u64", -// "rx_ip6" -// ], -// [ -// "u64", -// "rx_no_buffer" -// ], -// [ -// "u64", -// "rx_miss" -// ], -// [ -// "u64", -// "rx_error" -// ], -// [ -// "u64", -// "tx_error" -// ], -// [ -// "u64", -// "rx_mpls" -// ], -// { -// "crc": "0x8bd65e2d" -// } +// VnetSimpleCounter represents VPP binary API type 'vnet_simple_counter': +// +// "vnet_simple_counter", +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u64", +// "drop" +// ], +// [ +// "u64", +// "punt" +// ], +// [ +// "u64", +// "rx_ip4" +// ], +// [ +// "u64", +// "rx_ip6" +// ], +// [ +// "u64", +// "rx_no_buffer" +// ], +// [ +// "u64", +// "rx_miss" +// ], +// [ +// "u64", +// "rx_error" +// ], +// [ +// "u64", +// "tx_error" +// ], +// [ +// "u64", +// "rx_mpls" +// ], +// { +// "crc": "0x8bd65e2d" +// } // type VnetSimpleCounter struct { SwIfIndex uint32 @@ -221,32 +345,32 @@ func (*VnetSimpleCounter) GetCrcString() string { /* Messages */ -// SwInterfaceSetFlags represents the VPP binary API message 'sw_interface_set_flags'. -// -// "sw_interface_set_flags", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "admin_up_down" -// ], -// { -// "crc": "0x555485f5" -// } +// SwInterfaceSetFlags represents VPP binary API message 'sw_interface_set_flags': +// +// "sw_interface_set_flags", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "admin_up_down" +// ], +// { +// "crc": "0x555485f5" +// } // type SwInterfaceSetFlags struct { SwIfIndex uint32 @@ -263,24 +387,24 @@ func (*SwInterfaceSetFlags) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetFlagsReply represents the VPP binary API message 'sw_interface_set_flags_reply'. -// -// "sw_interface_set_flags_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceSetFlagsReply represents VPP binary API message 'sw_interface_set_flags_reply': +// +// "sw_interface_set_flags_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetFlagsReply struct { Retval int32 @@ -296,32 +420,32 @@ func (*SwInterfaceSetFlagsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// HwInterfaceSetMtu represents the VPP binary API message 'hw_interface_set_mtu'. -// -// "hw_interface_set_mtu", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u16", -// "mtu" -// ], -// { -// "crc": "0x132da1e7" -// } +// HwInterfaceSetMtu represents VPP binary API message 'hw_interface_set_mtu': +// +// "hw_interface_set_mtu", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u16", +// "mtu" +// ], +// { +// "crc": "0x132da1e7" +// } // type HwInterfaceSetMtu struct { SwIfIndex uint32 @@ -338,24 +462,24 @@ func (*HwInterfaceSetMtu) GetMessageType() api.MessageType { return api.RequestMessage } -// HwInterfaceSetMtuReply represents the VPP binary API message 'hw_interface_set_mtu_reply'. -// -// "hw_interface_set_mtu_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// HwInterfaceSetMtuReply represents VPP binary API message 'hw_interface_set_mtu_reply': +// +// "hw_interface_set_mtu_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type HwInterfaceSetMtuReply struct { Retval int32 @@ -371,33 +495,33 @@ func (*HwInterfaceSetMtuReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetMtu represents the VPP binary API message 'sw_interface_set_mtu'. -// -// "sw_interface_set_mtu", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "mtu", -// 4 -// ], -// { -// "crc": "0xd0008db8" -// } +// SwInterfaceSetMtu represents VPP binary API message 'sw_interface_set_mtu': +// +// "sw_interface_set_mtu", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "mtu", +// 4 +// ], +// { +// "crc": "0xd0008db8" +// } // type SwInterfaceSetMtu struct { SwIfIndex uint32 @@ -414,24 +538,24 @@ func (*SwInterfaceSetMtu) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetMtuReply represents the VPP binary API message 'sw_interface_set_mtu_reply'. -// -// "sw_interface_set_mtu_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceSetMtuReply represents VPP binary API message 'sw_interface_set_mtu_reply': +// +// "sw_interface_set_mtu_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetMtuReply struct { Retval int32 @@ -447,40 +571,115 @@ func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceEvent represents the VPP binary API message 'sw_interface_event'. -// -// "sw_interface_event", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "pid" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "admin_up_down" -// ], -// [ -// "u8", -// "link_up_down" -// ], -// [ -// "u8", -// "deleted" -// ], -// { -// "crc": "0xbf9938e4" -// } +// SwInterfaceSetIPDirectedBroadcast represents VPP binary API message 'sw_interface_set_ip_directed_broadcast': +// +// "sw_interface_set_ip_directed_broadcast", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "enable" +// ], +// { +// "crc": "0xa36fadc0" +// } +// +type SwInterfaceSetIPDirectedBroadcast struct { + SwIfIndex uint32 + Enable uint8 +} + +func (*SwInterfaceSetIPDirectedBroadcast) GetMessageName() string { + return "sw_interface_set_ip_directed_broadcast" +} +func (*SwInterfaceSetIPDirectedBroadcast) GetCrcString() string { + return "a36fadc0" +} +func (*SwInterfaceSetIPDirectedBroadcast) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// SwInterfaceSetIPDirectedBroadcastReply represents VPP binary API message 'sw_interface_set_ip_directed_broadcast_reply': +// +// "sw_interface_set_ip_directed_broadcast_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceSetIPDirectedBroadcastReply struct { + Retval int32 +} + +func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageName() string { + return "sw_interface_set_ip_directed_broadcast_reply" +} +func (*SwInterfaceSetIPDirectedBroadcastReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// SwInterfaceEvent represents VPP binary API message 'sw_interface_event': +// +// "sw_interface_event", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "admin_up_down" +// ], +// [ +// "u8", +// "link_up_down" +// ], +// [ +// "u8", +// "deleted" +// ], +// { +// "crc": "0xbf9938e4" +// } // type SwInterfaceEvent struct { PID uint32 @@ -500,32 +699,32 @@ func (*SwInterfaceEvent) GetMessageType() api.MessageType { return api.EventMessage } -// WantInterfaceEvents represents the VPP binary API message 'want_interface_events'. -// -// "want_interface_events", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "enable_disable" -// ], -// [ -// "u32", -// "pid" -// ], -// { -// "crc": "0x476f5a08" -// } +// WantInterfaceEvents represents VPP binary API message 'want_interface_events': +// +// "want_interface_events", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } // type WantInterfaceEvents struct { EnableDisable uint32 @@ -542,24 +741,24 @@ func (*WantInterfaceEvents) GetMessageType() api.MessageType { return api.RequestMessage } -// WantInterfaceEventsReply represents the VPP binary API message 'want_interface_events_reply'. -// -// "want_interface_events_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// WantInterfaceEventsReply represents VPP binary API message 'want_interface_events_reply': +// +// "want_interface_events_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type WantInterfaceEventsReply struct { Retval int32 @@ -575,150 +774,150 @@ func (*WantInterfaceEventsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceDetails represents the VPP binary API message 'sw_interface_details'. -// -// "sw_interface_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "sup_sw_if_index" -// ], -// [ -// "u32", -// "l2_address_length" -// ], -// [ -// "u8", -// "l2_address", -// 8 -// ], -// [ -// "u8", -// "interface_name", -// 64 -// ], -// [ -// "u8", -// "admin_up_down" -// ], -// [ -// "u8", -// "link_up_down" -// ], -// [ -// "u8", -// "link_duplex" -// ], -// [ -// "u8", -// "link_speed" -// ], -// [ -// "u16", -// "link_mtu" -// ], -// [ -// "u32", -// "mtu", -// 4 -// ], -// [ -// "u32", -// "sub_id" -// ], -// [ -// "u8", -// "sub_dot1ad" -// ], -// [ -// "u8", -// "sub_dot1ah" -// ], -// [ -// "u8", -// "sub_number_of_tags" -// ], -// [ -// "u16", -// "sub_outer_vlan_id" -// ], -// [ -// "u16", -// "sub_inner_vlan_id" -// ], -// [ -// "u8", -// "sub_exact_match" -// ], -// [ -// "u8", -// "sub_default" -// ], -// [ -// "u8", -// "sub_outer_vlan_id_any" -// ], -// [ -// "u8", -// "sub_inner_vlan_id_any" -// ], -// [ -// "u32", -// "vtr_op" -// ], -// [ -// "u32", -// "vtr_push_dot1q" -// ], -// [ -// "u32", -// "vtr_tag1" -// ], -// [ -// "u32", -// "vtr_tag2" -// ], -// [ -// "u8", -// "tag", -// 64 -// ], -// [ -// "u16", -// "outer_tag" -// ], -// [ -// "u8", -// "b_dmac", -// 6 -// ], -// [ -// "u8", -// "b_smac", -// 6 -// ], -// [ -// "u16", -// "b_vlanid" -// ], -// [ -// "u32", -// "i_sid" -// ], -// { -// "crc": "0x09b4b510" -// } +// SwInterfaceDetails represents VPP binary API message 'sw_interface_details': +// +// "sw_interface_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "sup_sw_if_index" +// ], +// [ +// "u32", +// "l2_address_length" +// ], +// [ +// "u8", +// "l2_address", +// 8 +// ], +// [ +// "u8", +// "interface_name", +// 64 +// ], +// [ +// "u8", +// "admin_up_down" +// ], +// [ +// "u8", +// "link_up_down" +// ], +// [ +// "u8", +// "link_duplex" +// ], +// [ +// "u32", +// "link_speed" +// ], +// [ +// "u16", +// "link_mtu" +// ], +// [ +// "u32", +// "mtu", +// 4 +// ], +// [ +// "u32", +// "sub_id" +// ], +// [ +// "u8", +// "sub_dot1ad" +// ], +// [ +// "u8", +// "sub_dot1ah" +// ], +// [ +// "u8", +// "sub_number_of_tags" +// ], +// [ +// "u16", +// "sub_outer_vlan_id" +// ], +// [ +// "u16", +// "sub_inner_vlan_id" +// ], +// [ +// "u8", +// "sub_exact_match" +// ], +// [ +// "u8", +// "sub_default" +// ], +// [ +// "u8", +// "sub_outer_vlan_id_any" +// ], +// [ +// "u8", +// "sub_inner_vlan_id_any" +// ], +// [ +// "u32", +// "vtr_op" +// ], +// [ +// "u32", +// "vtr_push_dot1q" +// ], +// [ +// "u32", +// "vtr_tag1" +// ], +// [ +// "u32", +// "vtr_tag2" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// [ +// "u16", +// "outer_tag" +// ], +// [ +// "u8", +// "b_dmac", +// 6 +// ], +// [ +// "u8", +// "b_smac", +// 6 +// ], +// [ +// "u16", +// "b_vlanid" +// ], +// [ +// "u32", +// "i_sid" +// ], +// { +// "crc": "0xe4ee7eb6" +// } // type SwInterfaceDetails struct { SwIfIndex uint32 @@ -729,7 +928,7 @@ type SwInterfaceDetails struct { AdminUpDown uint8 LinkUpDown uint8 LinkDuplex uint8 - LinkSpeed uint8 + LinkSpeed uint32 LinkMtu uint16 Mtu []uint32 `struc:"[4]uint32"` SubID uint32 @@ -758,39 +957,39 @@ func (*SwInterfaceDetails) GetMessageName() string { return "sw_interface_details" } func (*SwInterfaceDetails) GetCrcString() string { - return "09b4b510" + return "e4ee7eb6" } func (*SwInterfaceDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceDump represents the VPP binary API message 'sw_interface_dump'. -// -// "sw_interface_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "name_filter_valid" -// ], -// [ -// "u8", -// "name_filter", -// 49 -// ], -// { -// "crc": "0x63f5e3b7" -// } +// SwInterfaceDump represents VPP binary API message 'sw_interface_dump': +// +// "sw_interface_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "name_filter_valid" +// ], +// [ +// "u8", +// "name_filter", +// 49 +// ], +// { +// "crc": "0x63f5e3b7" +// } // type SwInterfaceDump struct { NameFilterValid uint8 @@ -807,49 +1006,49 @@ func (*SwInterfaceDump) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceAddDelAddress represents the VPP binary API message 'sw_interface_add_del_address'. -// -// "sw_interface_add_del_address", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "del_all" -// ], -// [ -// "u8", -// "address_length" -// ], -// [ -// "u8", -// "address", -// 16 -// ], -// { -// "crc": "0x7b583179" -// } +// SwInterfaceAddDelAddress represents VPP binary API message 'sw_interface_add_del_address': +// +// "sw_interface_add_del_address", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "del_all" +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// { +// "crc": "0x7b583179" +// } // type SwInterfaceAddDelAddress struct { SwIfIndex uint32 @@ -870,24 +1069,24 @@ func (*SwInterfaceAddDelAddress) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceAddDelAddressReply represents the VPP binary API message 'sw_interface_add_del_address_reply'. -// -// "sw_interface_add_del_address_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceAddDelAddressReply represents VPP binary API message 'sw_interface_add_del_address_reply': +// +// "sw_interface_add_del_address_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceAddDelAddressReply struct { Retval int32 @@ -903,36 +1102,36 @@ func (*SwInterfaceAddDelAddressReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetTable represents the VPP binary API message 'sw_interface_set_table'. -// -// "sw_interface_set_table", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u32", -// "vrf_id" -// ], -// { -// "crc": "0xacb25d89" -// } +// SwInterfaceSetTable represents VPP binary API message 'sw_interface_set_table': +// +// "sw_interface_set_table", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// { +// "crc": "0xacb25d89" +// } // type SwInterfaceSetTable struct { SwIfIndex uint32 @@ -950,24 +1149,24 @@ func (*SwInterfaceSetTable) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetTableReply represents the VPP binary API message 'sw_interface_set_table_reply'. -// -// "sw_interface_set_table_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceSetTableReply represents VPP binary API message 'sw_interface_set_table_reply': +// +// "sw_interface_set_table_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetTableReply struct { Retval int32 @@ -983,32 +1182,32 @@ func (*SwInterfaceSetTableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceGetTable represents the VPP binary API message 'sw_interface_get_table'. -// -// "sw_interface_get_table", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// { -// "crc": "0x6b7bcd0a" -// } +// SwInterfaceGetTable represents VPP binary API message 'sw_interface_get_table': +// +// "sw_interface_get_table", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x6b7bcd0a" +// } // type SwInterfaceGetTable struct { SwIfIndex uint32 @@ -1025,28 +1224,28 @@ func (*SwInterfaceGetTable) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceGetTableReply represents the VPP binary API message 'sw_interface_get_table_reply'. -// -// "sw_interface_get_table_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "vrf_id" -// ], -// { -// "crc": "0xa6eb0109" -// } +// SwInterfaceGetTableReply represents VPP binary API message 'sw_interface_get_table_reply': +// +// "sw_interface_get_table_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// { +// "crc": "0xa6eb0109" +// } // type SwInterfaceGetTableReply struct { Retval int32 @@ -1063,36 +1262,36 @@ func (*SwInterfaceGetTableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetUnnumbered represents the VPP binary API message 'sw_interface_set_unnumbered'. -// -// "sw_interface_set_unnumbered", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "unnumbered_sw_if_index" -// ], -// [ -// "u8", -// "is_add" -// ], -// { -// "crc": "0xa2c1bbda" -// } +// SwInterfaceSetUnnumbered represents VPP binary API message 'sw_interface_set_unnumbered': +// +// "sw_interface_set_unnumbered", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "unnumbered_sw_if_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// { +// "crc": "0xa2c1bbda" +// } // type SwInterfaceSetUnnumbered struct { SwIfIndex uint32 @@ -1110,24 +1309,24 @@ func (*SwInterfaceSetUnnumbered) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetUnnumberedReply represents the VPP binary API message 'sw_interface_set_unnumbered_reply'. -// -// "sw_interface_set_unnumbered_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceSetUnnumberedReply represents VPP binary API message 'sw_interface_set_unnumbered_reply': +// +// "sw_interface_set_unnumbered_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetUnnumberedReply struct { Retval int32 @@ -1143,28 +1342,28 @@ func (*SwInterfaceSetUnnumberedReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceClearStats represents the VPP binary API message 'sw_interface_clear_stats'. -// -// "sw_interface_clear_stats", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0x529cb13f" -// } +// SwInterfaceClearStats represents VPP binary API message 'sw_interface_clear_stats': +// +// "sw_interface_clear_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type SwInterfaceClearStats struct { SwIfIndex uint32 @@ -1180,24 +1379,24 @@ func (*SwInterfaceClearStats) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceClearStatsReply represents the VPP binary API message 'sw_interface_clear_stats_reply'. -// -// "sw_interface_clear_stats_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceClearStatsReply represents VPP binary API message 'sw_interface_clear_stats_reply': +// +// "sw_interface_clear_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceClearStatsReply struct { Retval int32 @@ -1213,37 +1412,37 @@ func (*SwInterfaceClearStatsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceTagAddDel represents the VPP binary API message 'sw_interface_tag_add_del'. -// -// "sw_interface_tag_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "tag", -// 64 -// ], -// { -// "crc": "0x14cc636c" -// } +// SwInterfaceTagAddDel represents VPP binary API message 'sw_interface_tag_add_del': +// +// "sw_interface_tag_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// { +// "crc": "0x14cc636c" +// } // type SwInterfaceTagAddDel struct { IsAdd uint8 @@ -1261,24 +1460,24 @@ func (*SwInterfaceTagAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceTagAddDelReply represents the VPP binary API message 'sw_interface_tag_add_del_reply'. -// -// "sw_interface_tag_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceTagAddDelReply represents VPP binary API message 'sw_interface_tag_add_del_reply': +// +// "sw_interface_tag_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceTagAddDelReply struct { Retval int32 @@ -1294,33 +1493,33 @@ func (*SwInterfaceTagAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetMacAddress represents the VPP binary API message 'sw_interface_set_mac_address'. -// -// "sw_interface_set_mac_address", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "mac_address", -// 6 -// ], -// { -// "crc": "0xeed5dfca" -// } +// SwInterfaceSetMacAddress represents VPP binary API message 'sw_interface_set_mac_address': +// +// "sw_interface_set_mac_address", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// { +// "crc": "0xeed5dfca" +// } // type SwInterfaceSetMacAddress struct { SwIfIndex uint32 @@ -1337,24 +1536,24 @@ func (*SwInterfaceSetMacAddress) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetMacAddressReply represents the VPP binary API message 'sw_interface_set_mac_address_reply'. -// -// "sw_interface_set_mac_address_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceSetMacAddressReply represents VPP binary API message 'sw_interface_set_mac_address_reply': +// +// "sw_interface_set_mac_address_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetMacAddressReply struct { Retval int32 @@ -1370,28 +1569,28 @@ func (*SwInterfaceSetMacAddressReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceGetMacAddress represents the VPP binary API message 'sw_interface_get_mac_address'. -// -// "sw_interface_get_mac_address", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0x529cb13f" -// } +// SwInterfaceGetMacAddress represents VPP binary API message 'sw_interface_get_mac_address': +// +// "sw_interface_get_mac_address", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type SwInterfaceGetMacAddress struct { SwIfIndex uint32 @@ -1407,29 +1606,29 @@ func (*SwInterfaceGetMacAddress) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceGetMacAddressReply represents the VPP binary API message 'sw_interface_get_mac_address_reply'. -// -// "sw_interface_get_mac_address_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u8", -// "mac_address", -// 6 -// ], -// { -// "crc": "0x8ea538d3" -// } +// SwInterfaceGetMacAddressReply represents VPP binary API message 'sw_interface_get_mac_address_reply': +// +// "sw_interface_get_mac_address_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// { +// "crc": "0x8ea538d3" +// } // type SwInterfaceGetMacAddressReply struct { Retval int32 @@ -1446,40 +1645,40 @@ func (*SwInterfaceGetMacAddressReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetRxMode represents the VPP binary API message 'sw_interface_set_rx_mode'. -// -// "sw_interface_set_rx_mode", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "queue_id_valid" -// ], -// [ -// "u32", -// "queue_id" -// ], -// [ -// "u8", -// "mode" -// ], -// { -// "crc": "0x2a1cc58c" -// } +// SwInterfaceSetRxMode represents VPP binary API message 'sw_interface_set_rx_mode': +// +// "sw_interface_set_rx_mode", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "queue_id_valid" +// ], +// [ +// "u32", +// "queue_id" +// ], +// [ +// "u8", +// "mode" +// ], +// { +// "crc": "0x2a1cc58c" +// } // type SwInterfaceSetRxMode struct { SwIfIndex uint32 @@ -1498,24 +1697,24 @@ func (*SwInterfaceSetRxMode) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetRxModeReply represents the VPP binary API message 'sw_interface_set_rx_mode_reply'. -// -// "sw_interface_set_rx_mode_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceSetRxModeReply represents VPP binary API message 'sw_interface_set_rx_mode_reply': +// +// "sw_interface_set_rx_mode_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetRxModeReply struct { Retval int32 @@ -1531,32 +1730,206 @@ func (*SwInterfaceSetRxModeReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// InterfaceNameRenumber represents the VPP binary API message 'interface_name_renumber'. -// -// "interface_name_renumber", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "new_show_dev_instance" -// ], -// { -// "crc": "0x39194269" -// } +// SwInterfaceSetRxPlacement represents VPP binary API message 'sw_interface_set_rx_placement': +// +// "sw_interface_set_rx_placement", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "queue_id" +// ], +// [ +// "u32", +// "worker_id" +// ], +// [ +// "u8", +// "is_main" +// ], +// { +// "crc": "0x4ef4377d" +// } +// +type SwInterfaceSetRxPlacement struct { + SwIfIndex uint32 + QueueID uint32 + WorkerID uint32 + IsMain uint8 +} + +func (*SwInterfaceSetRxPlacement) GetMessageName() string { + return "sw_interface_set_rx_placement" +} +func (*SwInterfaceSetRxPlacement) GetCrcString() string { + return "4ef4377d" +} +func (*SwInterfaceSetRxPlacement) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// SwInterfaceSetRxPlacementReply represents VPP binary API message 'sw_interface_set_rx_placement_reply': +// +// "sw_interface_set_rx_placement_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceSetRxPlacementReply struct { + Retval int32 +} + +func (*SwInterfaceSetRxPlacementReply) GetMessageName() string { + return "sw_interface_set_rx_placement_reply" +} +func (*SwInterfaceSetRxPlacementReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceSetRxPlacementReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// SwInterfaceRxPlacementDump represents VPP binary API message 'sw_interface_rx_placement_dump': +// +// "sw_interface_rx_placement_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } +// +type SwInterfaceRxPlacementDump struct { + SwIfIndex uint32 +} + +func (*SwInterfaceRxPlacementDump) GetMessageName() string { + return "sw_interface_rx_placement_dump" +} +func (*SwInterfaceRxPlacementDump) GetCrcString() string { + return "529cb13f" +} +func (*SwInterfaceRxPlacementDump) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// SwInterfaceRxPlacementDetails represents VPP binary API message 'sw_interface_rx_placement_details': +// +// "sw_interface_rx_placement_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "queue_id" +// ], +// [ +// "u32", +// "worker_id" +// ], +// [ +// "u8", +// "mode" +// ], +// { +// "crc": "0x0e9e33f4" +// } +// +type SwInterfaceRxPlacementDetails struct { + SwIfIndex uint32 + QueueID uint32 + WorkerID uint32 + Mode uint8 +} + +func (*SwInterfaceRxPlacementDetails) GetMessageName() string { + return "sw_interface_rx_placement_details" +} +func (*SwInterfaceRxPlacementDetails) GetCrcString() string { + return "0e9e33f4" +} +func (*SwInterfaceRxPlacementDetails) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// InterfaceNameRenumber represents VPP binary API message 'interface_name_renumber': +// +// "interface_name_renumber", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "new_show_dev_instance" +// ], +// { +// "crc": "0x39194269" +// } // type InterfaceNameRenumber struct { SwIfIndex uint32 @@ -1573,24 +1946,24 @@ func (*InterfaceNameRenumber) GetMessageType() api.MessageType { return api.RequestMessage } -// InterfaceNameRenumberReply represents the VPP binary API message 'interface_name_renumber_reply'. -// -// "interface_name_renumber_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// InterfaceNameRenumberReply represents VPP binary API message 'interface_name_renumber_reply': +// +// "interface_name_renumber_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type InterfaceNameRenumberReply struct { Retval int32 @@ -1606,72 +1979,72 @@ func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CreateSubif represents the VPP binary API message 'create_subif'. -// -// "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": "0x86cfe408" -// } +// CreateSubif represents VPP binary API message 'create_subif': +// +// "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": "0x86cfe408" +// } // type CreateSubif struct { SwIfIndex uint32 @@ -1698,28 +2071,28 @@ func (*CreateSubif) GetMessageType() api.MessageType { return api.RequestMessage } -// CreateSubifReply represents the VPP binary API message 'create_subif_reply'. -// -// "create_subif_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0xfda5941f" -// } +// CreateSubifReply represents VPP binary API message 'create_subif_reply': +// +// "create_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type CreateSubifReply struct { Retval int32 @@ -1736,32 +2109,32 @@ func (*CreateSubifReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CreateVlanSubif represents the VPP binary API message 'create_vlan_subif'. -// -// "create_vlan_subif", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "vlan_id" -// ], -// { -// "crc": "0x70cadeda" -// } +// CreateVlanSubif represents VPP binary API message 'create_vlan_subif': +// +// "create_vlan_subif", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "vlan_id" +// ], +// { +// "crc": "0x70cadeda" +// } // type CreateVlanSubif struct { SwIfIndex uint32 @@ -1778,28 +2151,28 @@ func (*CreateVlanSubif) GetMessageType() api.MessageType { return api.RequestMessage } -// CreateVlanSubifReply represents the VPP binary API message 'create_vlan_subif_reply'. -// -// "create_vlan_subif_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0xfda5941f" -// } +// CreateVlanSubifReply represents VPP binary API message 'create_vlan_subif_reply': +// +// "create_vlan_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type CreateVlanSubifReply struct { Retval int32 @@ -1816,28 +2189,28 @@ func (*CreateVlanSubifReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// DeleteSubif represents the VPP binary API message 'delete_subif'. -// -// "delete_subif", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0x529cb13f" -// } +// DeleteSubif represents VPP binary API message 'delete_subif': +// +// "delete_subif", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type DeleteSubif struct { SwIfIndex uint32 @@ -1853,24 +2226,24 @@ func (*DeleteSubif) GetMessageType() api.MessageType { return api.RequestMessage } -// DeleteSubifReply represents the VPP binary API message 'delete_subif_reply'. -// -// "delete_subif_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// DeleteSubifReply represents VPP binary API message 'delete_subif_reply': +// +// "delete_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type DeleteSubifReply struct { Retval int32 @@ -1886,29 +2259,29 @@ func (*DeleteSubifReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CreateLoopback represents the VPP binary API message 'create_loopback'. -// -// "create_loopback", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "mac_address", -// 6 -// ], -// { -// "crc": "0x3b54129c" -// } +// CreateLoopback represents VPP binary API message 'create_loopback': +// +// "create_loopback", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// { +// "crc": "0x3b54129c" +// } // type CreateLoopback struct { MacAddress []byte `struc:"[6]byte"` @@ -1924,28 +2297,28 @@ func (*CreateLoopback) GetMessageType() api.MessageType { return api.RequestMessage } -// CreateLoopbackReply represents the VPP binary API message 'create_loopback_reply'. -// -// "create_loopback_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0xfda5941f" -// } +// CreateLoopbackReply represents VPP binary API message 'create_loopback_reply': +// +// "create_loopback_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type CreateLoopbackReply struct { Retval int32 @@ -1962,37 +2335,37 @@ func (*CreateLoopbackReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CreateLoopbackInstance represents the VPP binary API message 'create_loopback_instance'. -// -// "create_loopback_instance", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "mac_address", -// 6 -// ], -// [ -// "u8", -// "is_specified" -// ], -// [ -// "u32", -// "user_instance" -// ], -// { -// "crc": "0x7bbd53b6" -// } +// CreateLoopbackInstance represents VPP binary API message 'create_loopback_instance': +// +// "create_loopback_instance", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "is_specified" +// ], +// [ +// "u32", +// "user_instance" +// ], +// { +// "crc": "0x7bbd53b6" +// } // type CreateLoopbackInstance struct { MacAddress []byte `struc:"[6]byte"` @@ -2010,28 +2383,28 @@ func (*CreateLoopbackInstance) GetMessageType() api.MessageType { return api.RequestMessage } -// CreateLoopbackInstanceReply represents the VPP binary API message 'create_loopback_instance_reply'. -// -// "create_loopback_instance_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0xfda5941f" -// } +// CreateLoopbackInstanceReply represents VPP binary API message 'create_loopback_instance_reply': +// +// "create_loopback_instance_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type CreateLoopbackInstanceReply struct { Retval int32 @@ -2048,28 +2421,28 @@ func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// DeleteLoopback represents the VPP binary API message 'delete_loopback'. -// -// "delete_loopback", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0x529cb13f" -// } +// DeleteLoopback represents VPP binary API message 'delete_loopback': +// +// "delete_loopback", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type DeleteLoopback struct { SwIfIndex uint32 @@ -2085,24 +2458,24 @@ func (*DeleteLoopback) GetMessageType() api.MessageType { return api.RequestMessage } -// DeleteLoopbackReply represents the VPP binary API message 'delete_loopback_reply'. -// -// "delete_loopback_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// DeleteLoopbackReply represents VPP binary API message 'delete_loopback_reply': +// +// "delete_loopback_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type DeleteLoopbackReply struct { Retval int32 @@ -2118,32 +2491,32 @@ func (*DeleteLoopbackReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CollectDetailedInterfaceStats represents the VPP binary API message 'collect_detailed_interface_stats'. -// -// "collect_detailed_interface_stats", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "enable_disable" -// ], -// { -// "crc": "0x69d24598" -// } +// CollectDetailedInterfaceStats represents VPP binary API message 'collect_detailed_interface_stats': +// +// "collect_detailed_interface_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "enable_disable" +// ], +// { +// "crc": "0x69d24598" +// } // type CollectDetailedInterfaceStats struct { SwIfIndex uint32 @@ -2160,24 +2533,24 @@ func (*CollectDetailedInterfaceStats) GetMessageType() api.MessageType { return api.RequestMessage } -// CollectDetailedInterfaceStatsReply represents the VPP binary API message 'collect_detailed_interface_stats_reply'. -// -// "collect_detailed_interface_stats_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// CollectDetailedInterfaceStatsReply represents VPP binary API message 'collect_detailed_interface_stats_reply': +// +// "collect_detailed_interface_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type CollectDetailedInterfaceStatsReply struct { Retval int32 @@ -2193,33 +2566,6 @@ func (*CollectDetailedInterfaceStatsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -/* Services */ - -type Services interface { - DumpSwInterface(*SwInterfaceDump) (*SwInterfaceDetails, error) - CollectDetailedInterfaceStats(*CollectDetailedInterfaceStats) (*CollectDetailedInterfaceStatsReply, error) - CreateLoopback(*CreateLoopback) (*CreateLoopbackReply, error) - CreateLoopbackInstance(*CreateLoopbackInstance) (*CreateLoopbackInstanceReply, error) - CreateSubif(*CreateSubif) (*CreateSubifReply, error) - CreateVlanSubif(*CreateVlanSubif) (*CreateVlanSubifReply, error) - DeleteLoopback(*DeleteLoopback) (*DeleteLoopbackReply, error) - DeleteSubif(*DeleteSubif) (*DeleteSubifReply, error) - HwInterfaceSetMtu(*HwInterfaceSetMtu) (*HwInterfaceSetMtuReply, error) - InterfaceNameRenumber(*InterfaceNameRenumber) (*InterfaceNameRenumberReply, error) - SwInterfaceAddDelAddress(*SwInterfaceAddDelAddress) (*SwInterfaceAddDelAddressReply, error) - SwInterfaceClearStats(*SwInterfaceClearStats) (*SwInterfaceClearStatsReply, error) - SwInterfaceGetMacAddress(*SwInterfaceGetMacAddress) (*SwInterfaceGetMacAddressReply, error) - SwInterfaceGetTable(*SwInterfaceGetTable) (*SwInterfaceGetTableReply, error) - SwInterfaceSetFlags(*SwInterfaceSetFlags) (*SwInterfaceSetFlagsReply, error) - SwInterfaceSetMacAddress(*SwInterfaceSetMacAddress) (*SwInterfaceSetMacAddressReply, error) - SwInterfaceSetMtu(*SwInterfaceSetMtu) (*SwInterfaceSetMtuReply, error) - SwInterfaceSetRxMode(*SwInterfaceSetRxMode) (*SwInterfaceSetRxModeReply, error) - SwInterfaceSetTable(*SwInterfaceSetTable) (*SwInterfaceSetTableReply, error) - SwInterfaceSetUnnumbered(*SwInterfaceSetUnnumbered) (*SwInterfaceSetUnnumberedReply, error) - SwInterfaceTagAddDel(*SwInterfaceTagAddDel) (*SwInterfaceTagAddDelReply, error) - WantInterfaceEvents(*WantInterfaceEvents) (*WantInterfaceEventsReply, error) -} - func init() { api.RegisterMessage((*SwInterfaceSetFlags)(nil), "interface.SwInterfaceSetFlags") api.RegisterMessage((*SwInterfaceSetFlagsReply)(nil), "interface.SwInterfaceSetFlagsReply") @@ -2227,6 +2573,8 @@ func init() { api.RegisterMessage((*HwInterfaceSetMtuReply)(nil), "interface.HwInterfaceSetMtuReply") api.RegisterMessage((*SwInterfaceSetMtu)(nil), "interface.SwInterfaceSetMtu") api.RegisterMessage((*SwInterfaceSetMtuReply)(nil), "interface.SwInterfaceSetMtuReply") + api.RegisterMessage((*SwInterfaceSetIPDirectedBroadcast)(nil), "interface.SwInterfaceSetIPDirectedBroadcast") + api.RegisterMessage((*SwInterfaceSetIPDirectedBroadcastReply)(nil), "interface.SwInterfaceSetIPDirectedBroadcastReply") api.RegisterMessage((*SwInterfaceEvent)(nil), "interface.SwInterfaceEvent") api.RegisterMessage((*WantInterfaceEvents)(nil), "interface.WantInterfaceEvents") api.RegisterMessage((*WantInterfaceEventsReply)(nil), "interface.WantInterfaceEventsReply") @@ -2250,6 +2598,10 @@ func init() { api.RegisterMessage((*SwInterfaceGetMacAddressReply)(nil), "interface.SwInterfaceGetMacAddressReply") api.RegisterMessage((*SwInterfaceSetRxMode)(nil), "interface.SwInterfaceSetRxMode") api.RegisterMessage((*SwInterfaceSetRxModeReply)(nil), "interface.SwInterfaceSetRxModeReply") + api.RegisterMessage((*SwInterfaceSetRxPlacement)(nil), "interface.SwInterfaceSetRxPlacement") + api.RegisterMessage((*SwInterfaceSetRxPlacementReply)(nil), "interface.SwInterfaceSetRxPlacementReply") + api.RegisterMessage((*SwInterfaceRxPlacementDump)(nil), "interface.SwInterfaceRxPlacementDump") + api.RegisterMessage((*SwInterfaceRxPlacementDetails)(nil), "interface.SwInterfaceRxPlacementDetails") api.RegisterMessage((*InterfaceNameRenumber)(nil), "interface.InterfaceNameRenumber") api.RegisterMessage((*InterfaceNameRenumberReply)(nil), "interface.InterfaceNameRenumberReply") api.RegisterMessage((*CreateSubif)(nil), "interface.CreateSubif") -- cgit 1.2.3-korg