From ee19cc43794b388cccb0e7bf3698685f0d9b8c0d Mon Sep 17 00:00:00 2001 From: "bingshen.wbs" Date: Thu, 18 Dec 2025 19:41:49 +0800 Subject: [PATCH] ENO api fallback to hc-eni-host path Signed-off-by: bingshen.wbs --- pkg/eni/remote.go | 6 - pkg/eni/remote_test.go | 28 ++- plugin/driver/vf/vf.go | 18 +- plugin/driver/vf/vf_test.go | 176 +++++++++++++++++ plugin/terway/cni.go | 7 +- plugin/terway/cni_linux.go | 15 +- plugin/terway/cni_linux_test.go | 2 +- plugin/terway/cni_test.go | 34 ++++ rpc/rpc.pb.go | 332 +++++++++++++------------------- rpc/rpc.proto | 7 - rpc/rpc_grpc.pb.go | 2 +- rpc/tracing.pb.go | 2 +- rpc/tracing_grpc.pb.go | 2 +- 13 files changed, 377 insertions(+), 254 deletions(-) diff --git a/pkg/eni/remote.go b/pkg/eni/remote.go index c8e2b00a..0f81e023 100644 --- a/pkg/eni/remote.go +++ b/pkg/eni/remote.go @@ -8,7 +8,6 @@ import ( "github.com/go-logr/logr" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8stypes "k8s.io/apimachinery/pkg/types" - "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client" logf "sigs.k8s.io/controller-runtime/pkg/log" @@ -82,11 +81,6 @@ func (l *RemoteIPResource) ToRPC() []*rpc.NetConf { eniInfo.VfId = info.VfID - switch l.podENI.Annotations[types.ENOApi] { - case types.APIEcsHDeni: - eniInfo.VfType = ptr.To(rpc.VfType_VfTypeVPC) - } - netConf = append(netConf, &rpc.NetConf{ BasicInfo: &rpc.BasicInfo{ PodIP: podIP, diff --git a/pkg/eni/remote_test.go b/pkg/eni/remote_test.go index e9a79cf6..1f98fdc7 100644 --- a/pkg/eni/remote_test.go +++ b/pkg/eni/remote_test.go @@ -12,7 +12,6 @@ import ( "k8s.io/apimachinery/pkg/runtime" "sigs.k8s.io/controller-runtime/pkg/client/fake" - "github.com/AliyunContainerService/terway/rpc" "github.com/AliyunContainerService/terway/types" "github.com/AliyunContainerService/terway/types/daemon" @@ -74,14 +73,10 @@ func TestToRPC(t *testing.T) { assert.Equal(t, true, result[0].DefaultRoute) }) - t.Run("test with VfTypeVPC when APIEcsHDeni annotation is set", func(t *testing.T) { + t.Run("test with VfId set in ENIInfo", func(t *testing.T) { + vfID := uint32(5) l := &RemoteIPResource{ podENI: networkv1beta1.PodENI{ - ObjectMeta: metav1.ObjectMeta{ - Annotations: map[string]string{ - types.ENOApi: types.APIEcsHDeni, - }, - }, Spec: networkv1beta1.PodENISpec{ Allocations: []networkv1beta1.Allocation{ { @@ -98,7 +93,9 @@ func TestToRPC(t *testing.T) { }, Status: networkv1beta1.PodENIStatus{ ENIInfos: map[string]networkv1beta1.ENIInfo{ - "eni-11": {}, + "eni-11": { + VfID: &vfID, + }, }, }, }, @@ -107,15 +104,13 @@ func TestToRPC(t *testing.T) { result := l.ToRPC() assert.NotNil(t, result) assert.Equal(t, 1, len(result)) - assert.Equal(t, rpc.VfType_VfTypeVPC, *result[0].ENIInfo.VfType) + assert.NotNil(t, result[0].ENIInfo.VfId) + assert.Equal(t, uint32(5), *result[0].ENIInfo.VfId) }) - t.Run("test without ENOApi annotation", func(t *testing.T) { + t.Run("test with VfId nil in ENIInfo", func(t *testing.T) { l := &RemoteIPResource{ podENI: networkv1beta1.PodENI{ - ObjectMeta: metav1.ObjectMeta{ - Annotations: map[string]string{}, - }, Spec: networkv1beta1.PodENISpec{ Allocations: []networkv1beta1.Allocation{ { @@ -132,7 +127,9 @@ func TestToRPC(t *testing.T) { }, Status: networkv1beta1.PodENIStatus{ ENIInfos: map[string]networkv1beta1.ENIInfo{ - "eni-11": {}, + "eni-11": { + VfID: nil, + }, }, }, }, @@ -141,8 +138,9 @@ func TestToRPC(t *testing.T) { result := l.ToRPC() assert.NotNil(t, result) assert.Equal(t, 1, len(result)) - assert.Nil(t, result[0].ENIInfo.VfType) + assert.Nil(t, result[0].ENIInfo.VfId) }) + } func TestAllocateReturnsErrorWhenResourceTypeMismatch(t *testing.T) { diff --git a/plugin/driver/vf/vf.go b/plugin/driver/vf/vf.go index 3ec28867..73156f5f 100644 --- a/plugin/driver/vf/vf.go +++ b/plugin/driver/vf/vf.go @@ -13,10 +13,13 @@ import ( ) const ( - defaultNUSAConfigPath = "/var/rdma/eni_topo" - defaultSysfsBasePath = "/sys/bus/pci/devices" + defaultSysfsBasePath = "/sys/bus/pci/devices" + vfBind = "/sys/bus/pci/drivers/virtio-pci" +) - vfBind = "/sys/bus/pci/drivers/virtio-pci" +var ( + defaultNUSAConfigPath = "/var/rdma/eni_topo" + HcENIHostConfigPath = "/var/run/hc-eni-host/vf-topo-vpc" ) type Config struct { @@ -48,7 +51,14 @@ func parse(path string, config []byte) (*Configs, error) { func GetBDFbyVFID(path string, vfID int) (string, error) { if path == "" { - path = defaultNUSAConfigPath + _, err := os.Stat(defaultNUSAConfigPath) + if err == nil { + path = defaultNUSAConfigPath + } else if os.IsNotExist(err) { + path = HcENIHostConfigPath + } else { + return "", err + } } configContent, err := os.ReadFile(path) if err != nil { diff --git a/plugin/driver/vf/vf_test.go b/plugin/driver/vf/vf_test.go index da6de97e..166a467a 100644 --- a/plugin/driver/vf/vf_test.go +++ b/plugin/driver/vf/vf_test.go @@ -40,6 +40,182 @@ func TestParse(t *testing.T) { }) } +// TestGetBDFbyVFID tests the GetBDFbyVFID function +func TestGetBDFbyVFID(t *testing.T) { + t.Run("valid config with matching vfID", func(t *testing.T) { + // Create a temporary directory and config file + tempDir := t.TempDir() + configPath := filepath.Join(tempDir, "vf-config.json") + + // Write test config data + configData := `{"eniVFs": [{"pf_id": 1,"vf_id": 9,"bdf": "0000:1:1.6"}]}` + err := os.WriteFile(configPath, []byte(configData), 0644) + require.NoError(t, err) + + // Test the function + bdf, err := GetBDFbyVFID(configPath, 9) + assert.NoError(t, err) + assert.Equal(t, "0000:1:1.6", bdf) + }) + + t.Run("valid config with non-matching vfID", func(t *testing.T) { + // Create a temporary directory and config file + tempDir := t.TempDir() + configPath := filepath.Join(tempDir, "vf-config.json") + + // Write test config data + configData := `{"eniVFs": [{"pf_id": 1,"vf_id": 9,"bdf": "0000:1:1.6"}]}` + err := os.WriteFile(configPath, []byte(configData), 0644) + require.NoError(t, err) + + // Test the function with non-matching vfID + _, err = GetBDFbyVFID(configPath, 10) + assert.Error(t, err) + assert.Contains(t, err.Error(), "not found specified vfID 10") + }) + + t.Run("invalid config file", func(t *testing.T) { + // Create a temporary directory and config file + tempDir := t.TempDir() + configPath := filepath.Join(tempDir, "vf-config.json") + + // Write invalid config data + configData := `{"eniVFs": [{"pf_id": 1,"vf_id": 9,"bdf": "0000:1:1.6"}` + err := os.WriteFile(configPath, []byte(configData), 0644) + require.NoError(t, err) + + // Test the function + _, err = GetBDFbyVFID(configPath, 9) + assert.Error(t, err) + }) + + t.Run("non-existent config file", func(t *testing.T) { + // Test the function with non-existent config file + _, err := GetBDFbyVFID("/non/existent/path", 9) + assert.Error(t, err) + }) + + t.Run("empty path with defaultNUSAConfigPath existing", func(t *testing.T) { + // Create a temporary directory and config file + tempDir := t.TempDir() + + // Save original value + originalPath := defaultNUSAConfigPath + // Temporarily change the default path to our temp directory + defaultNUSAConfigPath = filepath.Join(tempDir, "eni_topo") + + // Make sure the default path doesn't exist + _, err := os.Stat(defaultNUSAConfigPath) + if !os.IsNotExist(err) { + os.Remove(defaultNUSAConfigPath) + } + + // Write test config data to the default path + configData := `[{"pf_id": 1,"vf_id": 9,"bdf": "0000:1:1.6"}]` + err = os.WriteFile(defaultNUSAConfigPath, []byte(configData), 0644) + require.NoError(t, err) + + // Test the function with empty path + bdf, err := GetBDFbyVFID("", 9) + assert.NoError(t, err) + assert.Equal(t, "0000:1:1.6", bdf) + + // Restore original value + defaultNUSAConfigPath = originalPath + }) + + t.Run("empty path with HcENIHostConfigPath existing", func(t *testing.T) { + // Create a temporary directory and config file + tempDir := t.TempDir() + + // Save original values + originalNUSAPath := defaultNUSAConfigPath + originalHCPath := HcENIHostConfigPath + + // Temporarily change the paths to our temp directory + defaultNUSAConfigPath = filepath.Join(tempDir, "eni_topo") + HcENIHostConfigPath = filepath.Join(tempDir, "vf-topo-vpc") + + // Make sure the defaultNUSAConfigPath doesn't exist + _, err := os.Stat(defaultNUSAConfigPath) + if !os.IsNotExist(err) { + os.Remove(defaultNUSAConfigPath) + } + + // Write test config data to the HcENIHostConfigPath + configData := `{"eniVFs": [{"pf_id": 1,"vf_id": 9,"bdf": "0000:1:1.6"}]}` + err = os.WriteFile(HcENIHostConfigPath, []byte(configData), 0644) + require.NoError(t, err) + + // Test the function with empty path + bdf, err := GetBDFbyVFID("", 9) + assert.NoError(t, err) + assert.Equal(t, "0000:1:1.6", bdf) + + // Restore original values + defaultNUSAConfigPath = originalNUSAPath + HcENIHostConfigPath = originalHCPath + }) + + t.Run("empty path with neither config file existing", func(t *testing.T) { + // Save original values + originalNUSAPath := defaultNUSAConfigPath + originalHCPath := HcENIHostConfigPath + + // Temporarily change the paths to non-existent files + tempDir := t.TempDir() + defaultNUSAConfigPath = filepath.Join(tempDir, "non-existent-eni_topo") + HcENIHostConfigPath = filepath.Join(tempDir, "non-existent-vf-topo-vpc") + + // Test the function with empty path + _, err := GetBDFbyVFID("", 9) + assert.Error(t, err) + + // Restore original values + defaultNUSAConfigPath = originalNUSAPath + HcENIHostConfigPath = originalHCPath + }) + + t.Run("multiple VFs with matching vfID", func(t *testing.T) { + // Create a temporary directory and config file + tempDir := t.TempDir() + configPath := filepath.Join(tempDir, "vf-config.json") + + // Write test config data with multiple VFs + configData := `{"eniVFs": [{"pf_id": 1,"vf_id": 8,"bdf": "0000:1:1.5"}, {"pf_id": 1,"vf_id": 9,"bdf": "0000:1:1.6"}, {"pf_id": 1,"vf_id": 10,"bdf": "0000:1:1.7"}]}` + err := os.WriteFile(configPath, []byte(configData), 0644) + require.NoError(t, err) + + // Test the function + bdf, err := GetBDFbyVFID(configPath, 9) + assert.NoError(t, err) + assert.Equal(t, "0000:1:1.6", bdf) + }) + + t.Run("eni controller config format", func(t *testing.T) { + // Create a temporary directory and config file + tempDir := t.TempDir() + configPath := filepath.Join(tempDir, "eni-controller-config.json") + + // Write test config data in eni controller format + configData := `[{"pf_id": 1,"vf_id": 9,"bdf": "0000:1:1.6"}]` + err := os.WriteFile(configPath, []byte(configData), 0644) + require.NoError(t, err) + + // Temporarily change the default path to test eni controller format + originalPath := defaultNUSAConfigPath + defaultNUSAConfigPath = configPath + + // Test the function + bdf, err := GetBDFbyVFID(configPath, 9) + assert.NoError(t, err) + assert.Equal(t, "0000:1:1.6", bdf) + + // Restore original value + defaultNUSAConfigPath = originalPath + }) +} + // TestGetPFBDF tests the getPFBDF function with mocked sysfs structure func TestGetPFBDF(t *testing.T) { t.Run("invalid BDF format", func(t *testing.T) { diff --git a/plugin/terway/cni.go b/plugin/terway/cni.go index 9b2ba37e..79bf4905 100644 --- a/plugin/terway/cni.go +++ b/plugin/terway/cni.go @@ -290,14 +290,9 @@ func parseSetupConf(ctx context.Context, args *skel.CmdArgs, alloc *rpc.NetConf, if alloc.GetENIInfo() != nil { mac := alloc.GetENIInfo().GetMAC() vfID = alloc.GetENIInfo().VfId - vfType := rpc.VfType_VfTypeDefault if vfID != nil { // when do setup, this link must present - if alloc.GetENIInfo().VfType != nil { - vfType = *alloc.GetENIInfo().VfType - } - - deviceID, err = prepareVF(ctx, int(*vfID), mac, vfType) + deviceID, err = prepareVF(ctx, int(*vfID), mac) if err != nil { return nil, err } diff --git a/plugin/terway/cni_linux.go b/plugin/terway/cni_linux.go index 78c1cfe2..6e5f2a4d 100644 --- a/plugin/terway/cni_linux.go +++ b/plugin/terway/cni_linux.go @@ -466,19 +466,8 @@ func doCmdCheck(ctx context.Context, client rpc.TerwayBackendClient, cmdArgs *cn return nil } -func prepareVF(ctx context.Context, id int, mac string, vfType rpc.VfType) (int32, error) { - // vf-topo-vpc - configPath := "" - - switch vfType { - case rpc.VfType_VfTypeDefault: - case rpc.VfType_VfTypeVPC: - configPath = "/var/run/hc-eni-host/vf-topo-vpc" - default: - return 0, fmt.Errorf("not support this vf type") - } - - deviceID, err := vf.SetupDriverAndGetNetInterface(ctx, id, configPath) +func prepareVF(ctx context.Context, id int, mac string) (int32, error) { + deviceID, err := vf.SetupDriverAndGetNetInterface(ctx, id, "") if err != nil { return 0, err } diff --git a/plugin/terway/cni_linux_test.go b/plugin/terway/cni_linux_test.go index cc6a274e..2e4823af 100644 --- a/plugin/terway/cni_linux_test.go +++ b/plugin/terway/cni_linux_test.go @@ -398,7 +398,7 @@ func TestDoCmdAdd(t *testing.T) { }) // Mock prepareVF function - patches.ApplyFunc(prepareVF, func(ctx context.Context, id int, mac string, vfType rpc.VfType) (int32, error) { + patches.ApplyFunc(prepareVF, func(ctx context.Context, id int, mac string) (int32, error) { return 1, nil }) diff --git a/plugin/terway/cni_test.go b/plugin/terway/cni_test.go index 91ea6525..ad1fa57e 100644 --- a/plugin/terway/cni_test.go +++ b/plugin/terway/cni_test.go @@ -200,6 +200,40 @@ func TestParseSetupConf(t *testing.T) { assert.Error(t, err) assert.Nil(t, setupConfig) }) + + t.Run("TypeENIMultiIP configuration with VfId", func(t *testing.T) { + vfID := uint32(1) + alloc := &rpc.NetConf{ + BasicInfo: &rpc.BasicInfo{ + ServiceCIDR: &rpc.IPSet{ + IPv4: "172.16.0.0/12", + }, + PodIP: &rpc.IPSet{ + IPv4: "192.168.1.10", + }, + PodCIDR: &rpc.IPSet{ + IPv4: "192.168.1.0/24", + }, + GatewayIP: &rpc.IPSet{ + IPv4: "192.168.1.1", + }, + }, + ENIInfo: &rpc.ENIInfo{ + MAC: "00:11:22:33:44:55", + VfId: &vfID, + Trunk: false, + }, + } + + // This test verifies that when VfId is set, prepareVF is called + // Since prepareVF requires privileged access and VF setup, + // it will fail in test environment, confirming the code path is executed + setupConfig, err := parseSetupConf(ctx, args, alloc, conf, rpc.IPType_TypeENIMultiIP) + // prepareVF will fail in test environment, so we expect an error + // This confirms the code path that calls prepareVF is executed + assert.Error(t, err) + assert.Nil(t, setupConfig) + }) } func TestParseTearDownConf(t *testing.T) { diff --git a/rpc/rpc.pb.go b/rpc/rpc.pb.go index 74a21ba6..66ed4601 100644 --- a/rpc/rpc.pb.go +++ b/rpc/rpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v6.32.0 +// protoc v6.33.2 // source: rpc.proto package rpc @@ -207,55 +207,6 @@ func (EventType) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{3} } -type VfType int32 - -const ( - VfType_VfTypeDefault VfType = 0 - VfType_VfTypeVPC VfType = 1 - VfType_VfTypeENO VfType = 2 -) - -// Enum value maps for VfType. -var ( - VfType_name = map[int32]string{ - 0: "VfTypeDefault", - 1: "VfTypeVPC", - 2: "VfTypeENO", - } - VfType_value = map[string]int32{ - "VfTypeDefault": 0, - "VfTypeVPC": 1, - "VfTypeENO": 2, - } -) - -func (x VfType) Enum() *VfType { - p := new(VfType) - *p = x - return p -} - -func (x VfType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (VfType) Descriptor() protoreflect.EnumDescriptor { - return file_rpc_proto_enumTypes[4].Descriptor() -} - -func (VfType) Type() protoreflect.EnumType { - return &file_rpc_proto_enumTypes[4] -} - -func (x VfType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use VfType.Descriptor instead. -func (VfType) EnumDescriptor() ([]byte, []int) { - return file_rpc_proto_rawDescGZIP(), []int{4} -} - // IPSet declare a string set contain v4 v6 info type IPSet struct { state protoimpl.MessageState @@ -639,7 +590,6 @@ type ENIInfo struct { GatewayIP *IPSet `protobuf:"bytes,4,opt,name=GatewayIP,proto3" json:"GatewayIP,omitempty"` ERDMA bool `protobuf:"varint,5,opt,name=eRDMA,proto3" json:"eRDMA,omitempty"` // eni is eRDMA VfId *uint32 `protobuf:"varint,6,opt,name=VfId,proto3,oneof" json:"VfId,omitempty"` - VfType *VfType `protobuf:"varint,7,opt,name=VfType,proto3,enum=rpc.VfType,oneof" json:"VfType,omitempty"` } func (x *ENIInfo) Reset() { @@ -716,13 +666,6 @@ func (x *ENIInfo) GetVfId() uint32 { return 0 } -func (x *ENIInfo) GetVfType() VfType { - if x != nil && x.VfType != nil { - return *x.VfType - } - return VfType_VfTypeDefault -} - type Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1354,7 +1297,7 @@ var file_rpc_proto_rawDesc = []byte{ 0x53, 0x65, 0x74, 0x52, 0x09, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x50, 0x12, 0x2c, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x49, 0x44, 0x52, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x50, 0x53, 0x65, 0x74, 0x52, - 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x49, 0x44, 0x52, 0x22, 0xda, 0x01, 0x0a, + 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x49, 0x44, 0x52, 0x22, 0xa5, 0x01, 0x0a, 0x07, 0x45, 0x4e, 0x49, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x41, 0x43, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x41, 0x43, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x54, 0x72, 0x75, 0x6e, 0x6b, @@ -1364,20 +1307,44 @@ var file_rpc_proto_rawDesc = []byte{ 0x74, 0x52, 0x09, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x50, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x52, 0x44, 0x4d, 0x41, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x65, 0x52, 0x44, 0x4d, 0x41, 0x12, 0x17, 0x0a, 0x04, 0x56, 0x66, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x00, 0x52, 0x04, 0x56, 0x66, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x06, 0x56, - 0x66, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x56, 0x66, 0x54, 0x79, 0x70, 0x65, 0x48, 0x01, 0x52, 0x06, 0x56, 0x66, 0x54, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x56, 0x66, 0x49, 0x64, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x56, 0x66, 0x54, 0x79, 0x70, 0x65, 0x22, 0x19, 0x0a, 0x05, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x44, 0x73, 0x74, 0x22, 0x61, 0x0a, 0x03, 0x50, 0x6f, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, - 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x49, 0x6e, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, - 0x0f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x93, 0x02, 0x0a, 0x10, 0x52, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x49, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x48, 0x00, 0x52, 0x04, 0x56, 0x66, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x56, 0x66, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x44, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x44, 0x73, 0x74, 0x22, + 0x61, 0x0a, 0x03, 0x50, 0x6f, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x22, 0x93, 0x02, 0x0a, 0x10, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x50, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4b, 0x38, 0x73, 0x50, 0x6f, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4b, 0x38, 0x73, + 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4b, 0x38, 0x73, 0x50, 0x6f, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x36, 0x0a, 0x16, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x16, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x06, 0x49, 0x50, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x72, 0x70, 0x63, 0x2e, + 0x49, 0x50, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x49, 0x50, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, + 0x0a, 0x08, 0x49, 0x50, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x50, 0x53, 0x65, 0x74, 0x52, 0x08, 0x49, 0x50, + 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x63, 0x41, 0x64, 0x64, + 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x49, 0x50, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x08, 0x49, 0x50, 0x76, 0x34, 0x41, 0x64, 0x64, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x50, + 0x53, 0x65, 0x74, 0x52, 0x08, 0x49, 0x50, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x12, 0x22, 0x0a, + 0x0c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x50, 0x76, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x04, 0x49, 0x50, 0x76, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x50, 0x76, 0x36, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x04, 0x49, 0x50, 0x76, 0x36, 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, @@ -1385,83 +1352,52 @@ var file_rpc_proto_rawDesc = []byte{ 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x49, 0x6e, - 0x66, 0x72, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, - 0x0a, 0x06, 0x49, 0x50, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, - 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x50, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x49, 0x50, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x08, 0x49, 0x50, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x50, 0x53, 0x65, - 0x74, 0x52, 0x08, 0x49, 0x50, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4d, - 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4d, 0x61, - 0x63, 0x41, 0x64, 0x64, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x9e, 0x01, - 0x0a, 0x0e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x50, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x08, 0x49, 0x50, - 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x49, 0x50, 0x53, 0x65, 0x74, 0x52, 0x08, 0x49, 0x50, 0x76, 0x34, 0x41, 0x64, - 0x64, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x50, 0x76, 0x34, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x49, 0x50, 0x76, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x50, - 0x76, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x49, 0x50, 0x76, 0x36, 0x22, 0x92, - 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x4b, 0x38, 0x73, 0x50, - 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x4b, - 0x38, 0x73, 0x50, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x4b, 0x38, 0x73, - 0x50, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x49, 0x64, 0x22, 0xc1, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x06, 0x49, 0x50, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x50, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x06, 0x49, 0x50, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x50, 0x76, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x04, 0x49, 0x50, 0x76, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x50, 0x76, 0x36, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x49, 0x50, 0x76, 0x36, 0x12, 0x28, 0x0a, 0x08, 0x4e, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x08, 0x4e, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x12, 0x20, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xec, 0x01, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, - 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, - 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3c, 0x0a, 0x0a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x2a, 0x3b, 0x0a, 0x06, 0x49, 0x50, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, - 0x0a, 0x09, 0x54, 0x79, 0x70, 0x65, 0x56, 0x50, 0x43, 0x49, 0x50, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x0a, 0x54, 0x79, 0x70, 0x65, 0x56, 0x50, 0x43, 0x45, 0x4e, 0x49, 0x10, 0x01, 0x12, 0x12, 0x0a, - 0x0e, 0x54, 0x79, 0x70, 0x65, 0x45, 0x4e, 0x49, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x49, 0x50, 0x10, - 0x02, 0x2a, 0x29, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x72, - 0x72, 0x4e, 0x6f, 0x45, 0x72, 0x72, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x72, 0x72, 0x43, - 0x52, 0x44, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x01, 0x2a, 0x36, 0x0a, 0x0b, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x13, 0x0a, 0x0f, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x10, 0x00, - 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, - 0x6f, 0x64, 0x10, 0x01, 0x2a, 0x36, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x2a, 0x39, 0x0a, 0x06, - 0x56, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x66, 0x54, 0x79, 0x70, 0x65, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x66, 0x54, - 0x79, 0x70, 0x65, 0x56, 0x50, 0x43, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x66, 0x54, 0x79, - 0x70, 0x65, 0x45, 0x4e, 0x4f, 0x10, 0x02, 0x32, 0xeb, 0x01, 0x0a, 0x0d, 0x54, 0x65, 0x72, 0x77, + 0x66, 0x72, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0xc1, + 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x23, 0x0a, 0x06, 0x49, 0x50, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x0b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x50, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x49, 0x50, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x49, 0x50, 0x76, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x49, 0x50, + 0x76, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x50, 0x76, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x04, 0x49, 0x50, 0x76, 0x36, 0x12, 0x28, 0x0a, 0x08, 0x4e, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x08, 0x4e, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x73, + 0x12, 0x20, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x0a, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x22, 0xec, 0x01, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0b, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4b, 0x38, 0x73, 0x50, 0x6f, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4b, 0x38, 0x73, + 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4b, 0x38, 0x73, 0x50, 0x6f, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x22, 0x3c, 0x0a, 0x0a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2a, + 0x3b, 0x0a, 0x06, 0x49, 0x50, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x79, 0x70, + 0x65, 0x56, 0x50, 0x43, 0x49, 0x50, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x79, 0x70, 0x65, + 0x56, 0x50, 0x43, 0x45, 0x4e, 0x49, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x79, 0x70, 0x65, + 0x45, 0x4e, 0x49, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x49, 0x50, 0x10, 0x02, 0x2a, 0x29, 0x0a, 0x05, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x72, 0x72, 0x4e, 0x6f, 0x45, 0x72, + 0x72, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x72, 0x72, 0x43, 0x52, 0x44, 0x4e, 0x6f, 0x74, + 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x01, 0x2a, 0x36, 0x0a, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x64, 0x10, 0x01, 0x2a, + 0x36, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, + 0x00, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x57, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x32, 0xeb, 0x01, 0x0a, 0x0d, 0x54, 0x65, 0x72, 0x77, 0x61, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x49, 0x50, 0x12, 0x13, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x49, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x72, 0x70, 0x63, 0x2e, @@ -1492,63 +1428,61 @@ func file_rpc_proto_rawDescGZIP() []byte { return file_rpc_proto_rawDescData } -var file_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_rpc_proto_goTypes = []interface{}{ (IPType)(0), // 0: rpc.IPType (Error)(0), // 1: rpc.Error (EventTarget)(0), // 2: rpc.EventTarget (EventType)(0), // 3: rpc.EventType - (VfType)(0), // 4: rpc.VfType - (*IPSet)(nil), // 5: rpc.IPSet - (*AllocIPRequest)(nil), // 6: rpc.AllocIPRequest - (*NetConf)(nil), // 7: rpc.NetConf - (*AllocIPReply)(nil), // 8: rpc.AllocIPReply - (*BasicInfo)(nil), // 9: rpc.BasicInfo - (*ENIInfo)(nil), // 10: rpc.ENIInfo - (*Route)(nil), // 11: rpc.Route - (*Pod)(nil), // 12: rpc.Pod - (*ReleaseIPRequest)(nil), // 13: rpc.ReleaseIPRequest - (*ReleaseIPReply)(nil), // 14: rpc.ReleaseIPReply - (*GetInfoRequest)(nil), // 15: rpc.GetInfoRequest - (*GetInfoReply)(nil), // 16: rpc.GetInfoReply - (*EventRequest)(nil), // 17: rpc.EventRequest - (*EventReply)(nil), // 18: rpc.EventReply + (*IPSet)(nil), // 4: rpc.IPSet + (*AllocIPRequest)(nil), // 5: rpc.AllocIPRequest + (*NetConf)(nil), // 6: rpc.NetConf + (*AllocIPReply)(nil), // 7: rpc.AllocIPReply + (*BasicInfo)(nil), // 8: rpc.BasicInfo + (*ENIInfo)(nil), // 9: rpc.ENIInfo + (*Route)(nil), // 10: rpc.Route + (*Pod)(nil), // 11: rpc.Pod + (*ReleaseIPRequest)(nil), // 12: rpc.ReleaseIPRequest + (*ReleaseIPReply)(nil), // 13: rpc.ReleaseIPReply + (*GetInfoRequest)(nil), // 14: rpc.GetInfoRequest + (*GetInfoReply)(nil), // 15: rpc.GetInfoReply + (*EventRequest)(nil), // 16: rpc.EventRequest + (*EventReply)(nil), // 17: rpc.EventReply } var file_rpc_proto_depIdxs = []int32{ - 9, // 0: rpc.NetConf.BasicInfo:type_name -> rpc.BasicInfo - 10, // 1: rpc.NetConf.ENIInfo:type_name -> rpc.ENIInfo - 12, // 2: rpc.NetConf.Pod:type_name -> rpc.Pod - 11, // 3: rpc.NetConf.ExtraRoutes:type_name -> rpc.Route + 8, // 0: rpc.NetConf.BasicInfo:type_name -> rpc.BasicInfo + 9, // 1: rpc.NetConf.ENIInfo:type_name -> rpc.ENIInfo + 11, // 2: rpc.NetConf.Pod:type_name -> rpc.Pod + 10, // 3: rpc.NetConf.ExtraRoutes:type_name -> rpc.Route 0, // 4: rpc.AllocIPReply.IPType:type_name -> rpc.IPType - 7, // 5: rpc.AllocIPReply.NetConfs:type_name -> rpc.NetConf - 5, // 6: rpc.BasicInfo.PodIP:type_name -> rpc.IPSet - 5, // 7: rpc.BasicInfo.PodCIDR:type_name -> rpc.IPSet - 5, // 8: rpc.BasicInfo.GatewayIP:type_name -> rpc.IPSet - 5, // 9: rpc.BasicInfo.ServiceCIDR:type_name -> rpc.IPSet - 5, // 10: rpc.ENIInfo.GatewayIP:type_name -> rpc.IPSet - 4, // 11: rpc.ENIInfo.VfType:type_name -> rpc.VfType - 0, // 12: rpc.ReleaseIPRequest.IPType:type_name -> rpc.IPType - 5, // 13: rpc.ReleaseIPRequest.IPv4Addr:type_name -> rpc.IPSet - 5, // 14: rpc.ReleaseIPReply.IPv4Addr:type_name -> rpc.IPSet - 0, // 15: rpc.GetInfoReply.IPType:type_name -> rpc.IPType - 7, // 16: rpc.GetInfoReply.NetConfs:type_name -> rpc.NetConf - 1, // 17: rpc.GetInfoReply.Error:type_name -> rpc.Error - 2, // 18: rpc.EventRequest.EventTarget:type_name -> rpc.EventTarget - 3, // 19: rpc.EventRequest.EventType:type_name -> rpc.EventType - 6, // 20: rpc.TerwayBackend.AllocIP:input_type -> rpc.AllocIPRequest - 13, // 21: rpc.TerwayBackend.ReleaseIP:input_type -> rpc.ReleaseIPRequest - 15, // 22: rpc.TerwayBackend.GetIPInfo:input_type -> rpc.GetInfoRequest - 17, // 23: rpc.TerwayBackend.RecordEvent:input_type -> rpc.EventRequest - 8, // 24: rpc.TerwayBackend.AllocIP:output_type -> rpc.AllocIPReply - 14, // 25: rpc.TerwayBackend.ReleaseIP:output_type -> rpc.ReleaseIPReply - 16, // 26: rpc.TerwayBackend.GetIPInfo:output_type -> rpc.GetInfoReply - 18, // 27: rpc.TerwayBackend.RecordEvent:output_type -> rpc.EventReply - 24, // [24:28] is the sub-list for method output_type - 20, // [20:24] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 6, // 5: rpc.AllocIPReply.NetConfs:type_name -> rpc.NetConf + 4, // 6: rpc.BasicInfo.PodIP:type_name -> rpc.IPSet + 4, // 7: rpc.BasicInfo.PodCIDR:type_name -> rpc.IPSet + 4, // 8: rpc.BasicInfo.GatewayIP:type_name -> rpc.IPSet + 4, // 9: rpc.BasicInfo.ServiceCIDR:type_name -> rpc.IPSet + 4, // 10: rpc.ENIInfo.GatewayIP:type_name -> rpc.IPSet + 0, // 11: rpc.ReleaseIPRequest.IPType:type_name -> rpc.IPType + 4, // 12: rpc.ReleaseIPRequest.IPv4Addr:type_name -> rpc.IPSet + 4, // 13: rpc.ReleaseIPReply.IPv4Addr:type_name -> rpc.IPSet + 0, // 14: rpc.GetInfoReply.IPType:type_name -> rpc.IPType + 6, // 15: rpc.GetInfoReply.NetConfs:type_name -> rpc.NetConf + 1, // 16: rpc.GetInfoReply.Error:type_name -> rpc.Error + 2, // 17: rpc.EventRequest.EventTarget:type_name -> rpc.EventTarget + 3, // 18: rpc.EventRequest.EventType:type_name -> rpc.EventType + 5, // 19: rpc.TerwayBackend.AllocIP:input_type -> rpc.AllocIPRequest + 12, // 20: rpc.TerwayBackend.ReleaseIP:input_type -> rpc.ReleaseIPRequest + 14, // 21: rpc.TerwayBackend.GetIPInfo:input_type -> rpc.GetInfoRequest + 16, // 22: rpc.TerwayBackend.RecordEvent:input_type -> rpc.EventRequest + 7, // 23: rpc.TerwayBackend.AllocIP:output_type -> rpc.AllocIPReply + 13, // 24: rpc.TerwayBackend.ReleaseIP:output_type -> rpc.ReleaseIPReply + 15, // 25: rpc.TerwayBackend.GetIPInfo:output_type -> rpc.GetInfoReply + 17, // 26: rpc.TerwayBackend.RecordEvent:output_type -> rpc.EventReply + 23, // [23:27] is the sub-list for method output_type + 19, // [19:23] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_rpc_proto_init() } @@ -1732,7 +1666,7 @@ func file_rpc_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_rpc_proto_rawDesc, - NumEnums: 5, + NumEnums: 4, NumMessages: 14, NumExtensions: 0, NumServices: 1, diff --git a/rpc/rpc.proto b/rpc/rpc.proto index 5ce78f61..eda9db5b 100644 --- a/rpc/rpc.proto +++ b/rpc/rpc.proto @@ -58,7 +58,6 @@ message ENIInfo { IPSet GatewayIP = 4; bool eRDMA = 5; // eni is eRDMA optional uint32 VfId = 6; - optional VfType VfType = 7; } message Route { @@ -138,10 +137,4 @@ message EventRequest { message EventReply { bool Succeed = 1; string Error = 2; -} - -enum VfType { - VfTypeDefault = 0; - VfTypeVPC = 1; - VfTypeENO = 2; } \ No newline at end of file diff --git a/rpc/rpc_grpc.pb.go b/rpc/rpc_grpc.pb.go index 6ae55ae9..2d26ae2e 100644 --- a/rpc/rpc_grpc.pb.go +++ b/rpc/rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v6.32.0 +// - protoc v6.33.2 // source: rpc.proto package rpc diff --git a/rpc/tracing.pb.go b/rpc/tracing.pb.go index a46e0770..0ee11c1d 100644 --- a/rpc/tracing.pb.go +++ b/rpc/tracing.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v6.32.0 +// protoc v6.33.2 // source: tracing.proto package rpc diff --git a/rpc/tracing_grpc.pb.go b/rpc/tracing_grpc.pb.go index 41d2791e..e17679dc 100644 --- a/rpc/tracing_grpc.pb.go +++ b/rpc/tracing_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v6.32.0 +// - protoc v6.33.2 // source: tracing.proto package rpc