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/ip/ip.ba.go | 6277 ++++++++++++++++++++++-------------------- 1 file changed, 3348 insertions(+), 2929 deletions(-) (limited to 'examples/bin_api/ip/ip.ba.go') diff --git a/examples/bin_api/ip/ip.ba.go b/examples/bin_api/ip/ip.ba.go index abbddb9..b4615b5 100644 --- a/examples/bin_api/ip/ip.ba.go +++ b/examples/bin_api/ip/ip.ba.go @@ -5,11 +5,12 @@ Package ip is a generated from VPP binary API module 'ip'. It contains following objects: - 87 messages - 8 types + 91 messages + 11 types + 2 aliases 1 enum 1 union - 42 services + 44 services */ package ip @@ -23,22 +24,229 @@ var _ = api.RegisterMessage var _ = struc.Pack var _ = bytes.NewBuffer +// Services represents VPP binary API services: +// +// "services": { +// "ip_container_proxy_dump": { +// "reply": "ip_container_proxy_details", +// "stream": true +// }, +// "ip_address_dump": { +// "reply": "ip_address_details", +// "stream": true +// }, +// "ip_source_and_port_range_check_add_del": { +// "reply": "ip_source_and_port_range_check_add_del_reply" +// }, +// "reset_fib": { +// "reply": "reset_fib_reply" +// }, +// "ip_probe_neighbor": { +// "reply": "ip_probe_neighbor_reply" +// }, +// "want_ip6_nd_events": { +// "reply": "want_ip6_nd_events_reply", +// "events": [ +// "ip6_nd_event" +// ] +// }, +// "ip_punt_police": { +// "reply": "ip_punt_police_reply" +// }, +// "ip6nd_proxy_add_del": { +// "reply": "ip6nd_proxy_add_del_reply" +// }, +// "set_arp_neighbor_limit": { +// "reply": "set_arp_neighbor_limit_reply" +// }, +// "ip_reassembly_enable_disable": { +// "reply": "ip_reassembly_enable_disable_reply" +// }, +// "ip6_fib_dump": { +// "reply": "ip6_fib_details", +// "stream": true +// }, +// "ip6nd_send_router_solicitation": { +// "reply": "ip6nd_send_router_solicitation_reply" +// }, +// "ip_source_check_interface_add_del": { +// "reply": "ip_source_check_interface_add_del_reply" +// }, +// "ip_table_add_del": { +// "reply": "ip_table_add_del_reply" +// }, +// "ip_neighbor_dump": { +// "reply": "ip_neighbor_details", +// "stream": true +// }, +// "ip_punt_redirect": { +// "reply": "ip_punt_redirect_reply" +// }, +// "sw_interface_ip6nd_ra_prefix": { +// "reply": "sw_interface_ip6nd_ra_prefix_reply" +// }, +// "ip_reassembly_set": { +// "reply": "ip_reassembly_set_reply" +// }, +// "ip6_mfib_dump": { +// "reply": "ip6_mfib_details", +// "stream": true +// }, +// "sw_interface_ip6nd_ra_config": { +// "reply": "sw_interface_ip6nd_ra_config_reply" +// }, +// "proxy_arp_dump": { +// "reply": "proxy_arp_details", +// "stream": true +// }, +// "sw_interface_ip6_enable_disable": { +// "reply": "sw_interface_ip6_enable_disable_reply" +// }, +// "ip_source_and_port_range_check_interface_add_del": { +// "reply": "ip_source_and_port_range_check_interface_add_del_reply" +// }, +// "mfib_signal_dump": { +// "reply": "mfib_signal_details", +// "stream": true +// }, +// "ip_punt_redirect_dump": { +// "reply": "ip_punt_redirect_details", +// "stream": true +// }, +// "ip_container_proxy_add_del": { +// "reply": "ip_container_proxy_add_del_reply" +// }, +// "ip_mfib_dump": { +// "reply": "ip_mfib_details", +// "stream": true +// }, +// "ip_unnumbered_dump": { +// "reply": "ip_unnumbered_details", +// "stream": true +// }, +// "ip_dump": { +// "reply": "ip_details", +// "stream": true +// }, +// "ip_neighbor_add_del": { +// "reply": "ip_neighbor_add_del_reply" +// }, +// "proxy_arp_intfc_enable_disable": { +// "reply": "proxy_arp_intfc_enable_disable_reply" +// }, +// "proxy_arp_add_del": { +// "reply": "proxy_arp_add_del_reply" +// }, +// "ip_add_del_route": { +// "reply": "ip_add_del_route_reply" +// }, +// "ip6nd_proxy_dump": { +// "reply": "ip6nd_proxy_details", +// "stream": true +// }, +// "want_ip6_ra_events": { +// "reply": "want_ip6_ra_events_reply", +// "events": [ +// "ip6_ra_event" +// ] +// }, +// "ip_fib_dump": { +// "reply": "ip_fib_details", +// "stream": true +// }, +// "ip_scan_neighbor_enable_disable": { +// "reply": "ip_scan_neighbor_enable_disable_reply" +// }, +// "ioam_enable": { +// "reply": "ioam_enable_reply" +// }, +// "ip_mroute_add_del": { +// "reply": "ip_mroute_add_del_reply" +// }, +// "proxy_arp_intfc_dump": { +// "reply": "proxy_arp_intfc_details", +// "stream": true +// }, +// "want_ip4_arp_events": { +// "reply": "want_ip4_arp_events_reply", +// "events": [ +// "ip4_arp_event" +// ] +// }, +// "ip_reassembly_get": { +// "reply": "ip_reassembly_get_reply" +// }, +// "set_ip_flow_hash": { +// "reply": "set_ip_flow_hash_reply" +// }, +// "ioam_disable": { +// "reply": "ioam_disable_reply" +// } +// }, +// +type Services interface { + DumpIP6Fib(*IP6FibDump) ([]*IP6FibDetails, error) + DumpIP6Mfib(*IP6MfibDump) ([]*IP6MfibDetails, error) + DumpIP6ndProxy(*IP6ndProxyDump) ([]*IP6ndProxyDetails, error) + DumpIPAddress(*IPAddressDump) ([]*IPAddressDetails, error) + DumpIPContainerProxy(*IPContainerProxyDump) ([]*IPContainerProxyDetails, error) + DumpIP(*IPDump) ([]*IPDetails, error) + DumpIPFib(*IPFibDump) ([]*IPFibDetails, error) + DumpIPMfib(*IPMfibDump) ([]*IPMfibDetails, error) + DumpIPNeighbor(*IPNeighborDump) ([]*IPNeighborDetails, error) + DumpIPPuntRedirect(*IPPuntRedirectDump) ([]*IPPuntRedirectDetails, error) + DumpIPUnnumbered(*IPUnnumberedDump) ([]*IPUnnumberedDetails, error) + DumpMfibSignal(*MfibSignalDump) ([]*MfibSignalDetails, error) + DumpProxyArp(*ProxyArpDump) ([]*ProxyArpDetails, error) + DumpProxyArpIntfc(*ProxyArpIntfcDump) ([]*ProxyArpIntfcDetails, error) + IoamDisable(*IoamDisable) (*IoamDisableReply, error) + IoamEnable(*IoamEnable) (*IoamEnableReply, error) + IP6ndProxyAddDel(*IP6ndProxyAddDel) (*IP6ndProxyAddDelReply, error) + IP6ndSendRouterSolicitation(*IP6ndSendRouterSolicitation) (*IP6ndSendRouterSolicitationReply, error) + IPAddDelRoute(*IPAddDelRoute) (*IPAddDelRouteReply, error) + IPContainerProxyAddDel(*IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error) + IPMrouteAddDel(*IPMrouteAddDel) (*IPMrouteAddDelReply, error) + IPNeighborAddDel(*IPNeighborAddDel) (*IPNeighborAddDelReply, error) + IPProbeNeighbor(*IPProbeNeighbor) (*IPProbeNeighborReply, error) + IPPuntPolice(*IPPuntPolice) (*IPPuntPoliceReply, error) + IPPuntRedirect(*IPPuntRedirect) (*IPPuntRedirectReply, error) + IPReassemblyEnableDisable(*IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error) + IPReassemblyGet(*IPReassemblyGet) (*IPReassemblyGetReply, error) + IPReassemblySet(*IPReassemblySet) (*IPReassemblySetReply, error) + IPScanNeighborEnableDisable(*IPScanNeighborEnableDisable) (*IPScanNeighborEnableDisableReply, error) + IPSourceAndPortRangeCheckAddDel(*IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error) + IPSourceAndPortRangeCheckInterfaceAddDel(*IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error) + IPSourceCheckInterfaceAddDel(*IPSourceCheckInterfaceAddDel) (*IPSourceCheckInterfaceAddDelReply, error) + IPTableAddDel(*IPTableAddDel) (*IPTableAddDelReply, error) + ProxyArpAddDel(*ProxyArpAddDel) (*ProxyArpAddDelReply, error) + ProxyArpIntfcEnableDisable(*ProxyArpIntfcEnableDisable) (*ProxyArpIntfcEnableDisableReply, error) + ResetFib(*ResetFib) (*ResetFibReply, error) + SetArpNeighborLimit(*SetArpNeighborLimit) (*SetArpNeighborLimitReply, error) + SetIPFlowHash(*SetIPFlowHash) (*SetIPFlowHashReply, error) + SwInterfaceIP6EnableDisable(*SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error) + SwInterfaceIP6ndRaConfig(*SwInterfaceIP6ndRaConfig) (*SwInterfaceIP6ndRaConfigReply, error) + SwInterfaceIP6ndRaPrefix(*SwInterfaceIP6ndRaPrefix) (*SwInterfaceIP6ndRaPrefixReply, error) + WantIP4ArpEvents(*WantIP4ArpEvents) (*WantIP4ArpEventsReply, error) + WantIP6NdEvents(*WantIP6NdEvents) (*WantIP6NdEventsReply, error) + WantIP6RaEvents(*WantIP6RaEvents) (*WantIP6RaEventsReply, error) +} + /* Enums */ -// AddressFamily represents the VPP binary API enum 'address_family'. -// -// "address_family", -// [ -// "ADDRESS_IP4", -// 0 -// ], -// [ -// "ADDRESS_IP6", -// 1 -// ], -// { -// "enumtype": "u32" -// } +// AddressFamily represents VPP binary API enum 'address_family': +// +// "address_family", +// [ +// "ADDRESS_IP4", +// 0 +// ], +// [ +// "ADDRESS_IP6", +// 1 +// ], +// { +// "enumtype": "u32" +// } // type AddressFamily uint32 @@ -47,68 +255,32 @@ const ( ADDRESS_IP6 AddressFamily = 1 ) -/* Types */ +/* Aliases */ -// IP4Address represents the VPP binary API type 'ip4_address'. +// IP4Address represents VPP binary API alias 'ip4_address': // -// "ip4_address", -// [ -// "u8", -// "address", -// 4 -// ], -// { -// "crc": "0xfc4baa28" -// } +// "ip4_address": { +// "length": 4, +// "type": "u8" +// } // -type IP4Address struct { - Address []byte `struc:"[4]byte"` -} +type IP4Address [4]uint8 -func (*IP4Address) GetTypeName() string { - return "ip4_address" -} -func (*IP4Address) GetCrcString() string { - return "fc4baa28" -} - -// IP6Address represents the VPP binary API type 'ip6_address'. +// IP6Address represents VPP binary API alias 'ip6_address': // -// "ip6_address", -// [ -// "u8", -// "address", -// 16 -// ], -// { -// "crc": "0xad99ccc2" -// } +// "ip6_address": { +// "length": 16, +// "type": "u8" +// }, // -type IP6Address struct { - Address []byte `struc:"[16]byte"` -} +type IP6Address [16]uint8 -func (*IP6Address) GetTypeName() string { - return "ip6_address" -} -func (*IP6Address) GetCrcString() string { - return "ad99ccc2" -} +/* Types */ -// Address represents the VPP binary API type 'address'. +// Address represents VPP binary API type 'address': // -// "address", -// [ -// "vl_api_address_family_t", -// "af" -// ], -// [ -// "vl_api_address_union_t", -// "un" -// ], -// { -// "crc": "0x09f11671" -// } +// "address", +// 4 // type Address struct { Af AddressFamily @@ -122,20 +294,20 @@ func (*Address) GetCrcString() string { return "09f11671" } -// Prefix represents the VPP binary API type 'prefix'. +// Prefix represents VPP binary API type 'prefix': // -// "prefix", -// [ -// "vl_api_address_t", -// "address" -// ], -// [ -// "u8", -// "address_length" -// ], -// { -// "crc": "0x0403aebc" -// } +// "prefix", +// [ +// "vl_api_address_t", +// "address" +// ], +// [ +// "u8", +// "address_length" +// ], +// { +// "crc": "0x0403aebc" +// } // type Prefix struct { Address Address @@ -149,28 +321,119 @@ func (*Prefix) GetCrcString() string { return "0403aebc" } -// FibMplsLabel represents the VPP binary API type 'fib_mpls_label'. -// -// "fib_mpls_label", -// [ -// "u8", -// "is_uniform" -// ], -// [ -// "u32", -// "label" -// ], -// [ -// "u8", -// "ttl" -// ], -// [ -// "u8", -// "exp" -// ], -// { -// "crc": "0xc93bf35c" -// } +// Mprefix represents VPP binary API type 'mprefix': +// +// "mprefix", +// [ +// "vl_api_address_family_t", +// "af" +// ], +// [ +// "u16", +// "grp_address_length" +// ], +// [ +// "vl_api_address_union_t", +// "grp_address" +// ], +// [ +// "vl_api_address_union_t", +// "src_address" +// ], +// { +// "crc": "0x1c4cba05" +// } +// +type Mprefix struct { + Af AddressFamily + GrpAddressLength uint16 + GrpAddress AddressUnion + SrcAddress AddressUnion +} + +func (*Mprefix) GetTypeName() string { + return "mprefix" +} +func (*Mprefix) GetCrcString() string { + return "1c4cba05" +} + +// IP6Prefix represents VPP binary API type 'ip6_prefix': +// +// "ip6_prefix", +// [ +// "vl_api_ip6_address_t", +// "prefix" +// ], +// [ +// "u8", +// "len" +// ], +// { +// "crc": "0x779fd64f" +// } +// +type IP6Prefix struct { + Prefix IP6Address + Len uint8 +} + +func (*IP6Prefix) GetTypeName() string { + return "ip6_prefix" +} +func (*IP6Prefix) GetCrcString() string { + return "779fd64f" +} + +// IP4Prefix represents VPP binary API type 'ip4_prefix': +// +// "ip4_prefix", +// [ +// "vl_api_ip4_address_t", +// "prefix" +// ], +// [ +// "u8", +// "len" +// ], +// { +// "crc": "0xea8dc11d" +// } +// +type IP4Prefix struct { + Prefix IP4Address + Len uint8 +} + +func (*IP4Prefix) GetTypeName() string { + return "ip4_prefix" +} +func (*IP4Prefix) GetCrcString() string { + return "ea8dc11d" +} + +// FibMplsLabel represents VPP binary API type 'fib_mpls_label': +// +// "fib_mpls_label", +// [ +// "u8", +// "is_uniform" +// ], +// [ +// "u32", +// "label" +// ], +// [ +// "u8", +// "ttl" +// ], +// [ +// "u8", +// "exp" +// ], +// { +// "crc": "0xc93bf35c" +// } // type FibMplsLabel struct { IsUniform uint8 @@ -186,94 +449,94 @@ func (*FibMplsLabel) GetCrcString() string { return "c93bf35c" } -// FibPath represents the VPP binary API type 'fib_path'. -// -// "fib_path", -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u8", -// "weight" -// ], -// [ -// "u8", -// "preference" -// ], -// [ -// "u8", -// "is_local" -// ], -// [ -// "u8", -// "is_drop" -// ], -// [ -// "u8", -// "is_udp_encap" -// ], -// [ -// "u8", -// "is_unreach" -// ], -// [ -// "u8", -// "is_prohibit" -// ], -// [ -// "u8", -// "is_resolve_host" -// ], -// [ -// "u8", -// "is_resolve_attached" -// ], -// [ -// "u8", -// "is_dvr" -// ], -// [ -// "u8", -// "is_source_lookup" -// ], -// [ -// "u8", -// "afi" -// ], -// [ -// "u8", -// "next_hop", -// 16 -// ], -// [ -// "u32", -// "next_hop_id" -// ], -// [ -// "u32", -// "rpf_id" -// ], -// [ -// "u32", -// "via_label" -// ], -// [ -// "u8", -// "n_labels" -// ], -// [ -// "vl_api_fib_mpls_label_t", -// "label_stack", -// 16 -// ], -// { -// "crc": "0xabe483ef" -// } +// FibPath represents VPP binary API type 'fib_path': +// +// "fib_path", +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "weight" +// ], +// [ +// "u8", +// "preference" +// ], +// [ +// "u8", +// "is_local" +// ], +// [ +// "u8", +// "is_drop" +// ], +// [ +// "u8", +// "is_udp_encap" +// ], +// [ +// "u8", +// "is_unreach" +// ], +// [ +// "u8", +// "is_prohibit" +// ], +// [ +// "u8", +// "is_resolve_host" +// ], +// [ +// "u8", +// "is_resolve_attached" +// ], +// [ +// "u8", +// "is_dvr" +// ], +// [ +// "u8", +// "is_source_lookup" +// ], +// [ +// "u8", +// "afi" +// ], +// [ +// "u8", +// "next_hop", +// 16 +// ], +// [ +// "u32", +// "next_hop_id" +// ], +// [ +// "u32", +// "rpf_id" +// ], +// [ +// "u32", +// "via_label" +// ], +// [ +// "u8", +// "n_labels" +// ], +// [ +// "vl_api_fib_mpls_label_t", +// "label_stack", +// 16 +// ], +// { +// "crc": "0xabe483ef" +// } // type FibPath struct { SwIfIndex uint32 @@ -305,33 +568,81 @@ func (*FibPath) GetCrcString() string { return "abe483ef" } -// IP6RaPrefixInfo represents the VPP binary API type 'ip6_ra_prefix_info'. -// -// "ip6_ra_prefix_info", -// [ -// "u8", -// "dst_address", -// 16 -// ], -// [ -// "u8", -// "dst_address_length" -// ], -// [ -// "u8", -// "flags" -// ], -// [ -// "u32", -// "valid_time" -// ], -// [ -// "u32", -// "preferred_time" -// ], -// { -// "crc": "0x83d7c6e5" -// } +// MacAddress represents VPP binary API type 'mac_address': +// +// "mac_address", +// 6 +// +type MacAddress struct { + Bytes []byte `struc:"[6]byte"` +} + +func (*MacAddress) GetTypeName() string { + return "mac_address" +} +func (*MacAddress) GetCrcString() string { + return "efdbdddc" +} + +// PuntRedirect represents VPP binary API type 'punt_redirect': +// +// "punt_redirect", +// [ +// "u32", +// "rx_sw_if_index" +// ], +// [ +// "u32", +// "tx_sw_if_index" +// ], +// [ +// "vl_api_address_t", +// "nh" +// ], +// { +// "crc": "0x3e7a801f" +// } +// +type PuntRedirect struct { + RxSwIfIndex uint32 + TxSwIfIndex uint32 + Nh Address +} + +func (*PuntRedirect) GetTypeName() string { + return "punt_redirect" +} +func (*PuntRedirect) GetCrcString() string { + return "3e7a801f" +} + +// IP6RaPrefixInfo represents VPP binary API type 'ip6_ra_prefix_info': +// +// "ip6_ra_prefix_info", +// [ +// "u8", +// "dst_address", +// 16 +// ], +// [ +// "u8", +// "dst_address_length" +// ], +// [ +// "u8", +// "flags" +// ], +// [ +// "u32", +// "valid_time" +// ], +// [ +// "u32", +// "preferred_time" +// ], +// { +// "crc": "0x83d7c6e5" +// } // type IP6RaPrefixInfo struct { DstAddress []byte `struc:"[16]byte"` @@ -348,26 +659,26 @@ func (*IP6RaPrefixInfo) GetCrcString() string { return "83d7c6e5" } -// ProxyArp represents the VPP binary API type 'proxy_arp'. -// -// "proxy_arp", -// [ -// "u32", -// "vrf_id" -// ], -// [ -// "u8", -// "low_address", -// 4 -// ], -// [ -// "u8", -// "hi_address", -// 4 -// ], -// { -// "crc": "0x6d88106e" -// } +// ProxyArp represents VPP binary API type 'proxy_arp': +// +// "proxy_arp", +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u8", +// "low_address", +// 4 +// ], +// [ +// "u8", +// "hi_address", +// 4 +// ], +// { +// "crc": "0x6d88106e" +// } // type ProxyArp struct { VrfID uint32 @@ -384,20 +695,20 @@ func (*ProxyArp) GetCrcString() string { /* Unions */ -// AddressUnion represents the VPP binary API union 'address_union'. -// -// "address_union", -// [ -// "vl_api_ip4_address_t", -// "ip4" -// ], -// [ -// "vl_api_ip6_address_t", -// "ip6" -// ], -// { -// "crc": "0xd68a2fb4" -// } +// AddressUnion represents VPP binary API union 'address_union': +// +// "address_union", +// [ +// "vl_api_ip4_address_t", +// "ip4" +// ], +// [ +// "vl_api_ip6_address_t", +// "ip6" +// ], +// { +// "crc": "0xd68a2fb4" +// } // type AddressUnion struct { Union_data [16]byte @@ -438,41 +749,41 @@ func (u *AddressUnion) GetIP6() (a IP6Address) { /* Messages */ -// IPTableAddDel represents the VPP binary API message 'ip_table_add_del'. -// -// "ip_table_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u8", -// "name", -// 64 -// ], -// { -// "crc": "0x0240c89d" -// } +// IPTableAddDel represents VPP binary API message 'ip_table_add_del': +// +// "ip_table_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "name", +// 64 +// ], +// { +// "crc": "0x0240c89d" +// } // type IPTableAddDel struct { TableID uint32 @@ -491,24 +802,24 @@ func (*IPTableAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPTableAddDelReply represents the VPP binary API message 'ip_table_add_del_reply'. -// -// "ip_table_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply': +// +// "ip_table_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPTableAddDelReply struct { Retval int32 @@ -524,24 +835,24 @@ func (*IPTableAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPFibDump represents the VPP binary API message 'ip_fib_dump'. -// -// "ip_fib_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } +// IPFibDump represents VPP binary API message 'ip_fib_dump': +// +// "ip_fib_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type IPFibDump struct{} @@ -555,48 +866,52 @@ func (*IPFibDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IPFibDetails represents the VPP binary API message 'ip_fib_details'. -// -// "ip_fib_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u8", -// "table_name", -// 64 -// ], -// [ -// "u8", -// "address_length" -// ], -// [ -// "u8", -// "address", -// 4 -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "vl_api_fib_path_t", -// "path", -// 0, -// "count" -// ], -// { -// "crc": "0x99dfd73b" -// } +// IPFibDetails represents VPP binary API message 'ip_fib_details': +// +// "ip_fib_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "table_name", +// 64 +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "address", +// 4 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "u32", +// "stats_index" +// ], +// [ +// "vl_api_fib_path_t", +// "path", +// 0, +// "count" +// ], +// { +// "crc": "0xf6a2fab3" +// } // type IPFibDetails struct { TableID uint32 @@ -604,6 +919,7 @@ type IPFibDetails struct { AddressLength uint8 Address []byte `struc:"[4]byte"` Count uint32 `struc:"sizeof=Path"` + StatsIndex uint32 Path []FibPath } @@ -611,30 +927,30 @@ func (*IPFibDetails) GetMessageName() string { return "ip_fib_details" } func (*IPFibDetails) GetCrcString() string { - return "99dfd73b" + return "f6a2fab3" } func (*IPFibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6FibDump represents the VPP binary API message 'ip6_fib_dump'. -// -// "ip6_fib_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } +// IP6FibDump represents VPP binary API message 'ip6_fib_dump': +// +// "ip6_fib_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type IP6FibDump struct{} @@ -648,48 +964,52 @@ func (*IP6FibDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IP6FibDetails represents the VPP binary API message 'ip6_fib_details'. -// -// "ip6_fib_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u8", -// "table_name", -// 64 -// ], -// [ -// "u8", -// "address_length" -// ], -// [ -// "u8", -// "address", -// 16 -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "vl_api_fib_path_t", -// "path", -// 0, -// "count" -// ], -// { -// "crc": "0xabd0060e" -// } +// IP6FibDetails represents VPP binary API message 'ip6_fib_details': +// +// "ip6_fib_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "table_name", +// 64 +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "u32", +// "stats_index" +// ], +// [ +// "vl_api_fib_path_t", +// "path", +// 0, +// "count" +// ], +// { +// "crc": "0xef11e94d" +// } // type IP6FibDetails struct { TableID uint32 @@ -697,6 +1017,7 @@ type IP6FibDetails struct { AddressLength uint8 Address []byte `struc:"[16]byte"` Count uint32 `struc:"sizeof=Path"` + StatsIndex uint32 Path []FibPath } @@ -704,38 +1025,38 @@ func (*IP6FibDetails) GetMessageName() string { return "ip6_fib_details" } func (*IP6FibDetails) GetCrcString() string { - return "abd0060e" + return "ef11e94d" } func (*IP6FibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPNeighborDump represents the VPP binary API message 'ip_neighbor_dump'. -// -// "ip_neighbor_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// { -// "crc": "0x6b7bcd0a" -// } +// IPNeighborDump represents VPP binary API message 'ip_neighbor_dump': +// +// "ip_neighbor_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x6b7bcd0a" +// } // type IPNeighborDump struct { SwIfIndex uint32 @@ -752,45 +1073,50 @@ func (*IPNeighborDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IPNeighborDetails represents the VPP binary API message 'ip_neighbor_details'. -// -// "ip_neighbor_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_static" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "mac_address", -// 6 -// ], -// [ -// "u8", -// "ip_address", -// 16 -// ], -// { -// "crc": "0x85e32a72" -// } +// IPNeighborDetails represents VPP binary API message 'ip_neighbor_details': +// +// "ip_neighbor_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "stats_index" +// ], +// [ +// "u8", +// "is_static" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "ip_address", +// 16 +// ], +// { +// "crc": "0xc7001770" +// } // type IPNeighborDetails struct { SwIfIndex uint32 + StatsIndex uint32 IsStatic uint8 IsIPv6 uint8 MacAddress []byte `struc:"[6]byte"` @@ -801,60 +1127,60 @@ func (*IPNeighborDetails) GetMessageName() string { return "ip_neighbor_details" } func (*IPNeighborDetails) GetCrcString() string { - return "85e32a72" + return "c7001770" } func (*IPNeighborDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPNeighborAddDel represents the VPP binary API message 'ip_neighbor_add_del'. -// -// "ip_neighbor_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "is_static" -// ], -// [ -// "u8", -// "is_no_adj_fib" -// ], -// [ -// "u8", -// "mac_address", -// 6 -// ], -// [ -// "u8", -// "dst_address", -// 16 -// ], -// { -// "crc": "0x4711eb25" -// } +// IPNeighborAddDel represents VPP binary API message 'ip_neighbor_add_del': +// +// "ip_neighbor_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "is_static" +// ], +// [ +// "u8", +// "is_no_adj_fib" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "dst_address", +// 16 +// ], +// { +// "crc": "0x4711eb25" +// } // type IPNeighborAddDel struct { SwIfIndex uint32 @@ -876,129 +1202,139 @@ func (*IPNeighborAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPNeighborAddDelReply represents the VPP binary API message 'ip_neighbor_add_del_reply'. -// -// "ip_neighbor_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPNeighborAddDelReply represents VPP binary API message 'ip_neighbor_add_del_reply': +// +// "ip_neighbor_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "stats_index" +// ], +// { +// "crc": "0x1992deab" +// } // type IPNeighborAddDelReply struct { - Retval int32 + Retval int32 + StatsIndex uint32 } func (*IPNeighborAddDelReply) GetMessageName() string { return "ip_neighbor_add_del_reply" } func (*IPNeighborAddDelReply) GetCrcString() string { - return "e8d4e804" + return "1992deab" } func (*IPNeighborAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SetIPFlowHash represents the VPP binary API message 'set_ip_flow_hash'. -// -// "set_ip_flow_hash", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "vrf_id" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "src" -// ], -// [ -// "u8", -// "dst" -// ], -// [ -// "u8", -// "sport" -// ], -// [ -// "u8", -// "dport" -// ], -// [ -// "u8", -// "proto" -// ], -// [ -// "u8", -// "reverse" -// ], -// { -// "crc": "0x32ebf737" -// } +// SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash': +// +// "set_ip_flow_hash", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "src" +// ], +// [ +// "u8", +// "dst" +// ], +// [ +// "u8", +// "sport" +// ], +// [ +// "u8", +// "dport" +// ], +// [ +// "u8", +// "proto" +// ], +// [ +// "u8", +// "reverse" +// ], +// [ +// "u8", +// "symmetric" +// ], +// { +// "crc": "0xa9084bfb" +// } // type SetIPFlowHash struct { - VrfID uint32 - IsIPv6 uint8 - Src uint8 - Dst uint8 - Sport uint8 - Dport uint8 - Proto uint8 - Reverse uint8 + VrfID uint32 + IsIPv6 uint8 + Src uint8 + Dst uint8 + Sport uint8 + Dport uint8 + Proto uint8 + Reverse uint8 + Symmetric uint8 } func (*SetIPFlowHash) GetMessageName() string { return "set_ip_flow_hash" } func (*SetIPFlowHash) GetCrcString() string { - return "32ebf737" + return "a9084bfb" } func (*SetIPFlowHash) GetMessageType() api.MessageType { return api.RequestMessage } -// SetIPFlowHashReply represents the VPP binary API message 'set_ip_flow_hash_reply'. -// -// "set_ip_flow_hash_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply': +// +// "set_ip_flow_hash_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SetIPFlowHashReply struct { Retval int32 @@ -1014,80 +1350,80 @@ func (*SetIPFlowHashReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceIP6ndRaConfig represents the VPP binary API message 'sw_interface_ip6nd_ra_config'. -// -// "sw_interface_ip6nd_ra_config", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "suppress" -// ], -// [ -// "u8", -// "managed" -// ], -// [ -// "u8", -// "other" -// ], -// [ -// "u8", -// "ll_option" -// ], -// [ -// "u8", -// "send_unicast" -// ], -// [ -// "u8", -// "cease" -// ], -// [ -// "u8", -// "is_no" -// ], -// [ -// "u8", -// "default_router" -// ], -// [ -// "u32", -// "max_interval" -// ], -// [ -// "u32", -// "min_interval" -// ], -// [ -// "u32", -// "lifetime" -// ], -// [ -// "u32", -// "initial_count" -// ], -// [ -// "u32", -// "initial_interval" -// ], -// { -// "crc": "0xc3f02daa" -// } +// SwInterfaceIP6ndRaConfig represents VPP binary API message 'sw_interface_ip6nd_ra_config': +// +// "sw_interface_ip6nd_ra_config", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "suppress" +// ], +// [ +// "u8", +// "managed" +// ], +// [ +// "u8", +// "other" +// ], +// [ +// "u8", +// "ll_option" +// ], +// [ +// "u8", +// "send_unicast" +// ], +// [ +// "u8", +// "cease" +// ], +// [ +// "u8", +// "is_no" +// ], +// [ +// "u8", +// "default_router" +// ], +// [ +// "u32", +// "max_interval" +// ], +// [ +// "u32", +// "min_interval" +// ], +// [ +// "u32", +// "lifetime" +// ], +// [ +// "u32", +// "initial_count" +// ], +// [ +// "u32", +// "initial_interval" +// ], +// { +// "crc": "0xc3f02daa" +// } // type SwInterfaceIP6ndRaConfig struct { SwIfIndex uint32 @@ -1116,24 +1452,24 @@ func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceIP6ndRaConfigReply represents the VPP binary API message 'sw_interface_ip6nd_ra_config_reply'. -// -// "sw_interface_ip6nd_ra_config_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceIP6ndRaConfigReply represents VPP binary API message 'sw_interface_ip6nd_ra_config_reply': +// +// "sw_interface_ip6nd_ra_config_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceIP6ndRaConfigReply struct { Retval int32 @@ -1149,69 +1485,69 @@ func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceIP6ndRaPrefix represents the VPP binary API message 'sw_interface_ip6nd_ra_prefix'. -// -// "sw_interface_ip6nd_ra_prefix", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "address", -// 16 -// ], -// [ -// "u8", -// "address_length" -// ], -// [ -// "u8", -// "use_default" -// ], -// [ -// "u8", -// "no_advertise" -// ], -// [ -// "u8", -// "off_link" -// ], -// [ -// "u8", -// "no_autoconfig" -// ], -// [ -// "u8", -// "no_onlink" -// ], -// [ -// "u8", -// "is_no" -// ], -// [ -// "u32", -// "val_lifetime" -// ], -// [ -// "u32", -// "pref_lifetime" -// ], -// { -// "crc": "0xca763c9a" -// } +// SwInterfaceIP6ndRaPrefix represents VPP binary API message 'sw_interface_ip6nd_ra_prefix': +// +// "sw_interface_ip6nd_ra_prefix", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "use_default" +// ], +// [ +// "u8", +// "no_advertise" +// ], +// [ +// "u8", +// "off_link" +// ], +// [ +// "u8", +// "no_autoconfig" +// ], +// [ +// "u8", +// "no_onlink" +// ], +// [ +// "u8", +// "is_no" +// ], +// [ +// "u32", +// "val_lifetime" +// ], +// [ +// "u32", +// "pref_lifetime" +// ], +// { +// "crc": "0xca763c9a" +// } // type SwInterfaceIP6ndRaPrefix struct { SwIfIndex uint32 @@ -1237,24 +1573,24 @@ func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceIP6ndRaPrefixReply represents the VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply'. -// -// "sw_interface_ip6nd_ra_prefix_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceIP6ndRaPrefixReply represents VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply': +// +// "sw_interface_ip6nd_ra_prefix_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceIP6ndRaPrefixReply struct { Retval int32 @@ -1270,37 +1606,37 @@ func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6ndProxyAddDel represents the VPP binary API message 'ip6nd_proxy_add_del'. -// -// "ip6nd_proxy_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_del" -// ], -// [ -// "u8", -// "address", -// 16 -// ], -// { -// "crc": "0xd95f0fa0" -// } +// IP6ndProxyAddDel represents VPP binary API message 'ip6nd_proxy_add_del': +// +// "ip6nd_proxy_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_del" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// { +// "crc": "0xd95f0fa0" +// } // type IP6ndProxyAddDel struct { SwIfIndex uint32 @@ -1318,24 +1654,24 @@ func (*IP6ndProxyAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IP6ndProxyAddDelReply represents the VPP binary API message 'ip6nd_proxy_add_del_reply'. -// -// "ip6nd_proxy_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IP6ndProxyAddDelReply represents VPP binary API message 'ip6nd_proxy_add_del_reply': +// +// "ip6nd_proxy_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IP6ndProxyAddDelReply struct { Retval int32 @@ -1351,33 +1687,29 @@ func (*IP6ndProxyAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6ndProxyDetails represents the VPP binary API message 'ip6nd_proxy_details'. -// -// "ip6nd_proxy_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "address", -// 16 -// ], -// { -// "crc": "0xd73bf1ab" -// } +// IP6ndProxyDetails represents VPP binary API message 'ip6nd_proxy_details': +// +// "ip6nd_proxy_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// { +// "crc": "0x6a47c974" +// } // type IP6ndProxyDetails struct { SwIfIndex uint32 @@ -1388,30 +1720,30 @@ func (*IP6ndProxyDetails) GetMessageName() string { return "ip6nd_proxy_details" } func (*IP6ndProxyDetails) GetCrcString() string { - return "d73bf1ab" + return "6a47c974" } func (*IP6ndProxyDetails) GetMessageType() api.MessageType { - return api.RequestMessage + return api.ReplyMessage } -// IP6ndProxyDump represents the VPP binary API message 'ip6nd_proxy_dump'. -// -// "ip6nd_proxy_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } +// IP6ndProxyDump represents VPP binary API message 'ip6nd_proxy_dump': +// +// "ip6nd_proxy_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type IP6ndProxyDump struct{} @@ -1425,48 +1757,48 @@ func (*IP6ndProxyDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IP6ndSendRouterSolicitation represents the VPP binary API message 'ip6nd_send_router_solicitation'. -// -// "ip6nd_send_router_solicitation", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "irt" -// ], -// [ -// "u32", -// "mrt" -// ], -// [ -// "u32", -// "mrc" -// ], -// [ -// "u32", -// "mrd" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "stop" -// ], -// { -// "crc": "0xbd968917" -// } +// IP6ndSendRouterSolicitation represents VPP binary API message 'ip6nd_send_router_solicitation': +// +// "ip6nd_send_router_solicitation", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "irt" +// ], +// [ +// "u32", +// "mrt" +// ], +// [ +// "u32", +// "mrc" +// ], +// [ +// "u32", +// "mrd" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "stop" +// ], +// { +// "crc": "0xbd968917" +// } // type IP6ndSendRouterSolicitation struct { Irt uint32 @@ -1487,24 +1819,24 @@ func (*IP6ndSendRouterSolicitation) GetMessageType() api.MessageType { return api.RequestMessage } -// IP6ndSendRouterSolicitationReply represents the VPP binary API message 'ip6nd_send_router_solicitation_reply'. -// -// "ip6nd_send_router_solicitation_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IP6ndSendRouterSolicitationReply represents VPP binary API message 'ip6nd_send_router_solicitation_reply': +// +// "ip6nd_send_router_solicitation_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IP6ndSendRouterSolicitationReply struct { Retval int32 @@ -1520,32 +1852,32 @@ func (*IP6ndSendRouterSolicitationReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceIP6EnableDisable represents the VPP binary API message 'sw_interface_ip6_enable_disable'. -// -// "sw_interface_ip6_enable_disable", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "enable" -// ], -// { -// "crc": "0xa36fadc0" -// } +// SwInterfaceIP6EnableDisable represents VPP binary API message 'sw_interface_ip6_enable_disable': +// +// "sw_interface_ip6_enable_disable", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "enable" +// ], +// { +// "crc": "0xa36fadc0" +// } // type SwInterfaceIP6EnableDisable struct { SwIfIndex uint32 @@ -1562,24 +1894,24 @@ func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceIP6EnableDisableReply represents the VPP binary API message 'sw_interface_ip6_enable_disable_reply'. -// -// "sw_interface_ip6_enable_disable_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SwInterfaceIP6EnableDisableReply represents VPP binary API message 'sw_interface_ip6_enable_disable_reply': +// +// "sw_interface_ip6_enable_disable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceIP6EnableDisableReply struct { Retval int32 @@ -1595,212 +1927,136 @@ func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceIP6SetLinkLocalAddress represents the VPP binary API message 'sw_interface_ip6_set_link_local_address'. -// -// "sw_interface_ip6_set_link_local_address", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "address", -// 16 -// ], -// { -// "crc": "0xd73bf1ab" -// } -// -type SwInterfaceIP6SetLinkLocalAddress struct { - SwIfIndex uint32 - Address []byte `struc:"[16]byte"` -} - -func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageName() string { - return "sw_interface_ip6_set_link_local_address" -} -func (*SwInterfaceIP6SetLinkLocalAddress) GetCrcString() string { - return "d73bf1ab" -} -func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// SwInterfaceIP6SetLinkLocalAddressReply represents the VPP binary API message 'sw_interface_ip6_set_link_local_address_reply'. -// -// "sw_interface_ip6_set_link_local_address_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } -// -type SwInterfaceIP6SetLinkLocalAddressReply struct { - Retval int32 -} - -func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageName() string { - return "sw_interface_ip6_set_link_local_address_reply" -} -func (*SwInterfaceIP6SetLinkLocalAddressReply) GetCrcString() string { - return "e8d4e804" -} -func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// IPAddDelRoute represents the VPP binary API message 'ip_add_del_route'. -// -// "ip_add_del_route", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "next_hop_sw_if_index" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u32", -// "classify_table_index" -// ], -// [ -// "u32", -// "next_hop_table_id" -// ], -// [ -// "u32", -// "next_hop_id" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u8", -// "is_drop" -// ], -// [ -// "u8", -// "is_unreach" -// ], -// [ -// "u8", -// "is_prohibit" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "is_local" -// ], -// [ -// "u8", -// "is_classify" -// ], -// [ -// "u8", -// "is_multipath" -// ], -// [ -// "u8", -// "is_resolve_host" -// ], -// [ -// "u8", -// "is_resolve_attached" -// ], -// [ -// "u8", -// "is_dvr" -// ], -// [ -// "u8", -// "is_source_lookup" -// ], -// [ -// "u8", -// "is_udp_encap" -// ], -// [ -// "u8", -// "next_hop_weight" -// ], -// [ -// "u8", -// "next_hop_preference" -// ], -// [ -// "u8", -// "next_hop_proto" -// ], -// [ -// "u8", -// "dst_address_length" -// ], -// [ -// "u8", -// "dst_address", -// 16 -// ], -// [ -// "u8", -// "next_hop_address", -// 16 -// ], -// [ -// "u8", -// "next_hop_n_out_labels" -// ], -// [ -// "u32", -// "next_hop_via_label" -// ], -// [ -// "vl_api_fib_mpls_label_t", -// "next_hop_out_label_stack", -// 0, -// "next_hop_n_out_labels" -// ], -// { -// "crc": "0x4219d62d" -// } +// IPAddDelRoute represents VPP binary API message 'ip_add_del_route': +// +// "ip_add_del_route", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "next_hop_sw_if_index" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u32", +// "classify_table_index" +// ], +// [ +// "u32", +// "next_hop_table_id" +// ], +// [ +// "u32", +// "next_hop_id" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_drop" +// ], +// [ +// "u8", +// "is_unreach" +// ], +// [ +// "u8", +// "is_prohibit" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "is_local" +// ], +// [ +// "u8", +// "is_classify" +// ], +// [ +// "u8", +// "is_multipath" +// ], +// [ +// "u8", +// "is_resolve_host" +// ], +// [ +// "u8", +// "is_resolve_attached" +// ], +// [ +// "u8", +// "is_dvr" +// ], +// [ +// "u8", +// "is_source_lookup" +// ], +// [ +// "u8", +// "is_udp_encap" +// ], +// [ +// "u8", +// "next_hop_weight" +// ], +// [ +// "u8", +// "next_hop_preference" +// ], +// [ +// "u8", +// "next_hop_proto" +// ], +// [ +// "u8", +// "dst_address_length" +// ], +// [ +// "u8", +// "dst_address", +// 16 +// ], +// [ +// "u8", +// "next_hop_address", +// 16 +// ], +// [ +// "u8", +// "next_hop_n_out_labels" +// ], +// [ +// "u32", +// "next_hop_via_label" +// ], +// [ +// "vl_api_fib_mpls_label_t", +// "next_hop_out_label_stack", +// 0, +// "next_hop_n_out_labels" +// ], +// { +// "crc": "0x4219d62d" +// } // type IPAddDelRoute struct { NextHopSwIfIndex uint32 @@ -1842,116 +2098,121 @@ func (*IPAddDelRoute) GetMessageType() api.MessageType { return api.RequestMessage } -// IPAddDelRouteReply represents the VPP binary API message 'ip_add_del_route_reply'. -// -// "ip_add_del_route_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPAddDelRouteReply represents VPP binary API message 'ip_add_del_route_reply': +// +// "ip_add_del_route_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "stats_index" +// ], +// { +// "crc": "0x1992deab" +// } // type IPAddDelRouteReply struct { - Retval int32 + Retval int32 + StatsIndex uint32 } func (*IPAddDelRouteReply) GetMessageName() string { return "ip_add_del_route_reply" } func (*IPAddDelRouteReply) GetCrcString() string { - return "e8d4e804" + return "1992deab" } func (*IPAddDelRouteReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPMrouteAddDel represents the VPP binary API message 'ip_mroute_add_del'. -// -// "ip_mroute_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "next_hop_sw_if_index" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u32", -// "entry_flags" -// ], -// [ -// "u32", -// "itf_flags" -// ], -// [ -// "u32", -// "rpf_id" -// ], -// [ -// "u32", -// "bier_imp" -// ], -// [ -// "u16", -// "grp_address_length" -// ], -// [ -// "u8", -// "next_hop_afi" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "is_local" -// ], -// [ -// "u8", -// "grp_address", -// 16 -// ], -// [ -// "u8", -// "src_address", -// 16 -// ], -// [ -// "u8", -// "nh_address", -// 16 -// ], -// { -// "crc": "0xf44c17b1" -// } +// IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del': +// +// "ip_mroute_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "next_hop_sw_if_index" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u32", +// "entry_flags" +// ], +// [ +// "u32", +// "itf_flags" +// ], +// [ +// "u32", +// "rpf_id" +// ], +// [ +// "u32", +// "bier_imp" +// ], +// [ +// "u16", +// "grp_address_length" +// ], +// [ +// "u8", +// "next_hop_afi" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "is_local" +// ], +// [ +// "u8", +// "grp_address", +// 16 +// ], +// [ +// "u8", +// "src_address", +// 16 +// ], +// [ +// "u8", +// "nh_address", +// 16 +// ], +// { +// "crc": "0xf44c17b1" +// } // type IPMrouteAddDel struct { NextHopSwIfIndex uint32 @@ -1980,57 +2241,62 @@ func (*IPMrouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPMrouteAddDelReply represents the VPP binary API message 'ip_mroute_add_del_reply'. -// -// "ip_mroute_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply': +// +// "ip_mroute_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "stats_index" +// ], +// { +// "crc": "0x1992deab" +// } // type IPMrouteAddDelReply struct { - Retval int32 + Retval int32 + StatsIndex uint32 } func (*IPMrouteAddDelReply) GetMessageName() string { return "ip_mroute_add_del_reply" } func (*IPMrouteAddDelReply) GetCrcString() string { - return "e8d4e804" + return "1992deab" } func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPMfibDump represents the VPP binary API message 'ip_mfib_dump'. -// -// "ip_mfib_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } +// IPMfibDump represents VPP binary API message 'ip_mfib_dump': +// +// "ip_mfib_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type IPMfibDump struct{} @@ -2044,56 +2310,60 @@ func (*IPMfibDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IPMfibDetails represents the VPP binary API message 'ip_mfib_details'. -// -// "ip_mfib_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u32", -// "entry_flags" -// ], -// [ -// "u32", -// "rpf_id" -// ], -// [ -// "u8", -// "address_length" -// ], -// [ -// "u8", -// "grp_address", -// 4 -// ], -// [ -// "u8", -// "src_address", -// 4 -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "vl_api_fib_path_t", -// "path", -// 0, -// "count" -// ], -// { -// "crc": "0x5e530d5e" -// } +// IPMfibDetails represents VPP binary API message 'ip_mfib_details': +// +// "ip_mfib_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u32", +// "entry_flags" +// ], +// [ +// "u32", +// "rpf_id" +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "grp_address", +// 4 +// ], +// [ +// "u8", +// "src_address", +// 4 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "u32", +// "stats_index" +// ], +// [ +// "vl_api_fib_path_t", +// "path", +// 0, +// "count" +// ], +// { +// "crc": "0x21329a12" +// } // type IPMfibDetails struct { TableID uint32 @@ -2103,6 +2373,7 @@ type IPMfibDetails struct { GrpAddress []byte `struc:"[4]byte"` SrcAddress []byte `struc:"[4]byte"` Count uint32 `struc:"sizeof=Path"` + StatsIndex uint32 Path []FibPath } @@ -2110,30 +2381,30 @@ func (*IPMfibDetails) GetMessageName() string { return "ip_mfib_details" } func (*IPMfibDetails) GetCrcString() string { - return "5e530d5e" + return "21329a12" } func (*IPMfibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6MfibDump represents the VPP binary API message 'ip6_mfib_dump'. -// -// "ip6_mfib_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } +// IP6MfibDump represents VPP binary API message 'ip6_mfib_dump': +// +// "ip6_mfib_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type IP6MfibDump struct{} @@ -2147,48 +2418,48 @@ func (*IP6MfibDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IP6MfibDetails represents the VPP binary API message 'ip6_mfib_details'. -// -// "ip6_mfib_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u8", -// "address_length" -// ], -// [ -// "u8", -// "grp_address", -// 16 -// ], -// [ -// "u8", -// "src_address", -// 16 -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "vl_api_fib_path_t", -// "path", -// 0, -// "count" -// ], -// { -// "crc": "0xe02dcb4b" -// } +// IP6MfibDetails represents VPP binary API message 'ip6_mfib_details': +// +// "ip6_mfib_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "grp_address", +// 16 +// ], +// [ +// "u8", +// "src_address", +// 16 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_fib_path_t", +// "path", +// 0, +// "count" +// ], +// { +// "crc": "0xe02dcb4b" +// } // type IP6MfibDetails struct { TableID uint32 @@ -2209,41 +2480,37 @@ func (*IP6MfibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPAddressDetails represents the VPP binary API message 'ip_address_details'. -// -// "ip_address_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "ip", -// 16 -// ], -// [ -// "u8", -// "prefix_length" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// { -// "crc": "0xbc7442f2" -// } +// IPAddressDetails represents VPP binary API message 'ip_address_details': +// +// "ip_address_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "ip", +// 16 +// ], +// [ +// "u8", +// "prefix_length" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x9bc25966" +// } // type IPAddressDetails struct { IP []byte `struc:"[16]byte"` @@ -2256,38 +2523,38 @@ func (*IPAddressDetails) GetMessageName() string { return "ip_address_details" } func (*IPAddressDetails) GetCrcString() string { - return "bc7442f2" + return "9bc25966" } func (*IPAddressDetails) GetMessageType() api.MessageType { - return api.RequestMessage + return api.ReplyMessage } -// IPAddressDump represents the VPP binary API message 'ip_address_dump'. -// -// "ip_address_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// { -// "crc": "0x6b7bcd0a" -// } +// IPAddressDump represents VPP binary API message 'ip_address_dump': +// +// "ip_address_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x6b7bcd0a" +// } // type IPAddressDump struct { SwIfIndex uint32 @@ -2304,32 +2571,28 @@ func (*IPAddressDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IPUnnumberedDetails represents the VPP binary API message 'ip_unnumbered_details'. -// -// "ip_unnumbered_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "ip_sw_if_index" -// ], -// { -// "crc": "0x05b717ca" -// } +// IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details': +// +// "ip_unnumbered_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "ip_sw_if_index" +// ], +// { +// "crc": "0xae694cf4" +// } // type IPUnnumberedDetails struct { SwIfIndex uint32 @@ -2340,34 +2603,34 @@ func (*IPUnnumberedDetails) GetMessageName() string { return "ip_unnumbered_details" } func (*IPUnnumberedDetails) GetCrcString() string { - return "05b717ca" + return "ae694cf4" } func (*IPUnnumberedDetails) GetMessageType() api.MessageType { - return api.RequestMessage + return api.ReplyMessage } -// IPUnnumberedDump represents the VPP binary API message 'ip_unnumbered_dump'. -// -// "ip_unnumbered_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0x529cb13f" -// } +// IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump': +// +// "ip_unnumbered_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type IPUnnumberedDump struct { SwIfIndex uint32 @@ -2383,32 +2646,31 @@ func (*IPUnnumberedDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IPDetails represents the VPP binary API message 'ip_details'. -// -// "ip_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// { -// "crc": "0x452ffc5a" -// } +// IPDetails represents VPP binary API message 'ip_details': +// +// "ip_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x8bb37ec4" +// } // type IPDetails struct { SwIfIndex uint32 - Context uint32 IsIPv6 uint8 } @@ -2416,34 +2678,34 @@ func (*IPDetails) GetMessageName() string { return "ip_details" } func (*IPDetails) GetCrcString() string { - return "452ffc5a" + return "8bb37ec4" } func (*IPDetails) GetMessageType() api.MessageType { - return api.OtherMessage -} - -// IPDump represents the VPP binary API message 'ip_dump'. -// -// "ip_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// { -// "crc": "0xde883da4" -// } + return api.ReplyMessage +} + +// IPDump represents VPP binary API message 'ip_dump': +// +// "ip_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0xde883da4" +// } // type IPDump struct { IsIPv6 uint8 @@ -2459,24 +2721,24 @@ func (*IPDump) GetMessageType() api.MessageType { return api.RequestMessage } -// MfibSignalDump represents the VPP binary API message 'mfib_signal_dump'. -// -// "mfib_signal_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } +// MfibSignalDump represents VPP binary API message 'mfib_signal_dump': +// +// "mfib_signal_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type MfibSignalDump struct{} @@ -2490,55 +2752,51 @@ func (*MfibSignalDump) GetMessageType() api.MessageType { return api.RequestMessage } -// MfibSignalDetails represents the VPP binary API message 'mfib_signal_details'. -// -// "mfib_signal_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u16", -// "grp_address_len" -// ], -// [ -// "u8", -// "grp_address", -// 16 -// ], -// [ -// "u8", -// "src_address", -// 16 -// ], -// [ -// "u16", -// "ip_packet_len" -// ], -// [ -// "u8", -// "ip_packet_data", -// 256 -// ], -// { -// "crc": "0x791bbeab" -// } +// MfibSignalDetails represents VPP binary API message 'mfib_signal_details': +// +// "mfib_signal_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u16", +// "grp_address_len" +// ], +// [ +// "u8", +// "grp_address", +// 16 +// ], +// [ +// "u8", +// "src_address", +// 16 +// ], +// [ +// "u16", +// "ip_packet_len" +// ], +// [ +// "u8", +// "ip_packet_data", +// 256 +// ], +// { +// "crc": "0x3f5f03f5" +// } // type MfibSignalDetails struct { SwIfIndex uint32 @@ -2554,42 +2812,42 @@ func (*MfibSignalDetails) GetMessageName() string { return "mfib_signal_details" } func (*MfibSignalDetails) GetCrcString() string { - return "791bbeab" + return "3f5f03f5" } func (*MfibSignalDetails) GetMessageType() api.MessageType { - return api.RequestMessage + return api.ReplyMessage } -// IPPuntPolice represents the VPP binary API message 'ip_punt_police'. -// -// "ip_punt_police", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "policer_index" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u8", -// "is_ip6" -// ], -// { -// "crc": "0x38691592" -// } +// IPPuntPolice represents VPP binary API message 'ip_punt_police': +// +// "ip_punt_police", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "policer_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_ip6" +// ], +// { +// "crc": "0x38691592" +// } // type IPPuntPolice struct { PolicerIndex uint32 @@ -2607,24 +2865,24 @@ func (*IPPuntPolice) GetMessageType() api.MessageType { return api.RequestMessage } -// IPPuntPoliceReply represents the VPP binary API message 'ip_punt_police_reply'. -// -// "ip_punt_police_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPPuntPoliceReply represents VPP binary API message 'ip_punt_police_reply': +// +// "ip_punt_police_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPPuntPoliceReply struct { Retval int32 @@ -2640,82 +2898,66 @@ func (*IPPuntPoliceReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPPuntRedirect represents the VPP binary API message 'ip_punt_redirect'. -// -// "ip_punt_redirect", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "rx_sw_if_index" -// ], -// [ -// "u32", -// "tx_sw_if_index" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u8", -// "is_ip6" -// ], -// [ -// "u8", -// "nh", -// 16 -// ], -// { -// "crc": "0x996b6603" -// } +// IPPuntRedirect represents VPP binary API message 'ip_punt_redirect': +// +// "ip_punt_redirect", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "vl_api_punt_redirect_t", +// "punt" +// ], +// [ +// "u8", +// "is_add" +// ], +// { +// "crc": "0xa953495b" +// } // type IPPuntRedirect struct { - RxSwIfIndex uint32 - TxSwIfIndex uint32 - IsAdd uint8 - IsIP6 uint8 - Nh []byte `struc:"[16]byte"` + Punt PuntRedirect + IsAdd uint8 } func (*IPPuntRedirect) GetMessageName() string { return "ip_punt_redirect" } func (*IPPuntRedirect) GetCrcString() string { - return "996b6603" + return "a953495b" } func (*IPPuntRedirect) GetMessageType() api.MessageType { return api.RequestMessage } -// IPPuntRedirectReply represents the VPP binary API message 'ip_punt_redirect_reply'. -// -// "ip_punt_redirect_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPPuntRedirectReply represents VPP binary API message 'ip_punt_redirect_reply': +// +// "ip_punt_redirect_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPPuntRedirectReply struct { Retval int32 @@ -2731,45 +2973,120 @@ func (*IPPuntRedirectReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPContainerProxyAddDel represents the VPP binary API message 'ip_container_proxy_add_del'. -// -// "ip_container_proxy_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "ip", -// 16 -// ], -// [ -// "u8", -// "is_ip4" -// ], -// [ -// "u8", -// "plen" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_add" -// ], -// { -// "crc": "0x0a355d39" -// } +// IPPuntRedirectDump represents VPP binary API message 'ip_punt_redirect_dump': +// +// "ip_punt_redirect_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x6b7bcd0a" +// } +// +type IPPuntRedirectDump struct { + SwIfIndex uint32 + IsIPv6 uint8 +} + +func (*IPPuntRedirectDump) GetMessageName() string { + return "ip_punt_redirect_dump" +} +func (*IPPuntRedirectDump) GetCrcString() string { + return "6b7bcd0a" +} +func (*IPPuntRedirectDump) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IPPuntRedirectDetails represents VPP binary API message 'ip_punt_redirect_details': +// +// "ip_punt_redirect_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "vl_api_punt_redirect_t", +// "punt" +// ], +// { +// "crc": "0xa47f70da" +// } +// +type IPPuntRedirectDetails struct { + Punt PuntRedirect +} + +func (*IPPuntRedirectDetails) GetMessageName() string { + return "ip_punt_redirect_details" +} +func (*IPPuntRedirectDetails) GetCrcString() string { + return "a47f70da" +} +func (*IPPuntRedirectDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// IPContainerProxyAddDel represents VPP binary API message 'ip_container_proxy_add_del': +// +// "ip_container_proxy_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "ip", +// 16 +// ], +// [ +// "u8", +// "is_ip4" +// ], +// [ +// "u8", +// "plen" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// { +// "crc": "0x0a355d39" +// } // type IPContainerProxyAddDel struct { IP []byte `struc:"[16]byte"` @@ -2789,24 +3106,24 @@ func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPContainerProxyAddDelReply represents the VPP binary API message 'ip_container_proxy_add_del_reply'. -// -// "ip_container_proxy_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply': +// +// "ip_container_proxy_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPContainerProxyAddDelReply struct { Retval int32 @@ -2822,59 +3139,128 @@ func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPSourceAndPortRangeCheckAddDel represents the VPP binary API message 'ip_source_and_port_range_check_add_del'. -// -// "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": "0x03d6b03a" -// } +// IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump': +// +// "ip_container_proxy_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } +// +type IPContainerProxyDump struct{} + +func (*IPContainerProxyDump) GetMessageName() string { + return "ip_container_proxy_dump" +} +func (*IPContainerProxyDump) GetCrcString() string { + return "51077d14" +} +func (*IPContainerProxyDump) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details': +// +// "ip_container_proxy_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "vl_api_prefix_t", +// "prefix" +// ], +// { +// "crc": "0xd528df63" +// } +// +type IPContainerProxyDetails struct { + SwIfIndex uint32 + Prefix Prefix +} + +func (*IPContainerProxyDetails) GetMessageName() string { + return "ip_container_proxy_details" +} +func (*IPContainerProxyDetails) GetCrcString() string { + return "d528df63" +} +func (*IPContainerProxyDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// IPSourceAndPortRangeCheckAddDel represents VPP binary API message 'ip_source_and_port_range_check_add_del': +// +// "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": "0x03d6b03a" +// } // type IPSourceAndPortRangeCheckAddDel struct { IsIPv6 uint8 @@ -2897,24 +3283,24 @@ func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPSourceAndPortRangeCheckAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_add_del_reply'. -// -// "ip_source_and_port_range_check_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPSourceAndPortRangeCheckAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_add_del_reply': +// +// "ip_source_and_port_range_check_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPSourceAndPortRangeCheckAddDelReply struct { Retval int32 @@ -2930,48 +3316,48 @@ func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPSourceAndPortRangeCheckInterfaceAddDel represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del'. -// -// "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": "0x6966bc44" -// } +// IPSourceAndPortRangeCheckInterfaceAddDel represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del': +// +// "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": "0x6966bc44" +// } // type IPSourceAndPortRangeCheckInterfaceAddDel struct { IsAdd uint8 @@ -2992,24 +3378,24 @@ func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageTyp return api.RequestMessage } -// IPSourceAndPortRangeCheckInterfaceAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'. -// -// "ip_source_and_port_range_check_interface_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPSourceAndPortRangeCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply': +// +// "ip_source_and_port_range_check_interface_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPSourceAndPortRangeCheckInterfaceAddDelReply struct { Retval int32 @@ -3025,48 +3411,128 @@ func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.Messa return api.ReplyMessage } -// IPScanNeighborEnableDisable represents the VPP binary API message 'ip_scan_neighbor_enable_disable'. -// -// "ip_scan_neighbor_enable_disable", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "mode" -// ], -// [ -// "u8", -// "scan_interval" -// ], -// [ -// "u8", -// "max_proc_time" -// ], -// [ -// "u8", -// "max_update" -// ], -// [ -// "u8", -// "scan_int_delay" -// ], -// [ -// "u8", -// "stale_threshold" -// ], -// { -// "crc": "0x0a6bf57a" -// } +// IPSourceCheckInterfaceAddDel represents VPP binary API message 'ip_source_check_interface_add_del': +// +// "ip_source_check_interface_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "loose" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x0a60152a" +// } +// +type IPSourceCheckInterfaceAddDel struct { + IsAdd uint8 + Loose uint8 + SwIfIndex uint32 +} + +func (*IPSourceCheckInterfaceAddDel) GetMessageName() string { + return "ip_source_check_interface_add_del" +} +func (*IPSourceCheckInterfaceAddDel) GetCrcString() string { + return "0a60152a" +} +func (*IPSourceCheckInterfaceAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IPSourceCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_check_interface_add_del_reply': +// +// "ip_source_check_interface_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPSourceCheckInterfaceAddDelReply struct { + Retval int32 +} + +func (*IPSourceCheckInterfaceAddDelReply) GetMessageName() string { + return "ip_source_check_interface_add_del_reply" +} +func (*IPSourceCheckInterfaceAddDelReply) GetCrcString() string { + return "e8d4e804" +} +func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// IPScanNeighborEnableDisable represents VPP binary API message 'ip_scan_neighbor_enable_disable': +// +// "ip_scan_neighbor_enable_disable", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "mode" +// ], +// [ +// "u8", +// "scan_interval" +// ], +// [ +// "u8", +// "max_proc_time" +// ], +// [ +// "u8", +// "max_update" +// ], +// [ +// "u8", +// "scan_int_delay" +// ], +// [ +// "u8", +// "stale_threshold" +// ], +// { +// "crc": "0x0a6bf57a" +// } // type IPScanNeighborEnableDisable struct { Mode uint8 @@ -3087,24 +3553,24 @@ func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// IPScanNeighborEnableDisableReply represents the VPP binary API message 'ip_scan_neighbor_enable_disable_reply'. -// -// "ip_scan_neighbor_enable_disable_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPScanNeighborEnableDisableReply represents VPP binary API message 'ip_scan_neighbor_enable_disable_reply': +// +// "ip_scan_neighbor_enable_disable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPScanNeighborEnableDisableReply struct { Retval int32 @@ -3120,37 +3586,37 @@ func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPProbeNeighbor represents the VPP binary API message 'ip_probe_neighbor'. -// -// "ip_probe_neighbor", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "dst_address", -// 16 -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// { -// "crc": "0x1e44bfd7" -// } +// IPProbeNeighbor represents VPP binary API message 'ip_probe_neighbor': +// +// "ip_probe_neighbor", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "dst_address", +// 16 +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x1e44bfd7" +// } // type IPProbeNeighbor struct { SwIfIndex uint32 @@ -3168,24 +3634,24 @@ func (*IPProbeNeighbor) GetMessageType() api.MessageType { return api.RequestMessage } -// IPProbeNeighborReply represents the VPP binary API message 'ip_probe_neighbor_reply'. -// -// "ip_probe_neighbor_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPProbeNeighborReply represents VPP binary API message 'ip_probe_neighbor_reply': +// +// "ip_probe_neighbor_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPProbeNeighborReply struct { Retval int32 @@ -3201,36 +3667,36 @@ func (*IPProbeNeighborReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// WantIP4ArpEvents represents the VPP binary API message 'want_ip4_arp_events'. -// -// "want_ip4_arp_events", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "enable_disable" -// ], -// [ -// "u32", -// "pid" -// ], -// [ -// "u32", -// "address" -// ], -// { -// "crc": "0x77e06379" -// } +// WantIP4ArpEvents represents VPP binary API message 'want_ip4_arp_events': +// +// "want_ip4_arp_events", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "address" +// ], +// { +// "crc": "0x77e06379" +// } // type WantIP4ArpEvents struct { EnableDisable uint8 @@ -3248,24 +3714,24 @@ func (*WantIP4ArpEvents) GetMessageType() api.MessageType { return api.RequestMessage } -// WantIP4ArpEventsReply represents the VPP binary API message 'want_ip4_arp_events_reply'. -// -// "want_ip4_arp_events_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// WantIP4ArpEventsReply represents VPP binary API message 'want_ip4_arp_events_reply': +// +// "want_ip4_arp_events_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type WantIP4ArpEventsReply struct { Retval int32 @@ -3281,41 +3747,41 @@ func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP4ArpEvent represents the VPP binary API message 'ip4_arp_event'. -// -// "ip4_arp_event", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "address" -// ], -// [ -// "u32", -// "pid" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "new_mac", -// 6 -// ], -// [ -// "u8", -// "mac_ip" -// ], -// { -// "crc": "0xef7235f7" -// } +// IP4ArpEvent represents VPP binary API message 'ip4_arp_event': +// +// "ip4_arp_event", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "address" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "new_mac", +// 6 +// ], +// [ +// "u8", +// "mac_ip" +// ], +// { +// "crc": "0xef7235f7" +// } // type IP4ArpEvent struct { Address uint32 @@ -3335,37 +3801,37 @@ func (*IP4ArpEvent) GetMessageType() api.MessageType { return api.EventMessage } -// WantIP6NdEvents represents the VPP binary API message 'want_ip6_nd_events'. -// -// "want_ip6_nd_events", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "enable_disable" -// ], -// [ -// "u32", -// "pid" -// ], -// [ -// "u8", -// "address", -// 16 -// ], -// { -// "crc": "0x1cf65fbb" -// } +// WantIP6NdEvents represents VPP binary API message 'want_ip6_nd_events': +// +// "want_ip6_nd_events", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// { +// "crc": "0x1cf65fbb" +// } // type WantIP6NdEvents struct { EnableDisable uint8 @@ -3383,24 +3849,24 @@ func (*WantIP6NdEvents) GetMessageType() api.MessageType { return api.RequestMessage } -// WantIP6NdEventsReply represents the VPP binary API message 'want_ip6_nd_events_reply'. -// -// "want_ip6_nd_events_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// WantIP6NdEventsReply represents VPP binary API message 'want_ip6_nd_events_reply': +// +// "want_ip6_nd_events_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type WantIP6NdEventsReply struct { Retval int32 @@ -3416,42 +3882,42 @@ func (*WantIP6NdEventsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6NdEvent represents the VPP binary API message 'ip6_nd_event'. -// -// "ip6_nd_event", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "pid" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "address", -// 16 -// ], -// [ -// "u8", -// "new_mac", -// 6 -// ], -// [ -// "u8", -// "mac_ip" -// ], -// { -// "crc": "0x96ab2fdd" -// } +// IP6NdEvent represents VPP binary API message 'ip6_nd_event': +// +// "ip6_nd_event", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// [ +// "u8", +// "new_mac", +// 6 +// ], +// [ +// "u8", +// "mac_ip" +// ], +// { +// "crc": "0x96ab2fdd" +// } // type IP6NdEvent struct { PID uint32 @@ -3471,32 +3937,32 @@ func (*IP6NdEvent) GetMessageType() api.MessageType { return api.EventMessage } -// WantIP6RaEvents represents the VPP binary API message 'want_ip6_ra_events'. -// -// "want_ip6_ra_events", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "enable_disable" -// ], -// [ -// "u32", -// "pid" -// ], -// { -// "crc": "0x05b454b5" -// } +// WantIP6RaEvents represents VPP binary API message 'want_ip6_ra_events': +// +// "want_ip6_ra_events", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x05b454b5" +// } // type WantIP6RaEvents struct { EnableDisable uint8 @@ -3513,24 +3979,24 @@ func (*WantIP6RaEvents) GetMessageType() api.MessageType { return api.RequestMessage } -// WantIP6RaEventsReply represents the VPP binary API message 'want_ip6_ra_events_reply'. -// -// "want_ip6_ra_events_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// WantIP6RaEventsReply represents VPP binary API message 'want_ip6_ra_events_reply': +// +// "want_ip6_ra_events_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type WantIP6RaEventsReply struct { Retval int32 @@ -3546,63 +4012,63 @@ func (*WantIP6RaEventsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6RaEvent represents the VPP binary API message 'ip6_ra_event'. -// -// "ip6_ra_event", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "pid" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "router_address", -// 16 -// ], -// [ -// "u8", -// "current_hop_limit" -// ], -// [ -// "u8", -// "flags" -// ], -// [ -// "u16", -// "router_lifetime_in_sec" -// ], -// [ -// "u32", -// "neighbor_reachable_time_in_msec" -// ], -// [ -// "u32", -// "time_in_msec_between_retransmitted_neighbor_solicitations" -// ], -// [ -// "u32", -// "n_prefixes" -// ], -// [ -// "vl_api_ip6_ra_prefix_info_t", -// "prefixes", -// 0, -// "n_prefixes" -// ], -// { -// "crc": "0xc5e54257" -// } +// IP6RaEvent represents VPP binary API message 'ip6_ra_event': +// +// "ip6_ra_event", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "router_address", +// 16 +// ], +// [ +// "u8", +// "current_hop_limit" +// ], +// [ +// "u8", +// "flags" +// ], +// [ +// "u16", +// "router_lifetime_in_sec" +// ], +// [ +// "u32", +// "neighbor_reachable_time_in_msec" +// ], +// [ +// "u32", +// "time_in_msec_between_retransmitted_neighbor_solicitations" +// ], +// [ +// "u32", +// "n_prefixes" +// ], +// [ +// "vl_api_ip6_ra_prefix_info_t", +// "prefixes", +// 0, +// "n_prefixes" +// ], +// { +// "crc": "0xc5e54257" +// } // type IP6RaEvent struct { PID uint32 @@ -3627,32 +4093,32 @@ func (*IP6RaEvent) GetMessageType() api.MessageType { return api.EventMessage } -// ProxyArpAddDel represents the VPP binary API message 'proxy_arp_add_del'. -// -// "proxy_arp_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "vl_api_proxy_arp_t", -// "proxy" -// ], -// { -// "crc": "0x227988d9" -// } +// ProxyArpAddDel represents VPP binary API message 'proxy_arp_add_del': +// +// "proxy_arp_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "vl_api_proxy_arp_t", +// "proxy" +// ], +// { +// "crc": "0x227988d9" +// } // type ProxyArpAddDel struct { IsAdd uint8 @@ -3669,24 +4135,24 @@ func (*ProxyArpAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// ProxyArpAddDelReply represents the VPP binary API message 'proxy_arp_add_del_reply'. -// -// "proxy_arp_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// ProxyArpAddDelReply represents VPP binary API message 'proxy_arp_add_del_reply': +// +// "proxy_arp_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type ProxyArpAddDelReply struct { Retval int32 @@ -3702,24 +4168,24 @@ func (*ProxyArpAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ProxyArpDump represents the VPP binary API message 'proxy_arp_dump'. -// -// "proxy_arp_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } +// ProxyArpDump represents VPP binary API message 'proxy_arp_dump': +// +// "proxy_arp_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type ProxyArpDump struct{} @@ -3733,24 +4199,24 @@ func (*ProxyArpDump) GetMessageType() api.MessageType { return api.RequestMessage } -// ProxyArpDetails represents the VPP binary API message 'proxy_arp_details'. -// -// "proxy_arp_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "vl_api_proxy_arp_t", -// "proxy" -// ], -// { -// "crc": "0x9b707c77" -// } +// ProxyArpDetails represents VPP binary API message 'proxy_arp_details': +// +// "proxy_arp_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "vl_api_proxy_arp_t", +// "proxy" +// ], +// { +// "crc": "0x9b707c77" +// } // type ProxyArpDetails struct { Proxy ProxyArp @@ -3766,32 +4232,32 @@ func (*ProxyArpDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// ProxyArpIntfcEnableDisable represents the VPP binary API message 'proxy_arp_intfc_enable_disable'. -// -// "proxy_arp_intfc_enable_disable", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "enable_disable" -// ], -// { -// "crc": "0x69d24598" -// } +// ProxyArpIntfcEnableDisable represents VPP binary API message 'proxy_arp_intfc_enable_disable': +// +// "proxy_arp_intfc_enable_disable", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "enable_disable" +// ], +// { +// "crc": "0x69d24598" +// } // type ProxyArpIntfcEnableDisable struct { SwIfIndex uint32 @@ -3808,24 +4274,24 @@ func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// ProxyArpIntfcEnableDisableReply represents the VPP binary API message 'proxy_arp_intfc_enable_disable_reply'. -// -// "proxy_arp_intfc_enable_disable_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// ProxyArpIntfcEnableDisableReply represents VPP binary API message 'proxy_arp_intfc_enable_disable_reply': +// +// "proxy_arp_intfc_enable_disable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type ProxyArpIntfcEnableDisableReply struct { Retval int32 @@ -3841,24 +4307,24 @@ func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ProxyArpIntfcDump represents the VPP binary API message 'proxy_arp_intfc_dump'. -// -// "proxy_arp_intfc_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } +// ProxyArpIntfcDump represents VPP binary API message 'proxy_arp_intfc_dump': +// +// "proxy_arp_intfc_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type ProxyArpIntfcDump struct{} @@ -3872,24 +4338,24 @@ func (*ProxyArpIntfcDump) GetMessageType() api.MessageType { return api.RequestMessage } -// ProxyArpIntfcDetails represents the VPP binary API message 'proxy_arp_intfc_details'. -// -// "proxy_arp_intfc_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0xf6458e5f" -// } +// ProxyArpIntfcDetails represents VPP binary API message 'proxy_arp_intfc_details': +// +// "proxy_arp_intfc_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xf6458e5f" +// } // type ProxyArpIntfcDetails struct { SwIfIndex uint32 @@ -3905,32 +4371,32 @@ func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// ResetFib represents the VPP binary API message 'reset_fib'. -// -// "reset_fib", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "vrf_id" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// { -// "crc": "0x8553ebd9" -// } +// ResetFib represents VPP binary API message 'reset_fib': +// +// "reset_fib", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x8553ebd9" +// } // type ResetFib struct { VrfID uint32 @@ -3947,24 +4413,24 @@ func (*ResetFib) GetMessageType() api.MessageType { return api.RequestMessage } -// ResetFibReply represents the VPP binary API message 'reset_fib_reply'. -// -// "reset_fib_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// ResetFibReply represents VPP binary API message 'reset_fib_reply': +// +// "reset_fib_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type ResetFibReply struct { Retval int32 @@ -3980,32 +4446,32 @@ func (*ResetFibReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SetArpNeighborLimit represents the VPP binary API message 'set_arp_neighbor_limit'. -// -// "set_arp_neighbor_limit", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u32", -// "arp_neighbor_limit" -// ], -// { -// "crc": "0x97d01fd6" -// } +// SetArpNeighborLimit represents VPP binary API message 'set_arp_neighbor_limit': +// +// "set_arp_neighbor_limit", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u32", +// "arp_neighbor_limit" +// ], +// { +// "crc": "0x97d01fd6" +// } // type SetArpNeighborLimit struct { IsIPv6 uint8 @@ -4022,24 +4488,24 @@ func (*SetArpNeighborLimit) GetMessageType() api.MessageType { return api.RequestMessage } -// SetArpNeighborLimitReply represents the VPP binary API message 'set_arp_neighbor_limit_reply'. -// -// "set_arp_neighbor_limit_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// SetArpNeighborLimitReply represents VPP binary API message 'set_arp_neighbor_limit_reply': +// +// "set_arp_neighbor_limit_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SetArpNeighborLimitReply struct { Retval int32 @@ -4055,48 +4521,48 @@ func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IoamEnable represents the VPP binary API message 'ioam_enable'. -// -// "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": "0x9392e032" -// } +// IoamEnable represents VPP binary API message 'ioam_enable': +// +// "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": "0x9392e032" +// } // type IoamEnable struct { ID uint16 @@ -4117,24 +4583,24 @@ func (*IoamEnable) GetMessageType() api.MessageType { return api.RequestMessage } -// IoamEnableReply represents the VPP binary API message 'ioam_enable_reply'. -// -// "ioam_enable_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IoamEnableReply represents VPP binary API message 'ioam_enable_reply': +// +// "ioam_enable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IoamEnableReply struct { Retval int32 @@ -4150,28 +4616,28 @@ func (*IoamEnableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IoamDisable represents the VPP binary API message 'ioam_disable'. -// -// "ioam_disable", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u16", -// "id" -// ], -// { -// "crc": "0x6b16a45e" -// } +// IoamDisable represents VPP binary API message 'ioam_disable': +// +// "ioam_disable", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u16", +// "id" +// ], +// { +// "crc": "0x6b16a45e" +// } // type IoamDisable struct { ID uint16 @@ -4187,24 +4653,24 @@ func (*IoamDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// IoamDisableReply represents the VPP binary API message 'ioam_disable_reply'. -// -// "ioam_disable_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IoamDisableReply represents VPP binary API message 'ioam_disable_reply': +// +// "ioam_disable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IoamDisableReply struct { Retval int32 @@ -4220,40 +4686,40 @@ func (*IoamDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPReassemblySet represents the VPP binary API message 'ip_reassembly_set'. -// -// "ip_reassembly_set", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "timeout_ms" -// ], -// [ -// "u32", -// "max_reassemblies" -// ], -// [ -// "u32", -// "expire_walk_interval_ms" -// ], -// [ -// "u8", -// "is_ip6" -// ], -// { -// "crc": "0x1db184de" -// } +// IPReassemblySet represents VPP binary API message 'ip_reassembly_set': +// +// "ip_reassembly_set", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "timeout_ms" +// ], +// [ +// "u32", +// "max_reassemblies" +// ], +// [ +// "u32", +// "expire_walk_interval_ms" +// ], +// [ +// "u8", +// "is_ip6" +// ], +// { +// "crc": "0x1db184de" +// } // type IPReassemblySet struct { TimeoutMs uint32 @@ -4272,24 +4738,24 @@ func (*IPReassemblySet) GetMessageType() api.MessageType { return api.RequestMessage } -// IPReassemblySetReply represents the VPP binary API message 'ip_reassembly_set_reply'. -// -// "ip_reassembly_set_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply': +// +// "ip_reassembly_set_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPReassemblySetReply struct { Retval int32 @@ -4305,28 +4771,28 @@ func (*IPReassemblySetReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPReassemblyGet represents the VPP binary API message 'ip_reassembly_get'. -// -// "ip_reassembly_get", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "is_ip6" -// ], -// { -// "crc": "0x6fe91190" -// } +// IPReassemblyGet represents VPP binary API message 'ip_reassembly_get': +// +// "ip_reassembly_get", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_ip6" +// ], +// { +// "crc": "0x6fe91190" +// } // type IPReassemblyGet struct { IsIP6 uint8 @@ -4342,44 +4808,40 @@ func (*IPReassemblyGet) GetMessageType() api.MessageType { return api.RequestMessage } -// IPReassemblyGetReply represents the VPP binary API message 'ip_reassembly_get_reply'. -// -// "ip_reassembly_get_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "timeout_ms" -// ], -// [ -// "u32", -// "max_reassemblies" -// ], -// [ -// "u32", -// "expire_walk_interval_ms" -// ], -// [ -// "u8", -// "is_ip6" -// ], -// { -// "crc": "0xd746fc57" -// } +// IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply': +// +// "ip_reassembly_get_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "timeout_ms" +// ], +// [ +// "u32", +// "max_reassemblies" +// ], +// [ +// "u32", +// "expire_walk_interval_ms" +// ], +// [ +// "u8", +// "is_ip6" +// ], +// { +// "crc": "0x1f90afd1" +// } // type IPReassemblyGetReply struct { Retval int32 @@ -4393,42 +4855,42 @@ func (*IPReassemblyGetReply) GetMessageName() string { return "ip_reassembly_get_reply" } func (*IPReassemblyGetReply) GetCrcString() string { - return "d746fc57" + return "1f90afd1" } func (*IPReassemblyGetReply) GetMessageType() api.MessageType { - return api.RequestMessage + return api.ReplyMessage } -// IPReassemblyEnableDisable represents the VPP binary API message 'ip_reassembly_enable_disable'. -// -// "ip_reassembly_enable_disable", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "enable_ip4" -// ], -// [ -// "u8", -// "enable_ip6" -// ], -// { -// "crc": "0xbb8dc5d0" -// } +// IPReassemblyEnableDisable represents VPP binary API message 'ip_reassembly_enable_disable': +// +// "ip_reassembly_enable_disable", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "enable_ip4" +// ], +// [ +// "u8", +// "enable_ip6" +// ], +// { +// "crc": "0xbb8dc5d0" +// } // type IPReassemblyEnableDisable struct { SwIfIndex uint32 @@ -4446,24 +4908,24 @@ func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// IPReassemblyEnableDisableReply represents the VPP binary API message 'ip_reassembly_enable_disable_reply'. -// -// "ip_reassembly_enable_disable_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply': +// +// "ip_reassembly_enable_disable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPReassemblyEnableDisableReply struct { Retval int32 @@ -4479,53 +4941,6 @@ func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -/* Services */ - -type Services interface { - DumpIP6Fib(*IP6FibDump) (*IP6FibDetails, error) - DumpIP6Mfib(*IP6MfibDump) (*IP6MfibDetails, error) - DumpIP6ndProxy(*IP6ndProxyDump) (*IP6ndProxyDetails, error) - DumpIPAddress(*IPAddressDump) (*IPAddressDetails, error) - DumpIP(*IPDump) (*IPDetails, error) - DumpIPFib(*IPFibDump) (*IPFibDetails, error) - DumpIPMfib(*IPMfibDump) (*IPMfibDetails, error) - DumpIPNeighbor(*IPNeighborDump) (*IPNeighborDetails, error) - DumpIPUnnumbered(*IPUnnumberedDump) (*IPUnnumberedDetails, error) - DumpMfibSignal(*MfibSignalDump) (*MfibSignalDetails, error) - DumpProxyArp(*ProxyArpDump) (*ProxyArpDetails, error) - DumpProxyArpIntfc(*ProxyArpIntfcDump) (*ProxyArpIntfcDetails, error) - IoamDisable(*IoamDisable) (*IoamDisableReply, error) - IoamEnable(*IoamEnable) (*IoamEnableReply, error) - IP6ndProxyAddDel(*IP6ndProxyAddDel) (*IP6ndProxyAddDelReply, error) - IP6ndSendRouterSolicitation(*IP6ndSendRouterSolicitation) (*IP6ndSendRouterSolicitationReply, error) - IPAddDelRoute(*IPAddDelRoute) (*IPAddDelRouteReply, error) - IPContainerProxyAddDel(*IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error) - IPMrouteAddDel(*IPMrouteAddDel) (*IPMrouteAddDelReply, error) - IPNeighborAddDel(*IPNeighborAddDel) (*IPNeighborAddDelReply, error) - IPProbeNeighbor(*IPProbeNeighbor) (*IPProbeNeighborReply, error) - IPPuntPolice(*IPPuntPolice) (*IPPuntPoliceReply, error) - IPPuntRedirect(*IPPuntRedirect) (*IPPuntRedirectReply, error) - IPReassemblyEnableDisable(*IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error) - IPReassemblyGet(*IPReassemblyGet) (*IPReassemblyGetReply, error) - IPReassemblySet(*IPReassemblySet) (*IPReassemblySetReply, error) - IPScanNeighborEnableDisable(*IPScanNeighborEnableDisable) (*IPScanNeighborEnableDisableReply, error) - IPSourceAndPortRangeCheckAddDel(*IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error) - IPSourceAndPortRangeCheckInterfaceAddDel(*IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error) - IPTableAddDel(*IPTableAddDel) (*IPTableAddDelReply, error) - ProxyArpAddDel(*ProxyArpAddDel) (*ProxyArpAddDelReply, error) - ProxyArpIntfcEnableDisable(*ProxyArpIntfcEnableDisable) (*ProxyArpIntfcEnableDisableReply, error) - ResetFib(*ResetFib) (*ResetFibReply, error) - SetArpNeighborLimit(*SetArpNeighborLimit) (*SetArpNeighborLimitReply, error) - SetIPFlowHash(*SetIPFlowHash) (*SetIPFlowHashReply, error) - SwInterfaceIP6EnableDisable(*SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error) - SwInterfaceIP6SetLinkLocalAddress(*SwInterfaceIP6SetLinkLocalAddress) (*SwInterfaceIP6SetLinkLocalAddressReply, error) - SwInterfaceIP6ndRaConfig(*SwInterfaceIP6ndRaConfig) (*SwInterfaceIP6ndRaConfigReply, error) - SwInterfaceIP6ndRaPrefix(*SwInterfaceIP6ndRaPrefix) (*SwInterfaceIP6ndRaPrefixReply, error) - WantIP4ArpEvents(*WantIP4ArpEvents) (*WantIP4ArpEventsReply, error) - WantIP6NdEvents(*WantIP6NdEvents) (*WantIP6NdEventsReply, error) - WantIP6RaEvents(*WantIP6RaEvents) (*WantIP6RaEventsReply, error) -} - func init() { api.RegisterMessage((*IPTableAddDel)(nil), "ip.IPTableAddDel") api.RegisterMessage((*IPTableAddDelReply)(nil), "ip.IPTableAddDelReply") @@ -4551,8 +4966,6 @@ func init() { api.RegisterMessage((*IP6ndSendRouterSolicitationReply)(nil), "ip.IP6ndSendRouterSolicitationReply") api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "ip.SwInterfaceIP6EnableDisable") api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "ip.SwInterfaceIP6EnableDisableReply") - api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddress)(nil), "ip.SwInterfaceIP6SetLinkLocalAddress") - api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddressReply)(nil), "ip.SwInterfaceIP6SetLinkLocalAddressReply") api.RegisterMessage((*IPAddDelRoute)(nil), "ip.IPAddDelRoute") api.RegisterMessage((*IPAddDelRouteReply)(nil), "ip.IPAddDelRouteReply") api.RegisterMessage((*IPMrouteAddDel)(nil), "ip.IPMrouteAddDel") @@ -4573,12 +4986,18 @@ func init() { api.RegisterMessage((*IPPuntPoliceReply)(nil), "ip.IPPuntPoliceReply") api.RegisterMessage((*IPPuntRedirect)(nil), "ip.IPPuntRedirect") api.RegisterMessage((*IPPuntRedirectReply)(nil), "ip.IPPuntRedirectReply") + api.RegisterMessage((*IPPuntRedirectDump)(nil), "ip.IPPuntRedirectDump") + api.RegisterMessage((*IPPuntRedirectDetails)(nil), "ip.IPPuntRedirectDetails") api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel") api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip.IPContainerProxyAddDelReply") + api.RegisterMessage((*IPContainerProxyDump)(nil), "ip.IPContainerProxyDump") + api.RegisterMessage((*IPContainerProxyDetails)(nil), "ip.IPContainerProxyDetails") api.RegisterMessage((*IPSourceAndPortRangeCheckAddDel)(nil), "ip.IPSourceAndPortRangeCheckAddDel") api.RegisterMessage((*IPSourceAndPortRangeCheckAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckAddDelReply") api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDel)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDel") api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDelReply") + api.RegisterMessage((*IPSourceCheckInterfaceAddDel)(nil), "ip.IPSourceCheckInterfaceAddDel") + api.RegisterMessage((*IPSourceCheckInterfaceAddDelReply)(nil), "ip.IPSourceCheckInterfaceAddDelReply") api.RegisterMessage((*IPScanNeighborEnableDisable)(nil), "ip.IPScanNeighborEnableDisable") api.RegisterMessage((*IPScanNeighborEnableDisableReply)(nil), "ip.IPScanNeighborEnableDisableReply") api.RegisterMessage((*IPProbeNeighbor)(nil), "ip.IPProbeNeighbor") -- cgit 1.2.3-korg