diff --git a/vpp-manager/images/ubuntu-build/Dockerfile b/vpp-manager/images/ubuntu-build/Dockerfile index 63dd35f8..8e1451a9 100644 --- a/vpp-manager/images/ubuntu-build/Dockerfile +++ b/vpp-manager/images/ubuntu-build/Dockerfile @@ -9,22 +9,25 @@ RUN apt-get update \ curl build-essential autoconf automake ccache \ debhelper dkms git libtool libapr1-dev dh-python \ libconfuse-dev git-review exuberant-ctags cscope pkg-config \ - lcov chrpath autoconf libnuma-dev \ + gcovr lcov chrpath autoconf libnuma-dev \ python3-all python3-setuptools check \ libffi-dev python3-ply \ - cmake ninja-build uuid-dev python3-jsonschema python3-yaml \ + cmake ninja-build python3-jsonschema python3-yaml \ python3-venv \ python3-dev python3-pip \ libnl-3-dev libnl-route-3-dev libmnl-dev \ python3-virtualenv \ libssl-dev \ - libelf-dev \ - libpcap-dev iperf ethtool \ + libelf-dev libpcap-dev \ iperf3 \ nasm \ - clang clang-format-11 \ - enchant-2 \ - libffi7 + iperf ethtool \ + libpcap-dev \ + python3-virtualenv \ + libssl-dev \ + clang clang-format-11 \ + libffi7 \ + enchant-2 WORKDIR / diff --git a/vpp-manager/images/ubuntu/Dockerfile b/vpp-manager/images/ubuntu/Dockerfile index 12b5420e..afa6b5cb 100644 --- a/vpp-manager/images/ubuntu/Dockerfile +++ b/vpp-manager/images/ubuntu/Dockerfile @@ -6,6 +6,7 @@ RUN apt-get update \ && apt-get install -y openssl libapr1 libnuma1 \ libmbedcrypto7 libmbedtls14 libmbedx509-1 libsubunit0 \ iproute2 ifupdown ethtool libnl-3-dev libnl-route-3-dev \ + libpcap0.8 \ && rm -rf /var/lib/apt/lists/* # set work directory diff --git a/vpplink/generated/bindings/af_packet/af_packet.ba.go b/vpplink/generated/bindings/af_packet/af_packet.ba.go index 771ee7ba..341ddb75 100644 --- a/vpplink/generated/bindings/af_packet/af_packet.ba.go +++ b/vpplink/generated/bindings/af_packet/af_packet.ba.go @@ -110,6 +110,7 @@ func (x AfPacketMode) String() string { // - host_if_name - interface name // // AfPacketCreate defines message 'af_packet_create'. +// Deprecated: the message will be removed in the future versions type AfPacketCreate struct { HwAddr ethernet_types.MacAddress `binapi:"mac_address,name=hw_addr" json:"hw_addr,omitempty"` UseRandomHwAddr bool `binapi:"bool,name=use_random_hw_addr" json:"use_random_hw_addr,omitempty"` @@ -154,6 +155,7 @@ func (m *AfPacketCreate) Unmarshal(b []byte) error { // - retval - return value for request // // AfPacketCreateReply defines message 'af_packet_create_reply'. +// Deprecated: the message will be removed in the future versions type AfPacketCreateReply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` @@ -202,6 +204,7 @@ func (m *AfPacketCreateReply) Unmarshal(b []byte) error { // - num_rx_queues - number of rx queues // // AfPacketCreateV2 defines message 'af_packet_create_v2'. +// Deprecated: the message will be removed in the future versions type AfPacketCreateV2 struct { HwAddr ethernet_types.MacAddress `binapi:"mac_address,name=hw_addr" json:"hw_addr,omitempty"` UseRandomHwAddr bool `binapi:"bool,name=use_random_hw_addr" json:"use_random_hw_addr,omitempty"` @@ -270,6 +273,7 @@ func (m *AfPacketCreateV2) Unmarshal(b []byte) error { // - retval - return value for request // // AfPacketCreateV2Reply defines message 'af_packet_create_v2_reply'. +// Deprecated: the message will be removed in the future versions type AfPacketCreateV2Reply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` diff --git a/vpplink/generated/bindings/af_xdp/af_xdp.ba.go b/vpplink/generated/bindings/af_xdp/af_xdp.ba.go index 6adb97a8..6480a362 100644 --- a/vpplink/generated/bindings/af_xdp/af_xdp.ba.go +++ b/vpplink/generated/bindings/af_xdp/af_xdp.ba.go @@ -4,7 +4,7 @@ // // Contents: // - 2 enums -// - 6 messages +// - 8 messages package af_xdp import ( @@ -24,7 +24,7 @@ const _ = api.GoVppAPIPackageIsVersion2 const ( APIFile = "af_xdp" APIVersion = "1.0.0" - VersionCrc = 0x346626ce + VersionCrc = 0xd2949266 ) // AfXdpMode defines enum 'af_xdp_mode'. @@ -111,6 +111,7 @@ func (x AfXdpFlag) String() string { // - prog - eBPF program path (optional) // // AfXdpCreate defines message 'af_xdp_create'. +// Deprecated: the message will be removed in the future versions type AfXdpCreate struct { HostIf string `binapi:"string[64],name=host_if" json:"host_if,omitempty"` Name string `binapi:"string[64],name=name" json:"name,omitempty"` @@ -176,6 +177,7 @@ func (m *AfXdpCreate) Unmarshal(b []byte) error { // - sw_if_index - software index for the new af_xdp interface // // AfXdpCreateReply defines message 'af_xdp_create_reply'. +// Deprecated: the message will be removed in the future versions type AfXdpCreateReply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` @@ -224,6 +226,7 @@ func (m *AfXdpCreateReply) Unmarshal(b []byte) error { // - namespace - netns of nic (optional) // // AfXdpCreateV2 defines message 'af_xdp_create_v2'. +// Deprecated: the message will be removed in the future versions type AfXdpCreateV2 struct { HostIf string `binapi:"string[64],name=host_if" json:"host_if,omitempty"` Name string `binapi:"string[64],name=name" json:"name,omitempty"` @@ -293,6 +296,7 @@ func (m *AfXdpCreateV2) Unmarshal(b []byte) error { // - sw_if_index - software index for the new af_xdp interface // // AfXdpCreateV2Reply defines message 'af_xdp_create_v2_reply'. +// Deprecated: the message will be removed in the future versions type AfXdpCreateV2Reply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` @@ -330,8 +334,122 @@ func (m *AfXdpCreateV2Reply) Unmarshal(b []byte) error { } // - client_index - opaque cookie to identify the sender -// - sw_if_index - interface index +// - host_if - Linux netdev interface name +// - name - new af_xdp interface name (optional) +// - rxq_num - number of receive queues. 65535 can be used as special value to request all available queues (optional) +// - rxq_size - receive queue size (optional) +// - txq_size - transmit queue size (optional) +// - mode - operation mode (optional) +// - flags - flags (optional) +// - prog - eBPF program path (optional) +// - netns - netns of nic (optional) +// +// AfXdpCreateV3 defines message 'af_xdp_create_v3'. +type AfXdpCreateV3 struct { + HostIf string `binapi:"string[64],name=host_if" json:"host_if,omitempty"` + Name string `binapi:"string[64],name=name" json:"name,omitempty"` + RxqNum uint16 `binapi:"u16,name=rxq_num,default=1" json:"rxq_num,omitempty"` + RxqSize uint16 `binapi:"u16,name=rxq_size,default=0" json:"rxq_size,omitempty"` + TxqSize uint16 `binapi:"u16,name=txq_size,default=0" json:"txq_size,omitempty"` + Mode AfXdpMode `binapi:"af_xdp_mode,name=mode,default=0" json:"mode,omitempty"` + Flags AfXdpFlag `binapi:"af_xdp_flag,name=flags,default=0" json:"flags,omitempty"` + Prog string `binapi:"string[256],name=prog" json:"prog,omitempty"` + Netns string `binapi:"string[64],name=netns" json:"netns,omitempty"` +} + +func (m *AfXdpCreateV3) Reset() { *m = AfXdpCreateV3{} } +func (*AfXdpCreateV3) GetMessageName() string { return "af_xdp_create_v3" } +func (*AfXdpCreateV3) GetCrcString() string { return "cf4b1827" } +func (*AfXdpCreateV3) GetMessageType() api.MessageType { + return api.RequestMessage +} + +func (m *AfXdpCreateV3) Size() (size int) { + if m == nil { + return 0 + } + size += 64 // m.HostIf + size += 64 // m.Name + size += 2 // m.RxqNum + size += 2 // m.RxqSize + size += 2 // m.TxqSize + size += 4 // m.Mode + size += 1 // m.Flags + size += 256 // m.Prog + size += 64 // m.Netns + return size +} +func (m *AfXdpCreateV3) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeString(m.HostIf, 64) + buf.EncodeString(m.Name, 64) + buf.EncodeUint16(m.RxqNum) + buf.EncodeUint16(m.RxqSize) + buf.EncodeUint16(m.TxqSize) + buf.EncodeUint32(uint32(m.Mode)) + buf.EncodeUint8(uint8(m.Flags)) + buf.EncodeString(m.Prog, 256) + buf.EncodeString(m.Netns, 64) + return buf.Bytes(), nil +} +func (m *AfXdpCreateV3) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.HostIf = buf.DecodeString(64) + m.Name = buf.DecodeString(64) + m.RxqNum = buf.DecodeUint16() + m.RxqSize = buf.DecodeUint16() + m.TxqSize = buf.DecodeUint16() + m.Mode = AfXdpMode(buf.DecodeUint32()) + m.Flags = AfXdpFlag(buf.DecodeUint8()) + m.Prog = buf.DecodeString(256) + m.Netns = buf.DecodeString(64) + return nil +} + +// - context - sender context, to match reply w/ request +// - retval - return value for request +// - sw_if_index - software index for the new af_xdp interface // +// AfXdpCreateV3Reply defines message 'af_xdp_create_v3_reply'. +type AfXdpCreateV3Reply struct { + Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` + SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` +} + +func (m *AfXdpCreateV3Reply) Reset() { *m = AfXdpCreateV3Reply{} } +func (*AfXdpCreateV3Reply) GetMessageName() string { return "af_xdp_create_v3_reply" } +func (*AfXdpCreateV3Reply) GetCrcString() string { return "5383d31f" } +func (*AfXdpCreateV3Reply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +func (m *AfXdpCreateV3Reply) Size() (size int) { + if m == nil { + return 0 + } + size += 4 // m.Retval + size += 4 // m.SwIfIndex + return size +} +func (m *AfXdpCreateV3Reply) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeInt32(m.Retval) + buf.EncodeUint32(uint32(m.SwIfIndex)) + return buf.Bytes(), nil +} +func (m *AfXdpCreateV3Reply) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.Retval = buf.DecodeInt32() + m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) + return nil +} + // AfXdpDelete defines message 'af_xdp_delete'. type AfXdpDelete struct { SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` @@ -404,6 +522,8 @@ func file_af_xdp_binapi_init() { api.RegisterMessage((*AfXdpCreateReply)(nil), "af_xdp_create_reply_5383d31f") api.RegisterMessage((*AfXdpCreateV2)(nil), "af_xdp_create_v2_e17ec2eb") api.RegisterMessage((*AfXdpCreateV2Reply)(nil), "af_xdp_create_v2_reply_5383d31f") + api.RegisterMessage((*AfXdpCreateV3)(nil), "af_xdp_create_v3_cf4b1827") + api.RegisterMessage((*AfXdpCreateV3Reply)(nil), "af_xdp_create_v3_reply_5383d31f") api.RegisterMessage((*AfXdpDelete)(nil), "af_xdp_delete_f9e6675e") api.RegisterMessage((*AfXdpDeleteReply)(nil), "af_xdp_delete_reply_e8d4e804") } @@ -415,6 +535,8 @@ func AllMessages() []api.Message { (*AfXdpCreateReply)(nil), (*AfXdpCreateV2)(nil), (*AfXdpCreateV2Reply)(nil), + (*AfXdpCreateV3)(nil), + (*AfXdpCreateV3Reply)(nil), (*AfXdpDelete)(nil), (*AfXdpDeleteReply)(nil), } diff --git a/vpplink/generated/bindings/af_xdp/af_xdp_rpc.ba.go b/vpplink/generated/bindings/af_xdp/af_xdp_rpc.ba.go index 32ee6342..8c7e8459 100644 --- a/vpplink/generated/bindings/af_xdp/af_xdp_rpc.ba.go +++ b/vpplink/generated/bindings/af_xdp/af_xdp_rpc.ba.go @@ -12,6 +12,7 @@ import ( type RPCService interface { AfXdpCreate(ctx context.Context, in *AfXdpCreate) (*AfXdpCreateReply, error) AfXdpCreateV2(ctx context.Context, in *AfXdpCreateV2) (*AfXdpCreateV2Reply, error) + AfXdpCreateV3(ctx context.Context, in *AfXdpCreateV3) (*AfXdpCreateV3Reply, error) AfXdpDelete(ctx context.Context, in *AfXdpDelete) (*AfXdpDeleteReply, error) } @@ -41,6 +42,15 @@ func (c *serviceClient) AfXdpCreateV2(ctx context.Context, in *AfXdpCreateV2) (* return out, api.RetvalToVPPApiError(out.Retval) } +func (c *serviceClient) AfXdpCreateV3(ctx context.Context, in *AfXdpCreateV3) (*AfXdpCreateV3Reply, error) { + out := new(AfXdpCreateV3Reply) + err := c.conn.Invoke(ctx, in, out) + if err != nil { + return nil, err + } + return out, api.RetvalToVPPApiError(out.Retval) +} + func (c *serviceClient) AfXdpDelete(ctx context.Context, in *AfXdpDelete) (*AfXdpDeleteReply, error) { out := new(AfXdpDeleteReply) err := c.conn.Invoke(ctx, in, out) diff --git a/vpplink/generated/bindings/cnat/cnat.ba.go b/vpplink/generated/bindings/cnat/cnat.ba.go index c0f99de9..8b9adc88 100644 --- a/vpplink/generated/bindings/cnat/cnat.ba.go +++ b/vpplink/generated/bindings/cnat/cnat.ba.go @@ -29,8 +29,8 @@ const _ = api.GoVppAPIPackageIsVersion2 const ( APIFile = "cnat" - APIVersion = "0.2.0" - VersionCrc = 0xece555ea + APIVersion = "0.3.0" + VersionCrc = 0xce7be3ad ) // CnatEndpointTupleFlags defines enum 'cnat_endpoint_tuple_flags'. @@ -170,15 +170,18 @@ func (x CnatSnatPolicyTable) String() string { type CnatTranslationFlags uint8 const ( - CNAT_TRANSLATION_ALLOC_PORT CnatTranslationFlags = 1 + CNAT_TRANSLATION_ALLOC_PORT CnatTranslationFlags = 1 + CNAT_TRANSLATION_NO_RETURN_SESSION CnatTranslationFlags = 4 ) var ( CnatTranslationFlags_name = map[uint8]string{ 1: "CNAT_TRANSLATION_ALLOC_PORT", + 4: "CNAT_TRANSLATION_NO_RETURN_SESSION", } CnatTranslationFlags_value = map[string]uint8{ - "CNAT_TRANSLATION_ALLOC_PORT": 1, + "CNAT_TRANSLATION_ALLOC_PORT": 1, + "CNAT_TRANSLATION_NO_RETURN_SESSION": 4, } ) diff --git a/vpplink/generated/bindings/crypto_sw_scheduler/crypto_sw_scheduler.ba.go b/vpplink/generated/bindings/crypto_sw_scheduler/crypto_sw_scheduler.ba.go index a86b3049..84d14051 100644 --- a/vpplink/generated/bindings/crypto_sw_scheduler/crypto_sw_scheduler.ba.go +++ b/vpplink/generated/bindings/crypto_sw_scheduler/crypto_sw_scheduler.ba.go @@ -19,7 +19,7 @@ const _ = api.GoVppAPIPackageIsVersion2 const ( APIFile = "crypto_sw_scheduler" - APIVersion = "0.1.0" + APIVersion = "1.1.0" VersionCrc = 0xf4b02951 ) diff --git a/vpplink/generated/bindings/interface/interface.ba.go b/vpplink/generated/bindings/interface/interface.ba.go index 7224f674..b4d4ced4 100644 --- a/vpplink/generated/bindings/interface/interface.ba.go +++ b/vpplink/generated/bindings/interface/interface.ba.go @@ -3,7 +3,7 @@ // Package interfaces contains generated bindings for API file interface.api. // // Contents: -// - 72 messages +// - 74 messages package interfaces import ( @@ -23,7 +23,7 @@ const _ = api.GoVppAPIPackageIsVersion2 const ( APIFile = "interface" APIVersion = "3.2.3" - VersionCrc = 0x82b1edb3 + VersionCrc = 0x2c32eb46 ) // Enable or disable detailed interface stats @@ -801,6 +801,76 @@ func (m *InterfaceNameRenumberReply) Unmarshal(b []byte) error { return nil } +// pcap_set_filter_function +// - filter_function_name - the name of the filter function +// to set for pcap capture +// +// PcapSetFilterFunction defines message 'pcap_set_filter_function'. +type PcapSetFilterFunction struct { + FilterFunctionName string `binapi:"string[],name=filter_function_name" json:"filter_function_name,omitempty"` +} + +func (m *PcapSetFilterFunction) Reset() { *m = PcapSetFilterFunction{} } +func (*PcapSetFilterFunction) GetMessageName() string { return "pcap_set_filter_function" } +func (*PcapSetFilterFunction) GetCrcString() string { return "616abb92" } +func (*PcapSetFilterFunction) GetMessageType() api.MessageType { + return api.RequestMessage +} + +func (m *PcapSetFilterFunction) Size() (size int) { + if m == nil { + return 0 + } + size += 4 + len(m.FilterFunctionName) // m.FilterFunctionName + return size +} +func (m *PcapSetFilterFunction) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeString(m.FilterFunctionName, 0) + return buf.Bytes(), nil +} +func (m *PcapSetFilterFunction) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.FilterFunctionName = buf.DecodeString(0) + return nil +} + +// PcapSetFilterFunctionReply defines message 'pcap_set_filter_function_reply'. +type PcapSetFilterFunctionReply struct { + Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` +} + +func (m *PcapSetFilterFunctionReply) Reset() { *m = PcapSetFilterFunctionReply{} } +func (*PcapSetFilterFunctionReply) GetMessageName() string { return "pcap_set_filter_function_reply" } +func (*PcapSetFilterFunctionReply) GetCrcString() string { return "e8d4e804" } +func (*PcapSetFilterFunctionReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +func (m *PcapSetFilterFunctionReply) Size() (size int) { + if m == nil { + return 0 + } + size += 4 // m.Retval + return size +} +func (m *PcapSetFilterFunctionReply) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeInt32(m.Retval) + return buf.Bytes(), nil +} +func (m *PcapSetFilterFunctionReply) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.Retval = buf.DecodeInt32() + return nil +} + // PcapTraceOff defines message 'pcap_trace_off'. type PcapTraceOff struct{} @@ -2636,13 +2706,13 @@ func (m *SwInterfaceSetTableReply) Unmarshal(b []byte) error { type SwInterfaceSetTxPlacement struct { SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` QueueID uint32 `binapi:"u32,name=queue_id" json:"queue_id,omitempty"` - ArraySize uint8 `binapi:"u8,name=array_size" json:"-"` + ArraySize uint32 `binapi:"u32,name=array_size" json:"-"` Threads []uint32 `binapi:"u32[array_size],name=threads" json:"threads,omitempty"` } func (m *SwInterfaceSetTxPlacement) Reset() { *m = SwInterfaceSetTxPlacement{} } func (*SwInterfaceSetTxPlacement) GetMessageName() string { return "sw_interface_set_tx_placement" } -func (*SwInterfaceSetTxPlacement) GetCrcString() string { return "0b855b40" } +func (*SwInterfaceSetTxPlacement) GetCrcString() string { return "4e0cd5ff" } func (*SwInterfaceSetTxPlacement) GetMessageType() api.MessageType { return api.RequestMessage } @@ -2653,7 +2723,7 @@ func (m *SwInterfaceSetTxPlacement) Size() (size int) { } size += 4 // m.SwIfIndex size += 4 // m.QueueID - size += 1 // m.ArraySize + size += 4 // m.ArraySize size += 4 * len(m.Threads) // m.Threads return size } @@ -2664,7 +2734,7 @@ func (m *SwInterfaceSetTxPlacement) Marshal(b []byte) ([]byte, error) { buf := codec.NewBuffer(b) buf.EncodeUint32(uint32(m.SwIfIndex)) buf.EncodeUint32(m.QueueID) - buf.EncodeUint8(uint8(len(m.Threads))) + buf.EncodeUint32(uint32(len(m.Threads))) for i := 0; i < len(m.Threads); i++ { var x uint32 if i < len(m.Threads) { @@ -2678,7 +2748,7 @@ func (m *SwInterfaceSetTxPlacement) Unmarshal(b []byte) error { buf := codec.NewBuffer(b) m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) m.QueueID = buf.DecodeUint32() - m.ArraySize = buf.DecodeUint8() + m.ArraySize = buf.DecodeUint32() m.Threads = make([]uint32, m.ArraySize) for i := 0; i < len(m.Threads); i++ { m.Threads[i] = buf.DecodeUint32() @@ -3134,6 +3204,8 @@ func file_interfaces_binapi_init() { api.RegisterMessage((*HwInterfaceSetMtuReply)(nil), "hw_interface_set_mtu_reply_e8d4e804") api.RegisterMessage((*InterfaceNameRenumber)(nil), "interface_name_renumber_2b8858b8") api.RegisterMessage((*InterfaceNameRenumberReply)(nil), "interface_name_renumber_reply_e8d4e804") + api.RegisterMessage((*PcapSetFilterFunction)(nil), "pcap_set_filter_function_616abb92") + api.RegisterMessage((*PcapSetFilterFunctionReply)(nil), "pcap_set_filter_function_reply_e8d4e804") api.RegisterMessage((*PcapTraceOff)(nil), "pcap_trace_off_51077d14") api.RegisterMessage((*PcapTraceOffReply)(nil), "pcap_trace_off_reply_e8d4e804") api.RegisterMessage((*PcapTraceOn)(nil), "pcap_trace_on_cb39e968") @@ -3175,7 +3247,7 @@ func file_interfaces_binapi_init() { api.RegisterMessage((*SwInterfaceSetRxPlacementReply)(nil), "sw_interface_set_rx_placement_reply_e8d4e804") api.RegisterMessage((*SwInterfaceSetTable)(nil), "sw_interface_set_table_df42a577") api.RegisterMessage((*SwInterfaceSetTableReply)(nil), "sw_interface_set_table_reply_e8d4e804") - api.RegisterMessage((*SwInterfaceSetTxPlacement)(nil), "sw_interface_set_tx_placement_0b855b40") + api.RegisterMessage((*SwInterfaceSetTxPlacement)(nil), "sw_interface_set_tx_placement_4e0cd5ff") api.RegisterMessage((*SwInterfaceSetTxPlacementReply)(nil), "sw_interface_set_tx_placement_reply_e8d4e804") api.RegisterMessage((*SwInterfaceSetUnnumbered)(nil), "sw_interface_set_unnumbered_154a6439") api.RegisterMessage((*SwInterfaceSetUnnumberedReply)(nil), "sw_interface_set_unnumbered_reply_e8d4e804") @@ -3211,6 +3283,8 @@ func AllMessages() []api.Message { (*HwInterfaceSetMtuReply)(nil), (*InterfaceNameRenumber)(nil), (*InterfaceNameRenumberReply)(nil), + (*PcapSetFilterFunction)(nil), + (*PcapSetFilterFunctionReply)(nil), (*PcapTraceOff)(nil), (*PcapTraceOffReply)(nil), (*PcapTraceOn)(nil), diff --git a/vpplink/generated/bindings/interface/interface_rpc.ba.go b/vpplink/generated/bindings/interface/interface_rpc.ba.go index a823d8c9..a3f2f705 100644 --- a/vpplink/generated/bindings/interface/interface_rpc.ba.go +++ b/vpplink/generated/bindings/interface/interface_rpc.ba.go @@ -23,6 +23,7 @@ type RPCService interface { GetBuffersStats(ctx context.Context, in *GetBuffersStats) (*GetBuffersStatsReply, error) HwInterfaceSetMtu(ctx context.Context, in *HwInterfaceSetMtu) (*HwInterfaceSetMtuReply, error) InterfaceNameRenumber(ctx context.Context, in *InterfaceNameRenumber) (*InterfaceNameRenumberReply, error) + PcapSetFilterFunction(ctx context.Context, in *PcapSetFilterFunction) (*PcapSetFilterFunctionReply, error) PcapTraceOff(ctx context.Context, in *PcapTraceOff) (*PcapTraceOffReply, error) PcapTraceOn(ctx context.Context, in *PcapTraceOn) (*PcapTraceOnReply, error) SwInterfaceAddDelAddress(ctx context.Context, in *SwInterfaceAddDelAddress) (*SwInterfaceAddDelAddressReply, error) @@ -148,6 +149,15 @@ func (c *serviceClient) InterfaceNameRenumber(ctx context.Context, in *Interface return out, api.RetvalToVPPApiError(out.Retval) } +func (c *serviceClient) PcapSetFilterFunction(ctx context.Context, in *PcapSetFilterFunction) (*PcapSetFilterFunctionReply, error) { + out := new(PcapSetFilterFunctionReply) + err := c.conn.Invoke(ctx, in, out) + if err != nil { + return nil, err + } + return out, api.RetvalToVPPApiError(out.Retval) +} + func (c *serviceClient) PcapTraceOff(ctx context.Context, in *PcapTraceOff) (*PcapTraceOffReply, error) { out := new(PcapTraceOffReply) err := c.conn.Invoke(ctx, in, out) diff --git a/vpplink/generated/bindings/ip/ip.ba.go b/vpplink/generated/bindings/ip/ip.ba.go index 47961d98..061f5393 100644 --- a/vpplink/generated/bindings/ip/ip.ba.go +++ b/vpplink/generated/bindings/ip/ip.ba.go @@ -1908,6 +1908,7 @@ func (m *IPPuntRedirect) Unmarshal(b []byte) error { } // IPPuntRedirectDetails defines message 'ip_punt_redirect_details'. +// Deprecated: the message will be removed in the future versions type IPPuntRedirectDetails struct { Punt PuntRedirect `binapi:"punt_redirect,name=punt" json:"punt,omitempty"` } @@ -1950,6 +1951,7 @@ func (m *IPPuntRedirectDetails) Unmarshal(b []byte) error { } // IPPuntRedirectDump defines message 'ip_punt_redirect_dump'. +// Deprecated: the message will be removed in the future versions type IPPuntRedirectDump struct { SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"` diff --git a/vpplink/generated/bindings/ip_neighbor/ip_neighbor.ba.go b/vpplink/generated/bindings/ip_neighbor/ip_neighbor.ba.go index e508ea7b..05fae9ea 100644 --- a/vpplink/generated/bindings/ip_neighbor/ip_neighbor.ba.go +++ b/vpplink/generated/bindings/ip_neighbor/ip_neighbor.ba.go @@ -5,7 +5,7 @@ // Contents: // - 2 enums // - 1 struct -// - 18 messages +// - 20 messages package ip_neighbor import ( @@ -26,8 +26,8 @@ const _ = api.GoVppAPIPackageIsVersion2 const ( APIFile = "ip_neighbor" - APIVersion = "1.0.0" - VersionCrc = 0xfde4a69a + APIVersion = "1.0.1" + VersionCrc = 0x36db39bd ) // IPNeighborEventFlags defines enum 'ip_neighbor_event_flags'. @@ -282,6 +282,102 @@ func (m *IPNeighborConfig) Unmarshal(b []byte) error { return nil } +// Get neighbor database configuration per AF +// - af - Address family (v4/v6) +// +// IPNeighborConfigGet defines message 'ip_neighbor_config_get'. +// InProgress: the message form may change in the future versions +type IPNeighborConfigGet struct { + Af ip_types.AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"` +} + +func (m *IPNeighborConfigGet) Reset() { *m = IPNeighborConfigGet{} } +func (*IPNeighborConfigGet) GetMessageName() string { return "ip_neighbor_config_get" } +func (*IPNeighborConfigGet) GetCrcString() string { return "a5db7bf7" } +func (*IPNeighborConfigGet) GetMessageType() api.MessageType { + return api.RequestMessage +} + +func (m *IPNeighborConfigGet) Size() (size int) { + if m == nil { + return 0 + } + size += 1 // m.Af + return size +} +func (m *IPNeighborConfigGet) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeUint8(uint8(m.Af)) + return buf.Bytes(), nil +} +func (m *IPNeighborConfigGet) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.Af = ip_types.AddressFamily(buf.DecodeUint8()) + return nil +} + +// Neighbor database configuration reply +// - retval - error (0 is "no error") +// - af - Address family (v4/v6) +// - max_number - The maximum number of neighbours that will be created +// - max_age - The maximum age (in seconds) before an inactive neighbour +// is flushed +// - recycle - If max_number of neighbours is reached and new ones need +// to be created, should the oldest neighbour be 'recycled' +// +// IPNeighborConfigGetReply defines message 'ip_neighbor_config_get_reply'. +// InProgress: the message form may change in the future versions +type IPNeighborConfigGetReply struct { + Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` + Af ip_types.AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"` + MaxNumber uint32 `binapi:"u32,name=max_number" json:"max_number,omitempty"` + MaxAge uint32 `binapi:"u32,name=max_age" json:"max_age,omitempty"` + Recycle bool `binapi:"bool,name=recycle" json:"recycle,omitempty"` +} + +func (m *IPNeighborConfigGetReply) Reset() { *m = IPNeighborConfigGetReply{} } +func (*IPNeighborConfigGetReply) GetMessageName() string { return "ip_neighbor_config_get_reply" } +func (*IPNeighborConfigGetReply) GetCrcString() string { return "798e6fdd" } +func (*IPNeighborConfigGetReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +func (m *IPNeighborConfigGetReply) Size() (size int) { + if m == nil { + return 0 + } + size += 4 // m.Retval + size += 1 // m.Af + size += 4 // m.MaxNumber + size += 4 // m.MaxAge + size += 1 // m.Recycle + return size +} +func (m *IPNeighborConfigGetReply) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeInt32(m.Retval) + buf.EncodeUint8(uint8(m.Af)) + buf.EncodeUint32(m.MaxNumber) + buf.EncodeUint32(m.MaxAge) + buf.EncodeBool(m.Recycle) + return buf.Bytes(), nil +} +func (m *IPNeighborConfigGetReply) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.Retval = buf.DecodeInt32() + m.Af = ip_types.AddressFamily(buf.DecodeUint8()) + m.MaxNumber = buf.DecodeUint32() + m.MaxAge = buf.DecodeUint32() + m.Recycle = buf.DecodeBool() + return nil +} + // IPNeighborConfigReply defines message 'ip_neighbor_config_reply'. type IPNeighborConfigReply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` @@ -923,6 +1019,8 @@ func file_ip_neighbor_binapi_init() { api.RegisterMessage((*IPNeighborAddDel)(nil), "ip_neighbor_add_del_0607c257") api.RegisterMessage((*IPNeighborAddDelReply)(nil), "ip_neighbor_add_del_reply_1992deab") api.RegisterMessage((*IPNeighborConfig)(nil), "ip_neighbor_config_f4a5cf44") + api.RegisterMessage((*IPNeighborConfigGet)(nil), "ip_neighbor_config_get_a5db7bf7") + api.RegisterMessage((*IPNeighborConfigGetReply)(nil), "ip_neighbor_config_get_reply_798e6fdd") api.RegisterMessage((*IPNeighborConfigReply)(nil), "ip_neighbor_config_reply_e8d4e804") api.RegisterMessage((*IPNeighborDetails)(nil), "ip_neighbor_details_e29d79f0") api.RegisterMessage((*IPNeighborDump)(nil), "ip_neighbor_dump_d817a484") @@ -946,6 +1044,8 @@ func AllMessages() []api.Message { (*IPNeighborAddDel)(nil), (*IPNeighborAddDelReply)(nil), (*IPNeighborConfig)(nil), + (*IPNeighborConfigGet)(nil), + (*IPNeighborConfigGetReply)(nil), (*IPNeighborConfigReply)(nil), (*IPNeighborDetails)(nil), (*IPNeighborDump)(nil), diff --git a/vpplink/generated/bindings/ip_neighbor/ip_neighbor_rpc.ba.go b/vpplink/generated/bindings/ip_neighbor/ip_neighbor_rpc.ba.go index 83f0ab36..a025665a 100644 --- a/vpplink/generated/bindings/ip_neighbor/ip_neighbor_rpc.ba.go +++ b/vpplink/generated/bindings/ip_neighbor/ip_neighbor_rpc.ba.go @@ -15,6 +15,7 @@ import ( type RPCService interface { IPNeighborAddDel(ctx context.Context, in *IPNeighborAddDel) (*IPNeighborAddDelReply, error) IPNeighborConfig(ctx context.Context, in *IPNeighborConfig) (*IPNeighborConfigReply, error) + IPNeighborConfigGet(ctx context.Context, in *IPNeighborConfigGet) (*IPNeighborConfigGetReply, error) IPNeighborDump(ctx context.Context, in *IPNeighborDump) (RPCService_IPNeighborDumpClient, error) IPNeighborFlush(ctx context.Context, in *IPNeighborFlush) (*IPNeighborFlushReply, error) IPNeighborReplaceBegin(ctx context.Context, in *IPNeighborReplaceBegin) (*IPNeighborReplaceBeginReply, error) @@ -49,6 +50,15 @@ func (c *serviceClient) IPNeighborConfig(ctx context.Context, in *IPNeighborConf return out, api.RetvalToVPPApiError(out.Retval) } +func (c *serviceClient) IPNeighborConfigGet(ctx context.Context, in *IPNeighborConfigGet) (*IPNeighborConfigGetReply, error) { + out := new(IPNeighborConfigGetReply) + err := c.conn.Invoke(ctx, in, out) + if err != nil { + return nil, err + } + return out, api.RetvalToVPPApiError(out.Retval) +} + func (c *serviceClient) IPNeighborDump(ctx context.Context, in *IPNeighborDump) (RPCService_IPNeighborDumpClient, error) { stream, err := c.conn.NewStream(ctx) if err != nil { diff --git a/vpplink/generated/bindings/ipsec/ipsec.ba.go b/vpplink/generated/bindings/ipsec/ipsec.ba.go index 90e847b0..18e01fed 100644 --- a/vpplink/generated/bindings/ipsec/ipsec.ba.go +++ b/vpplink/generated/bindings/ipsec/ipsec.ba.go @@ -4,7 +4,7 @@ // // Contents: // - 2 structs -// - 50 messages +// - 56 messages package ipsec import ( @@ -25,7 +25,7 @@ const _ = api.GoVppAPIPackageIsVersion2 const ( APIFile = "ipsec" APIVersion = "5.0.2" - VersionCrc = 0x9dfdcc71 + VersionCrc = 0x1b4ba2ec ) // IpsecItf defines type 'ipsec_itf'. @@ -583,6 +583,7 @@ func (m *IpsecSaDump) Unmarshal(b []byte) error { } // IpsecSaV2Details defines message 'ipsec_sa_v2_details'. +// Deprecated: the message will be removed in the future versions type IpsecSaV2Details struct { Entry ipsec_types.IpsecSadEntryV2 `binapi:"ipsec_sad_entry_v2,name=entry" json:"entry,omitempty"` SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` @@ -699,6 +700,7 @@ func (m *IpsecSaV2Details) Unmarshal(b []byte) error { } // IpsecSaV2Dump defines message 'ipsec_sa_v2_dump'. +// Deprecated: the message will be removed in the future versions type IpsecSaV2Dump struct { SaID uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"` } @@ -891,6 +893,244 @@ func (m *IpsecSaV3Dump) Unmarshal(b []byte) error { return nil } +// IpsecSaV4Details defines message 'ipsec_sa_v4_details'. +type IpsecSaV4Details struct { + Entry ipsec_types.IpsecSadEntryV3 `binapi:"ipsec_sad_entry_v3,name=entry" json:"entry,omitempty"` + SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` + SeqOutbound uint64 `binapi:"u64,name=seq_outbound" json:"seq_outbound,omitempty"` + LastSeqInbound uint64 `binapi:"u64,name=last_seq_inbound" json:"last_seq_inbound,omitempty"` + ReplayWindow uint64 `binapi:"u64,name=replay_window" json:"replay_window,omitempty"` + ThreadIndex uint32 `binapi:"u32,name=thread_index" json:"thread_index,omitempty"` + StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"` +} + +func (m *IpsecSaV4Details) Reset() { *m = IpsecSaV4Details{} } +func (*IpsecSaV4Details) GetMessageName() string { return "ipsec_sa_v4_details" } +func (*IpsecSaV4Details) GetCrcString() string { return "87a322d7" } +func (*IpsecSaV4Details) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +func (m *IpsecSaV4Details) Size() (size int) { + if m == nil { + return 0 + } + size += 4 // m.Entry.SadID + size += 4 // m.Entry.Spi + size += 4 // m.Entry.Protocol + size += 4 // m.Entry.CryptoAlgorithm + size += 1 // m.Entry.CryptoKey.Length + size += 1 * 128 // m.Entry.CryptoKey.Data + size += 4 // m.Entry.IntegrityAlgorithm + size += 1 // m.Entry.IntegrityKey.Length + size += 1 * 128 // m.Entry.IntegrityKey.Data + size += 4 // m.Entry.Flags + size += 4 // m.Entry.Tunnel.Instance + size += 1 // m.Entry.Tunnel.Src.Af + size += 1 * 16 // m.Entry.Tunnel.Src.Un + size += 1 // m.Entry.Tunnel.Dst.Af + size += 1 * 16 // m.Entry.Tunnel.Dst.Un + size += 4 // m.Entry.Tunnel.SwIfIndex + size += 4 // m.Entry.Tunnel.TableID + size += 1 // m.Entry.Tunnel.EncapDecapFlags + size += 1 // m.Entry.Tunnel.Mode + size += 1 // m.Entry.Tunnel.Flags + size += 1 // m.Entry.Tunnel.Dscp + size += 1 // m.Entry.Tunnel.HopLimit + size += 4 // m.Entry.Salt + size += 2 // m.Entry.UDPSrcPort + size += 2 // m.Entry.UDPDstPort + size += 4 // m.SwIfIndex + size += 8 // m.SeqOutbound + size += 8 // m.LastSeqInbound + size += 8 // m.ReplayWindow + size += 4 // m.ThreadIndex + size += 4 // m.StatIndex + return size +} +func (m *IpsecSaV4Details) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeUint32(m.Entry.SadID) + buf.EncodeUint32(m.Entry.Spi) + buf.EncodeUint32(uint32(m.Entry.Protocol)) + buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm)) + buf.EncodeUint8(m.Entry.CryptoKey.Length) + buf.EncodeBytes(m.Entry.CryptoKey.Data, 128) + buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm)) + buf.EncodeUint8(m.Entry.IntegrityKey.Length) + buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128) + buf.EncodeUint32(uint32(m.Entry.Flags)) + buf.EncodeUint32(m.Entry.Tunnel.Instance) + buf.EncodeUint8(uint8(m.Entry.Tunnel.Src.Af)) + buf.EncodeBytes(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], 16) + buf.EncodeUint8(uint8(m.Entry.Tunnel.Dst.Af)) + buf.EncodeBytes(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], 16) + buf.EncodeUint32(uint32(m.Entry.Tunnel.SwIfIndex)) + buf.EncodeUint32(m.Entry.Tunnel.TableID) + buf.EncodeUint8(uint8(m.Entry.Tunnel.EncapDecapFlags)) + buf.EncodeUint8(uint8(m.Entry.Tunnel.Mode)) + buf.EncodeUint8(uint8(m.Entry.Tunnel.Flags)) + buf.EncodeUint8(uint8(m.Entry.Tunnel.Dscp)) + buf.EncodeUint8(m.Entry.Tunnel.HopLimit) + buf.EncodeUint32(m.Entry.Salt) + buf.EncodeUint16(m.Entry.UDPSrcPort) + buf.EncodeUint16(m.Entry.UDPDstPort) + buf.EncodeUint32(uint32(m.SwIfIndex)) + buf.EncodeUint64(m.SeqOutbound) + buf.EncodeUint64(m.LastSeqInbound) + buf.EncodeUint64(m.ReplayWindow) + buf.EncodeUint32(m.ThreadIndex) + buf.EncodeUint32(m.StatIndex) + return buf.Bytes(), nil +} +func (m *IpsecSaV4Details) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.Entry.SadID = buf.DecodeUint32() + m.Entry.Spi = buf.DecodeUint32() + m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32()) + m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32()) + m.Entry.CryptoKey.Length = buf.DecodeUint8() + m.Entry.CryptoKey.Data = make([]byte, 128) + copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data))) + m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32()) + m.Entry.IntegrityKey.Length = buf.DecodeUint8() + m.Entry.IntegrityKey.Data = make([]byte, 128) + copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data))) + m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32()) + m.Entry.Tunnel.Instance = buf.DecodeUint32() + m.Entry.Tunnel.Src.Af = ip_types.AddressFamily(buf.DecodeUint8()) + copy(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], buf.DecodeBytes(16)) + m.Entry.Tunnel.Dst.Af = ip_types.AddressFamily(buf.DecodeUint8()) + copy(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], buf.DecodeBytes(16)) + m.Entry.Tunnel.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) + m.Entry.Tunnel.TableID = buf.DecodeUint32() + m.Entry.Tunnel.EncapDecapFlags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8()) + m.Entry.Tunnel.Mode = tunnel_types.TunnelMode(buf.DecodeUint8()) + m.Entry.Tunnel.Flags = tunnel_types.TunnelFlags(buf.DecodeUint8()) + m.Entry.Tunnel.Dscp = ip_types.IPDscp(buf.DecodeUint8()) + m.Entry.Tunnel.HopLimit = buf.DecodeUint8() + m.Entry.Salt = buf.DecodeUint32() + m.Entry.UDPSrcPort = buf.DecodeUint16() + m.Entry.UDPDstPort = buf.DecodeUint16() + m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) + m.SeqOutbound = buf.DecodeUint64() + m.LastSeqInbound = buf.DecodeUint64() + m.ReplayWindow = buf.DecodeUint64() + m.ThreadIndex = buf.DecodeUint32() + m.StatIndex = buf.DecodeUint32() + return nil +} + +// IpsecSaV4Dump defines message 'ipsec_sa_v4_dump'. +type IpsecSaV4Dump struct { + SaID uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"` +} + +func (m *IpsecSaV4Dump) Reset() { *m = IpsecSaV4Dump{} } +func (*IpsecSaV4Dump) GetMessageName() string { return "ipsec_sa_v4_dump" } +func (*IpsecSaV4Dump) GetCrcString() string { return "2076c2f4" } +func (*IpsecSaV4Dump) GetMessageType() api.MessageType { + return api.RequestMessage +} + +func (m *IpsecSaV4Dump) Size() (size int) { + if m == nil { + return 0 + } + size += 4 // m.SaID + return size +} +func (m *IpsecSaV4Dump) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeUint32(m.SaID) + return buf.Bytes(), nil +} +func (m *IpsecSaV4Dump) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.SaID = buf.DecodeUint32() + return nil +} + +// An API to bind an SAD entry to a specific worker +// - sa_id - the id of the SA to bind +// - worker - the worker's index to which the SA will be bound to +// +// IpsecSadBind defines message 'ipsec_sad_bind'. +type IpsecSadBind struct { + SaID uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"` + Worker uint32 `binapi:"u32,name=worker" json:"worker,omitempty"` +} + +func (m *IpsecSadBind) Reset() { *m = IpsecSadBind{} } +func (*IpsecSadBind) GetMessageName() string { return "ipsec_sad_bind" } +func (*IpsecSadBind) GetCrcString() string { return "0649c0d9" } +func (*IpsecSadBind) GetMessageType() api.MessageType { + return api.RequestMessage +} + +func (m *IpsecSadBind) Size() (size int) { + if m == nil { + return 0 + } + size += 4 // m.SaID + size += 4 // m.Worker + return size +} +func (m *IpsecSadBind) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeUint32(m.SaID) + buf.EncodeUint32(m.Worker) + return buf.Bytes(), nil +} +func (m *IpsecSadBind) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.SaID = buf.DecodeUint32() + m.Worker = buf.DecodeUint32() + return nil +} + +// IpsecSadBindReply defines message 'ipsec_sad_bind_reply'. +type IpsecSadBindReply struct { + Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` +} + +func (m *IpsecSadBindReply) Reset() { *m = IpsecSadBindReply{} } +func (*IpsecSadBindReply) GetMessageName() string { return "ipsec_sad_bind_reply" } +func (*IpsecSadBindReply) GetCrcString() string { return "e8d4e804" } +func (*IpsecSadBindReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +func (m *IpsecSadBindReply) Size() (size int) { + if m == nil { + return 0 + } + size += 4 // m.Retval + return size +} +func (m *IpsecSadBindReply) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeInt32(m.Retval) + return buf.Bytes(), nil +} +func (m *IpsecSadBindReply) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.Retval = buf.DecodeInt32() + return nil +} + // IpsecSadEntryAdd defines message 'ipsec_sad_entry_add'. type IpsecSadEntryAdd struct { Entry ipsec_types.IpsecSadEntryV3 `binapi:"ipsec_sad_entry_v3,name=entry" json:"entry,omitempty"` @@ -1131,6 +1371,7 @@ func (m *IpsecSadEntryAddDelReply) Unmarshal(b []byte) error { } // IpsecSadEntryAddDelV2 defines message 'ipsec_sad_entry_add_del_v2'. +// Deprecated: the message will be removed in the future versions type IpsecSadEntryAddDelV2 struct { IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"` Entry ipsec_types.IpsecSadEntryV2 `binapi:"ipsec_sad_entry_v2,name=entry" json:"entry,omitempty"` @@ -1227,6 +1468,7 @@ func (m *IpsecSadEntryAddDelV2) Unmarshal(b []byte) error { } // IpsecSadEntryAddDelV2Reply defines message 'ipsec_sad_entry_add_del_v2_reply'. +// Deprecated: the message will be removed in the future versions type IpsecSadEntryAddDelV2Reply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"` @@ -1638,6 +1880,72 @@ func (m *IpsecSadEntryUpdateReply) Unmarshal(b []byte) error { return nil } +// IpsecSadUnbind defines message 'ipsec_sad_unbind'. +type IpsecSadUnbind struct { + SaID uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"` +} + +func (m *IpsecSadUnbind) Reset() { *m = IpsecSadUnbind{} } +func (*IpsecSadUnbind) GetMessageName() string { return "ipsec_sad_unbind" } +func (*IpsecSadUnbind) GetCrcString() string { return "2076c2f4" } +func (*IpsecSadUnbind) GetMessageType() api.MessageType { + return api.RequestMessage +} + +func (m *IpsecSadUnbind) Size() (size int) { + if m == nil { + return 0 + } + size += 4 // m.SaID + return size +} +func (m *IpsecSadUnbind) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeUint32(m.SaID) + return buf.Bytes(), nil +} +func (m *IpsecSadUnbind) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.SaID = buf.DecodeUint32() + return nil +} + +// IpsecSadUnbindReply defines message 'ipsec_sad_unbind_reply'. +type IpsecSadUnbindReply struct { + Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` +} + +func (m *IpsecSadUnbindReply) Reset() { *m = IpsecSadUnbindReply{} } +func (*IpsecSadUnbindReply) GetMessageName() string { return "ipsec_sad_unbind_reply" } +func (*IpsecSadUnbindReply) GetCrcString() string { return "e8d4e804" } +func (*IpsecSadUnbindReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +func (m *IpsecSadUnbindReply) Size() (size int) { + if m == nil { + return 0 + } + size += 4 // m.Retval + return size +} +func (m *IpsecSadUnbindReply) Marshal(b []byte) ([]byte, error) { + if b == nil { + b = make([]byte, m.Size()) + } + buf := codec.NewBuffer(b) + buf.EncodeInt32(m.Retval) + return buf.Bytes(), nil +} +func (m *IpsecSadUnbindReply) Unmarshal(b []byte) error { + buf := codec.NewBuffer(b) + m.Retval = buf.DecodeInt32() + return nil +} + // Select IPsec backend // - protocol - IPsec protocol (value from ipsec_protocol_t) // - index - backend index @@ -2717,6 +3025,10 @@ func file_ipsec_binapi_init() { api.RegisterMessage((*IpsecSaV2Dump)(nil), "ipsec_sa_v2_dump_2076c2f4") api.RegisterMessage((*IpsecSaV3Details)(nil), "ipsec_sa_v3_details_2fc991ee") api.RegisterMessage((*IpsecSaV3Dump)(nil), "ipsec_sa_v3_dump_2076c2f4") + api.RegisterMessage((*IpsecSaV4Details)(nil), "ipsec_sa_v4_details_87a322d7") + api.RegisterMessage((*IpsecSaV4Dump)(nil), "ipsec_sa_v4_dump_2076c2f4") + api.RegisterMessage((*IpsecSadBind)(nil), "ipsec_sad_bind_0649c0d9") + api.RegisterMessage((*IpsecSadBindReply)(nil), "ipsec_sad_bind_reply_e8d4e804") api.RegisterMessage((*IpsecSadEntryAdd)(nil), "ipsec_sad_entry_add_50229353") api.RegisterMessage((*IpsecSadEntryAddDel)(nil), "ipsec_sad_entry_add_del_ab64b5c6") api.RegisterMessage((*IpsecSadEntryAddDelReply)(nil), "ipsec_sad_entry_add_del_reply_9ffac24b") @@ -2729,6 +3041,8 @@ func file_ipsec_binapi_init() { api.RegisterMessage((*IpsecSadEntryDelReply)(nil), "ipsec_sad_entry_del_reply_e8d4e804") api.RegisterMessage((*IpsecSadEntryUpdate)(nil), "ipsec_sad_entry_update_1412af86") api.RegisterMessage((*IpsecSadEntryUpdateReply)(nil), "ipsec_sad_entry_update_reply_e8d4e804") + api.RegisterMessage((*IpsecSadUnbind)(nil), "ipsec_sad_unbind_2076c2f4") + api.RegisterMessage((*IpsecSadUnbindReply)(nil), "ipsec_sad_unbind_reply_e8d4e804") api.RegisterMessage((*IpsecSelectBackend)(nil), "ipsec_select_backend_5bcfd3b7") api.RegisterMessage((*IpsecSelectBackendReply)(nil), "ipsec_select_backend_reply_e8d4e804") api.RegisterMessage((*IpsecSetAsyncMode)(nil), "ipsec_set_async_mode_a6465f7c") @@ -2772,6 +3086,10 @@ func AllMessages() []api.Message { (*IpsecSaV2Dump)(nil), (*IpsecSaV3Details)(nil), (*IpsecSaV3Dump)(nil), + (*IpsecSaV4Details)(nil), + (*IpsecSaV4Dump)(nil), + (*IpsecSadBind)(nil), + (*IpsecSadBindReply)(nil), (*IpsecSadEntryAdd)(nil), (*IpsecSadEntryAddDel)(nil), (*IpsecSadEntryAddDelReply)(nil), @@ -2784,6 +3102,8 @@ func AllMessages() []api.Message { (*IpsecSadEntryDelReply)(nil), (*IpsecSadEntryUpdate)(nil), (*IpsecSadEntryUpdateReply)(nil), + (*IpsecSadUnbind)(nil), + (*IpsecSadUnbindReply)(nil), (*IpsecSelectBackend)(nil), (*IpsecSelectBackendReply)(nil), (*IpsecSetAsyncMode)(nil), diff --git a/vpplink/generated/bindings/ipsec/ipsec_rpc.ba.go b/vpplink/generated/bindings/ipsec/ipsec_rpc.ba.go index 0e795f06..56a9660d 100644 --- a/vpplink/generated/bindings/ipsec/ipsec_rpc.ba.go +++ b/vpplink/generated/bindings/ipsec/ipsec_rpc.ba.go @@ -21,12 +21,15 @@ type RPCService interface { IpsecSaDump(ctx context.Context, in *IpsecSaDump) (RPCService_IpsecSaDumpClient, error) IpsecSaV2Dump(ctx context.Context, in *IpsecSaV2Dump) (RPCService_IpsecSaV2DumpClient, error) IpsecSaV3Dump(ctx context.Context, in *IpsecSaV3Dump) (RPCService_IpsecSaV3DumpClient, error) + IpsecSaV4Dump(ctx context.Context, in *IpsecSaV4Dump) (RPCService_IpsecSaV4DumpClient, error) + IpsecSadBind(ctx context.Context, in *IpsecSadBind) (*IpsecSadBindReply, error) IpsecSadEntryAdd(ctx context.Context, in *IpsecSadEntryAdd) (*IpsecSadEntryAddReply, error) IpsecSadEntryAddDel(ctx context.Context, in *IpsecSadEntryAddDel) (*IpsecSadEntryAddDelReply, error) IpsecSadEntryAddDelV2(ctx context.Context, in *IpsecSadEntryAddDelV2) (*IpsecSadEntryAddDelV2Reply, error) IpsecSadEntryAddDelV3(ctx context.Context, in *IpsecSadEntryAddDelV3) (*IpsecSadEntryAddDelV3Reply, error) IpsecSadEntryDel(ctx context.Context, in *IpsecSadEntryDel) (*IpsecSadEntryDelReply, error) IpsecSadEntryUpdate(ctx context.Context, in *IpsecSadEntryUpdate) (*IpsecSadEntryUpdateReply, error) + IpsecSadUnbind(ctx context.Context, in *IpsecSadUnbind) (*IpsecSadUnbindReply, error) IpsecSelectBackend(ctx context.Context, in *IpsecSelectBackend) (*IpsecSelectBackendReply, error) IpsecSetAsyncMode(ctx context.Context, in *IpsecSetAsyncMode) (*IpsecSetAsyncModeReply, error) IpsecSpdAddDel(ctx context.Context, in *IpsecSpdAddDel) (*IpsecSpdAddDelReply, error) @@ -290,6 +293,58 @@ func (c *serviceClient_IpsecSaV3DumpClient) Recv() (*IpsecSaV3Details, error) { } } +func (c *serviceClient) IpsecSaV4Dump(ctx context.Context, in *IpsecSaV4Dump) (RPCService_IpsecSaV4DumpClient, error) { + stream, err := c.conn.NewStream(ctx) + if err != nil { + return nil, err + } + x := &serviceClient_IpsecSaV4DumpClient{stream} + if err := x.Stream.SendMsg(in); err != nil { + return nil, err + } + if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil { + return nil, err + } + return x, nil +} + +type RPCService_IpsecSaV4DumpClient interface { + Recv() (*IpsecSaV4Details, error) + api.Stream +} + +type serviceClient_IpsecSaV4DumpClient struct { + api.Stream +} + +func (c *serviceClient_IpsecSaV4DumpClient) Recv() (*IpsecSaV4Details, error) { + msg, err := c.Stream.RecvMsg() + if err != nil { + return nil, err + } + switch m := msg.(type) { + case *IpsecSaV4Details: + return m, nil + case *memclnt.ControlPingReply: + err = c.Stream.Close() + if err != nil { + return nil, err + } + return nil, io.EOF + default: + return nil, fmt.Errorf("unexpected message: %T %v", m, m) + } +} + +func (c *serviceClient) IpsecSadBind(ctx context.Context, in *IpsecSadBind) (*IpsecSadBindReply, error) { + out := new(IpsecSadBindReply) + err := c.conn.Invoke(ctx, in, out) + if err != nil { + return nil, err + } + return out, api.RetvalToVPPApiError(out.Retval) +} + func (c *serviceClient) IpsecSadEntryAdd(ctx context.Context, in *IpsecSadEntryAdd) (*IpsecSadEntryAddReply, error) { out := new(IpsecSadEntryAddReply) err := c.conn.Invoke(ctx, in, out) @@ -344,6 +399,15 @@ func (c *serviceClient) IpsecSadEntryUpdate(ctx context.Context, in *IpsecSadEnt return out, api.RetvalToVPPApiError(out.Retval) } +func (c *serviceClient) IpsecSadUnbind(ctx context.Context, in *IpsecSadUnbind) (*IpsecSadUnbindReply, error) { + out := new(IpsecSadUnbindReply) + err := c.conn.Invoke(ctx, in, out) + if err != nil { + return nil, err + } + return out, api.RetvalToVPPApiError(out.Retval) +} + func (c *serviceClient) IpsecSelectBackend(ctx context.Context, in *IpsecSelectBackend) (*IpsecSelectBackendReply, error) { out := new(IpsecSelectBackendReply) err := c.conn.Invoke(ctx, in, out) diff --git a/vpplink/generated/bindings/ipsec_types/ipsec_types.ba.go b/vpplink/generated/bindings/ipsec_types/ipsec_types.ba.go index 20133b60..806afda1 100644 --- a/vpplink/generated/bindings/ipsec_types/ipsec_types.ba.go +++ b/vpplink/generated/bindings/ipsec_types/ipsec_types.ba.go @@ -45,6 +45,9 @@ const ( IPSEC_API_CRYPTO_ALG_DES_CBC IpsecCryptoAlg = 10 IPSEC_API_CRYPTO_ALG_3DES_CBC IpsecCryptoAlg = 11 IPSEC_API_CRYPTO_ALG_CHACHA20_POLY1305 IpsecCryptoAlg = 12 + IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_128 IpsecCryptoAlg = 13 + IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_192 IpsecCryptoAlg = 14 + IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_256 IpsecCryptoAlg = 15 ) var ( @@ -62,6 +65,9 @@ var ( 10: "IPSEC_API_CRYPTO_ALG_DES_CBC", 11: "IPSEC_API_CRYPTO_ALG_3DES_CBC", 12: "IPSEC_API_CRYPTO_ALG_CHACHA20_POLY1305", + 13: "IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_128", + 14: "IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_192", + 15: "IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_256", } IpsecCryptoAlg_value = map[string]uint32{ "IPSEC_API_CRYPTO_ALG_NONE": 0, @@ -77,6 +83,9 @@ var ( "IPSEC_API_CRYPTO_ALG_DES_CBC": 10, "IPSEC_API_CRYPTO_ALG_3DES_CBC": 11, "IPSEC_API_CRYPTO_ALG_CHACHA20_POLY1305": 12, + "IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_128": 13, + "IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_192": 14, + "IPSEC_API_CRYPTO_ALG_AES_NULL_GMAC_256": 15, } ) diff --git a/vpplink/generated/bindings/memclnt/memclnt.ba.go b/vpplink/generated/bindings/memclnt/memclnt.ba.go index 87f47553..7cd75e11 100644 --- a/vpplink/generated/bindings/memclnt/memclnt.ba.go +++ b/vpplink/generated/bindings/memclnt/memclnt.ba.go @@ -284,6 +284,7 @@ func (m *GetFirstMsgIDReply) Unmarshal(b []byte) error { // - Create a client registration // // MemclntCreate defines message 'memclnt_create'. +// Deprecated: the message will be removed in the future versions type MemclntCreate struct { CtxQuota int32 `binapi:"i32,name=ctx_quota" json:"ctx_quota,omitempty"` InputQueue uint64 `binapi:"u64,name=input_queue" json:"input_queue,omitempty"` @@ -338,6 +339,7 @@ func (m *MemclntCreate) Unmarshal(b []byte) error { } // MemclntCreateReply defines message 'memclnt_create_reply'. +// Deprecated: the message will be removed in the future versions type MemclntCreateReply struct { Response int32 `binapi:"i32,name=response" json:"response,omitempty"` Handle uint64 `binapi:"u64,name=handle" json:"handle,omitempty"` diff --git a/vpplink/generated/bindings/memif/memif.ba.go b/vpplink/generated/bindings/memif/memif.ba.go index 75ab7e11..5d760b18 100644 --- a/vpplink/generated/bindings/memif/memif.ba.go +++ b/vpplink/generated/bindings/memif/memif.ba.go @@ -101,6 +101,7 @@ func (x MemifRole) String() string { // - secret - optional, default is "", max length 24 // // MemifCreate defines message 'memif_create'. +// Deprecated: the message will be removed in the future versions type MemifCreate struct { Role MemifRole `binapi:"memif_role,name=role" json:"role,omitempty"` Mode MemifMode `binapi:"memif_mode,name=mode" json:"mode,omitempty"` @@ -178,6 +179,7 @@ func (m *MemifCreate) Unmarshal(b []byte) error { // - sw_if_index - software index of the newly created interface // // MemifCreateReply defines message 'memif_create_reply'. +// Deprecated: the message will be removed in the future versions type MemifCreateReply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` @@ -540,6 +542,7 @@ func (m *MemifDump) Unmarshal(b []byte) error { // no socket filename needed when is_add == 0. // // MemifSocketFilenameAddDel defines message 'memif_socket_filename_add_del'. +// Deprecated: the message will be removed in the future versions type MemifSocketFilenameAddDel struct { IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"` SocketID uint32 `binapi:"u32,name=socket_id" json:"socket_id,omitempty"` @@ -581,6 +584,7 @@ func (m *MemifSocketFilenameAddDel) Unmarshal(b []byte) error { } // MemifSocketFilenameAddDelReply defines message 'memif_socket_filename_add_del_reply'. +// Deprecated: the message will be removed in the future versions type MemifSocketFilenameAddDelReply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` } diff --git a/vpplink/generated/bindings/nat44_ed/nat44_ed.ba.go b/vpplink/generated/bindings/nat44_ed/nat44_ed.ba.go index 819531dd..3a4d727b 100644 --- a/vpplink/generated/bindings/nat44_ed/nat44_ed.ba.go +++ b/vpplink/generated/bindings/nat44_ed/nat44_ed.ba.go @@ -533,6 +533,7 @@ func (m *Nat44AddDelLbStaticMappingReply) Unmarshal(b []byte) error { // - tag - opaque string tag // // Nat44AddDelStaticMapping defines message 'nat44_add_del_static_mapping'. +// Deprecated: the message will be removed in the future versions type Nat44AddDelStaticMapping struct { IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"` Flags nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"` @@ -602,6 +603,7 @@ func (m *Nat44AddDelStaticMapping) Unmarshal(b []byte) error { } // Nat44AddDelStaticMappingReply defines message 'nat44_add_del_static_mapping_reply'. +// Deprecated: the message will be removed in the future versions type Nat44AddDelStaticMappingReply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` } @@ -2738,6 +2740,7 @@ func (m *Nat44UserDump) Unmarshal(b []byte) error { // twice-nat session) // // Nat44UserSessionDetails defines message 'nat44_user_session_details'. +// Deprecated: the message will be removed in the future versions type Nat44UserSessionDetails struct { OutsideIPAddress ip_types.IP4Address `binapi:"ip4_address,name=outside_ip_address" json:"outside_ip_address,omitempty"` OutsidePort uint16 `binapi:"u16,name=outside_port" json:"outside_port,omitempty"` @@ -2823,6 +2826,7 @@ func (m *Nat44UserSessionDetails) Unmarshal(b []byte) error { // - vrf_id - VRF_ID // // Nat44UserSessionDump defines message 'nat44_user_session_dump'. +// Deprecated: the message will be removed in the future versions type Nat44UserSessionDump struct { IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"` VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"` @@ -2882,6 +2886,7 @@ func (m *Nat44UserSessionDump) Unmarshal(b []byte) error { // is active // // Nat44UserSessionV2Details defines message 'nat44_user_session_v2_details'. +// Deprecated: the message will be removed in the future versions type Nat44UserSessionV2Details struct { OutsideIPAddress ip_types.IP4Address `binapi:"ip4_address,name=outside_ip_address" json:"outside_ip_address,omitempty"` OutsidePort uint16 `binapi:"u16,name=outside_port" json:"outside_port,omitempty"` @@ -2971,6 +2976,7 @@ func (m *Nat44UserSessionV2Details) Unmarshal(b []byte) error { // - vrf_id - VRF_ID // // Nat44UserSessionV2Dump defines message 'nat44_user_session_v2_dump'. +// Deprecated: the message will be removed in the future versions type Nat44UserSessionV2Dump struct { IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"` VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"` diff --git a/vpplink/generated/bindings/sr/sr.ba.go b/vpplink/generated/bindings/sr/sr.ba.go index 18e71c23..c73db68f 100644 --- a/vpplink/generated/bindings/sr/sr.ba.go +++ b/vpplink/generated/bindings/sr/sr.ba.go @@ -464,6 +464,7 @@ func (m *SrPoliciesDetails) Unmarshal(b []byte) error { // Dump the list of SR policies // SrPoliciesDump defines message 'sr_policies_dump'. +// Deprecated: the message will be removed in the future versions type SrPoliciesDump struct{} func (m *SrPoliciesDump) Reset() { *m = SrPoliciesDump{} } @@ -491,7 +492,6 @@ func (m *SrPoliciesDump) Unmarshal(b []byte) error { } // SrPoliciesV2Details defines message 'sr_policies_v2_details'. -// InProgress: the message form may change in the future versions type SrPoliciesV2Details struct { Bsid ip_types.IP6Address `binapi:"ip6_address,name=bsid" json:"bsid,omitempty"` EncapSrc ip_types.IP6Address `binapi:"ip6_address,name=encap_src" json:"encap_src,omitempty"` diff --git a/vpplink/generated/bindings/tapv2/tapv2.ba.go b/vpplink/generated/bindings/tapv2/tapv2.ba.go index e4eb3240..e7c6f5f2 100644 --- a/vpplink/generated/bindings/tapv2/tapv2.ba.go +++ b/vpplink/generated/bindings/tapv2/tapv2.ba.go @@ -260,6 +260,7 @@ func (m *SwInterfaceTapV2Dump) Unmarshal(b []byte) error { // - tag - tag // // TapCreateV2 defines message 'tap_create_v2'. +// Deprecated: the message will be removed in the future versions type TapCreateV2 struct { ID uint32 `binapi:"u32,name=id,default=4294967295" json:"id,omitempty"` UseRandomMac bool `binapi:"bool,name=use_random_mac,default=true" json:"use_random_mac,omitempty"` @@ -403,6 +404,7 @@ func (m *TapCreateV2) Unmarshal(b []byte) error { // - sw_if_index - software index allocated for the new tap interface // // TapCreateV2Reply defines message 'tap_create_v2_reply'. +// Deprecated: the message will be removed in the future versions type TapCreateV2Reply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` diff --git a/vpplink/generated/bindings/vxlan/vxlan.ba.go b/vpplink/generated/bindings/vxlan/vxlan.ba.go index dfd3d3ee..c1e96a84 100644 --- a/vpplink/generated/bindings/vxlan/vxlan.ba.go +++ b/vpplink/generated/bindings/vxlan/vxlan.ba.go @@ -117,6 +117,7 @@ func (m *SwInterfaceSetVxlanBypassReply) Unmarshal(b []byte) error { // - vni - The VXLAN Network Identifier, uint24 // // VxlanAddDelTunnel defines message 'vxlan_add_del_tunnel'. +// Deprecated: the message will be removed in the future versions type VxlanAddDelTunnel struct { IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` Instance uint32 `binapi:"u32,name=instance" json:"instance,omitempty"` @@ -184,6 +185,7 @@ func (m *VxlanAddDelTunnel) Unmarshal(b []byte) error { } // VxlanAddDelTunnelReply defines message 'vxlan_add_del_tunnel_reply'. +// Deprecated: the message will be removed in the future versions type VxlanAddDelTunnelReply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` @@ -233,6 +235,7 @@ func (m *VxlanAddDelTunnelReply) Unmarshal(b []byte) error { // - vni - The VXLAN Network Identifier, uint24 // // VxlanAddDelTunnelV2 defines message 'vxlan_add_del_tunnel_v2'. +// Deprecated: the message will be removed in the future versions type VxlanAddDelTunnelV2 struct { IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"` Instance uint32 `binapi:"u32,name=instance,default=4294967295" json:"instance,omitempty"` @@ -308,6 +311,7 @@ func (m *VxlanAddDelTunnelV2) Unmarshal(b []byte) error { } // VxlanAddDelTunnelV2Reply defines message 'vxlan_add_del_tunnel_v2_reply'. +// Deprecated: the message will be removed in the future versions type VxlanAddDelTunnelV2Reply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` @@ -553,6 +557,7 @@ func (m *VxlanOffloadRxReply) Unmarshal(b []byte) error { } // VxlanTunnelDetails defines message 'vxlan_tunnel_details'. +// Deprecated: the message will be removed in the future versions type VxlanTunnelDetails struct { SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` Instance uint32 `binapi:"u32,name=instance" json:"instance,omitempty"` @@ -620,6 +625,7 @@ func (m *VxlanTunnelDetails) Unmarshal(b []byte) error { } // VxlanTunnelDump defines message 'vxlan_tunnel_dump'. +// Deprecated: the message will be removed in the future versions type VxlanTunnelDump struct { SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` } diff --git a/vpplink/generated/bindings/wireguard/wireguard.ba.go b/vpplink/generated/bindings/wireguard/wireguard.ba.go index ba8cae72..6a7cc3d2 100644 --- a/vpplink/generated/bindings/wireguard/wireguard.ba.go +++ b/vpplink/generated/bindings/wireguard/wireguard.ba.go @@ -25,7 +25,7 @@ const _ = api.GoVppAPIPackageIsVersion2 const ( APIFile = "wireguard" - APIVersion = "0.3.0" + APIVersion = "1.3.0" VersionCrc = 0x5d8f9252 ) diff --git a/vpplink/generated/generate.log b/vpplink/generated/generate.log index 4183fb9a..7bbadec5 100755 --- a/vpplink/generated/generate.log +++ b/vpplink/generated/generate.log @@ -1,14 +1,11 @@ -VPP Version : 23.10-rc0~9-gfbdcaa4c1 +VPP Version : 24.02-rc0~6-g2be60e67d Binapi-generator version : v0.8.0-dev -VPP Base commit : 4b39caada gerrit:34726/3 interface: add buffer stats api +VPP Base commit : 2d0dac57e gerrit:34726/3 interface: add buffer stats api ------------------ Cherry picked commits -------------------- -interface: Fix interface.api endianness capo: Calico Policies plugin acl: acl-plugin custom policies cnat: [WIP] no k8s maglev from pods pbl: Port based balancer -gerrit:39507/11 cnat: add flow hash config to cnat translation -gerrit:39387/5 cnat: add host tag to bitmap in cnat snat -gerrit:31449/13 cnat: Support offloaded check sums +gerrit:39507/13 cnat: add flow hash config to cnat translation gerrit:34726/3 interface: add buffer stats api ------------------------------------------------------------- diff --git a/vpplink/generated/patches/0005-interface-Fix-interface.api-endianness.patch b/vpplink/generated/patches/0005-interface-Fix-interface.api-endianness.patch deleted file mode 100644 index 836ee151..00000000 --- a/vpplink/generated/patches/0005-interface-Fix-interface.api-endianness.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nathan Skrzypczak -Date: Tue, 30 May 2023 15:08:39 +0200 -Subject: [PATCH 5/5] interface: Fix interface.api endianness - -Change-Id: Icd4beac3d0e84c21a272c1da2704db244023114b -Signed-off-by: Nathan Skrzypczak ---- - src/vnet/interface.api | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/vnet/interface.api b/src/vnet/interface.api -index 020907bfc..de1bb4c99 100644 ---- a/src/vnet/interface.api -+++ b/src/vnet/interface.api -@@ -476,7 +476,7 @@ autoendian autoreply define sw_interface_set_tx_placement - u32 context; - vl_api_interface_index_t sw_if_index; - u32 queue_id; -- u32 array_size; -+ u8 array_size; - u32 threads[array_size]; - option vat_help = "> queue [threads | mask ]"; - }; --- -2.39.2 - diff --git a/vpplink/generated/vpp_clone_current.sh b/vpplink/generated/vpp_clone_current.sh index cceadfad..582b4b09 100755 --- a/vpplink/generated/vpp_clone_current.sh +++ b/vpplink/generated/vpp_clone_current.sh @@ -92,11 +92,9 @@ function git_clone_cd_and_reset () # --------------- Things to cherry pick --------------- -git_clone_cd_and_reset "$1" a7dd04d73bf5abed944fb77a5e957bbad24e2750 # misc: Initial 23.10-rc0 commit +git_clone_cd_and_reset "$1" 7419bede7ad73544338fd4363da833b2d5fc89a5 # misc: Initial 24.02-rc0 commit (tag: v24.02-rc0) git_cherry_pick refs/changes/26/34726/3 # 34726: interface: add buffer stats api | https://gerrit.fd.io/r/c/vpp/+/34726 -git_cherry_pick refs/changes/49/31449/13 # 31449: cnat: Support offloaded check sums | https://gerrit.fd.io/r/c/vpp/+/31449/13 -git_cherry_pick refs/changes/87/39387/5 # 39387: cnat: add host tag to bitmap in cnat snat | https://gerrit.fd.io/r/c/vpp/+/39387/2 git_cherry_pick refs/changes/07/39507/13 # 39507: cnat: add flow hash config to cnat translation | https://gerrit.fd.io/r/c/vpp/+/39507/13 # --------------- private plugins --------------- @@ -105,4 +103,3 @@ git_apply_private 0001-pbl-Port-based-balancer.patch git_apply_private 0002-cnat-WIP-no-k8s-maglev-from-pods.patch git_apply_private 0003-acl-acl-plugin-custom-policies.patch git_apply_private 0004-capo-Calico-Policies-plugin.patch -git_apply_private 0005-interface-Fix-interface.api-endianness.patch diff --git a/vpplink/interfaces.go b/vpplink/interfaces.go index d8de4157..41c7c669 100644 --- a/vpplink/interfaces.go +++ b/vpplink/interfaces.go @@ -590,7 +590,7 @@ func (v *VppLink) SetInterfaceTxPlacement(swIfIndex uint32, queue int, worker in _, err := client.SwInterfaceSetTxPlacement(v.GetContext(), &interfaces.SwInterfaceSetTxPlacement{ SwIfIndex: interface_types.InterfaceIndex(swIfIndex), QueueID: uint32(queue), - ArraySize: uint8(1), + ArraySize: uint32(1), Threads: []uint32{uint32(worker)}, }) if err != nil {