diff --git a/config_grpc.go b/config_grpc.go index f71f849..a4e3066 100644 --- a/config_grpc.go +++ b/config_grpc.go @@ -20,11 +20,20 @@ func (s *GRPCServer) SaveConfig(ctx context.Context, in *pb.Empty) (*pb.Empty, e // Reload the configuration from the yaml file. func (s *GRPCServer) ReloadConfig(ctx context.Context, in *pb.Empty) (*pb.Empty, error) { log.Println("Reloading configurations.") + app.ApplyingConfig = true config := ReadConfig() err := ApplyConfig(config) + app.ApplyingConfig = false if err != nil { log.Println(err) return nil, err } return new(pb.Empty), nil } + +// Check if the config is being applied. +func (s *GRPCServer) IsApplyingConfig(ctx context.Context, in *pb.Empty) (*pb.IsApplyingConfigReply, error) { + reply := new(pb.IsApplyingConfigReply) + reply.IsApplying = app.ApplyingConfig + return reply, nil +} diff --git a/go.mod b/go.mod index e815790..dd14a9a 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/shibukawa/configdir v0.0.0-20170330084843-e180dbdc8da0 github.com/sirupsen/logrus v1.9.3 github.com/vishvananda/netlink v1.3.0 - golang.org/x/sys v0.29.0 + golang.org/x/sys v0.30.0 golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 golang.zx2c4.com/wireguard/windows v0.5.3 @@ -45,14 +45,14 @@ require ( github.com/ulikunitz/xz v0.5.12 // indirect github.com/vishvananda/netns v0.0.4 // indirect github.com/xanzy/go-gitlab v0.112.0 // indirect - golang.org/x/crypto v0.32.0 // indirect - golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.34.0 // indirect + golang.org/x/crypto v0.33.0 // indirect + golang.org/x/mod v0.23.0 // indirect + golang.org/x/net v0.35.0 // indirect golang.org/x/oauth2 v0.24.0 // indirect - golang.org/x/sync v0.10.0 // indirect - golang.org/x/text v0.21.0 // indirect + golang.org/x/sync v0.11.0 // indirect + golang.org/x/text v0.22.0 // indirect golang.org/x/time v0.7.0 // indirect - golang.org/x/tools v0.29.0 // indirect + golang.org/x/tools v0.30.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect ) diff --git a/go.sum b/go.sum index fad7615..579e869 100644 --- a/go.sum +++ b/go.sum @@ -115,24 +115,24 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= -golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= -golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= +golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= +golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= -golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM= +golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= -golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= +golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= +golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= +golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -140,21 +140,21 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= -golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= -golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= +golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU= +golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= +golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE= -golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= +golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= +golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 h1:B82qJJgjvYKsXS9jeunTOisW56dUokqW/FOteYJJ/yg= diff --git a/main.go b/main.go index c77b249..71f3fe0 100644 --- a/main.go +++ b/main.go @@ -6,7 +6,7 @@ const ( serviceDisplayName = "Virtual VXLAN" serviceVendor = "com.mrgeckosmedia" serviceDescription = "Virtual VXLAN using TUN interfaces" - serviceVersion = "0.1.8" + serviceVersion = "0.2.0" defaultConfigFile = "config.yaml" ) diff --git a/server_cmd.go b/server_cmd.go index 8ff0ebe..a8f72de 100644 --- a/server_cmd.go +++ b/server_cmd.go @@ -24,6 +24,7 @@ type App struct { } ControllerMac net.HardwareAddr grpcServer *GRPCServer + ApplyingConfig bool Stop chan struct{} UpdateConfig *UpdateConfig } @@ -41,6 +42,9 @@ func (a *ServerCmd) Run() error { config := ReadConfig() app.UpdateConfig = config.Update + // So that other services interacting can confirm the config is applied prior to working. + app.ApplyingConfig = true + // Start the GRPC server for cli communication. _, err := NewGRPCServer(config.RPCPath) if err != nil { @@ -55,6 +59,9 @@ func (a *ServerCmd) Run() error { if err != nil { log.Println("An error occurred applying configuration:", err) } + + // Other services may now work. + app.ApplyingConfig = false }() } diff --git a/vxlan/vxlan.pb.go b/vxlan/vxlan.pb.go index 0417846..cd860c8 100644 --- a/vxlan/vxlan.pb.go +++ b/vxlan/vxlan.pb.go @@ -57,6 +57,51 @@ func (*Empty) Descriptor() ([]byte, []int) { return file_vxlan_vxlan_proto_rawDescGZIP(), []int{0} } +// Response to is applying config. +type IsApplyingConfigReply struct { + state protoimpl.MessageState `protogen:"open.v1"` + IsApplying bool `protobuf:"varint,1,opt,name=isApplying,proto3" json:"isApplying,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IsApplyingConfigReply) Reset() { + *x = IsApplyingConfigReply{} + mi := &file_vxlan_vxlan_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IsApplyingConfigReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IsApplyingConfigReply) ProtoMessage() {} + +func (x *IsApplyingConfigReply) ProtoReflect() protoreflect.Message { + mi := &file_vxlan_vxlan_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IsApplyingConfigReply.ProtoReflect.Descriptor instead. +func (*IsApplyingConfigReply) Descriptor() ([]byte, []int) { + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{1} +} + +func (x *IsApplyingConfigReply) GetIsApplying() bool { + if x != nil { + return x.IsApplying + } + return false +} + // Listener messages. type ListenerRequestWithName struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -67,7 +112,7 @@ type ListenerRequestWithName struct { func (x *ListenerRequestWithName) Reset() { *x = ListenerRequestWithName{} - mi := &file_vxlan_vxlan_proto_msgTypes[1] + mi := &file_vxlan_vxlan_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -79,7 +124,7 @@ func (x *ListenerRequestWithName) String() string { func (*ListenerRequestWithName) ProtoMessage() {} func (x *ListenerRequestWithName) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[1] + mi := &file_vxlan_vxlan_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92,7 +137,7 @@ func (x *ListenerRequestWithName) ProtoReflect() protoreflect.Message { // Deprecated: Use ListenerRequestWithName.ProtoReflect.Descriptor instead. func (*ListenerRequestWithName) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{1} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{2} } func (x *ListenerRequestWithName) GetName() string { @@ -114,7 +159,7 @@ type Listener struct { func (x *Listener) Reset() { *x = Listener{} - mi := &file_vxlan_vxlan_proto_msgTypes[2] + mi := &file_vxlan_vxlan_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126,7 +171,7 @@ func (x *Listener) String() string { func (*Listener) ProtoMessage() {} func (x *Listener) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[2] + mi := &file_vxlan_vxlan_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -139,7 +184,7 @@ func (x *Listener) ProtoReflect() protoreflect.Message { // Deprecated: Use Listener.ProtoReflect.Descriptor instead. func (*Listener) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{2} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{3} } func (x *Listener) GetName() string { @@ -179,7 +224,7 @@ type ListListenersReply struct { func (x *ListListenersReply) Reset() { *x = ListListenersReply{} - mi := &file_vxlan_vxlan_proto_msgTypes[3] + mi := &file_vxlan_vxlan_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -191,7 +236,7 @@ func (x *ListListenersReply) String() string { func (*ListListenersReply) ProtoMessage() {} func (x *ListListenersReply) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[3] + mi := &file_vxlan_vxlan_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -204,7 +249,7 @@ func (x *ListListenersReply) ProtoReflect() protoreflect.Message { // Deprecated: Use ListListenersReply.ProtoReflect.Descriptor instead. func (*ListListenersReply) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{3} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{4} } func (x *ListListenersReply) GetListeners() []*Listener { @@ -224,7 +269,7 @@ type ListenerMaxMessageSizeRequest struct { func (x *ListenerMaxMessageSizeRequest) Reset() { *x = ListenerMaxMessageSizeRequest{} - mi := &file_vxlan_vxlan_proto_msgTypes[4] + mi := &file_vxlan_vxlan_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -236,7 +281,7 @@ func (x *ListenerMaxMessageSizeRequest) String() string { func (*ListenerMaxMessageSizeRequest) ProtoMessage() {} func (x *ListenerMaxMessageSizeRequest) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[4] + mi := &file_vxlan_vxlan_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -249,7 +294,7 @@ func (x *ListenerMaxMessageSizeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListenerMaxMessageSizeRequest.ProtoReflect.Descriptor instead. func (*ListenerMaxMessageSizeRequest) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{4} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{5} } func (x *ListenerMaxMessageSizeRequest) GetName() string { @@ -275,7 +320,7 @@ type ListenerMaxMessageSizeReply struct { func (x *ListenerMaxMessageSizeReply) Reset() { *x = ListenerMaxMessageSizeReply{} - mi := &file_vxlan_vxlan_proto_msgTypes[5] + mi := &file_vxlan_vxlan_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -287,7 +332,7 @@ func (x *ListenerMaxMessageSizeReply) String() string { func (*ListenerMaxMessageSizeReply) ProtoMessage() {} func (x *ListenerMaxMessageSizeReply) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[5] + mi := &file_vxlan_vxlan_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -300,7 +345,7 @@ func (x *ListenerMaxMessageSizeReply) ProtoReflect() protoreflect.Message { // Deprecated: Use ListenerMaxMessageSizeReply.ProtoReflect.Descriptor instead. func (*ListenerMaxMessageSizeReply) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{5} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{6} } func (x *ListenerMaxMessageSizeReply) GetSize() int32 { @@ -323,7 +368,7 @@ type Interface struct { func (x *Interface) Reset() { *x = Interface{} - mi := &file_vxlan_vxlan_proto_msgTypes[6] + mi := &file_vxlan_vxlan_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -335,7 +380,7 @@ func (x *Interface) String() string { func (*Interface) ProtoMessage() {} func (x *Interface) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[6] + mi := &file_vxlan_vxlan_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -348,7 +393,7 @@ func (x *Interface) ProtoReflect() protoreflect.Message { // Deprecated: Use Interface.ProtoReflect.Descriptor instead. func (*Interface) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{6} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{7} } func (x *Interface) GetName() string { @@ -388,7 +433,7 @@ type ListInterfacesReply struct { func (x *ListInterfacesReply) Reset() { *x = ListInterfacesReply{} - mi := &file_vxlan_vxlan_proto_msgTypes[7] + mi := &file_vxlan_vxlan_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -400,7 +445,7 @@ func (x *ListInterfacesReply) String() string { func (*ListInterfacesReply) ProtoMessage() {} func (x *ListInterfacesReply) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[7] + mi := &file_vxlan_vxlan_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -413,7 +458,7 @@ func (x *ListInterfacesReply) ProtoReflect() protoreflect.Message { // Deprecated: Use ListInterfacesReply.ProtoReflect.Descriptor instead. func (*ListInterfacesReply) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{7} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{8} } func (x *ListInterfacesReply) GetInterfaces() []*Interface { @@ -436,7 +481,7 @@ type AddInterfaceRequest struct { func (x *AddInterfaceRequest) Reset() { *x = AddInterfaceRequest{} - mi := &file_vxlan_vxlan_proto_msgTypes[8] + mi := &file_vxlan_vxlan_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -448,7 +493,7 @@ func (x *AddInterfaceRequest) String() string { func (*AddInterfaceRequest) ProtoMessage() {} func (x *AddInterfaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[8] + mi := &file_vxlan_vxlan_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -461,7 +506,7 @@ func (x *AddInterfaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddInterfaceRequest.ProtoReflect.Descriptor instead. func (*AddInterfaceRequest) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{8} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{9} } func (x *AddInterfaceRequest) GetListenerName() string { @@ -509,7 +554,7 @@ type InterfaceRequestWithName struct { func (x *InterfaceRequestWithName) Reset() { *x = InterfaceRequestWithName{} - mi := &file_vxlan_vxlan_proto_msgTypes[9] + mi := &file_vxlan_vxlan_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -521,7 +566,7 @@ func (x *InterfaceRequestWithName) String() string { func (*InterfaceRequestWithName) ProtoMessage() {} func (x *InterfaceRequestWithName) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[9] + mi := &file_vxlan_vxlan_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -534,7 +579,7 @@ func (x *InterfaceRequestWithName) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceRequestWithName.ProtoReflect.Descriptor instead. func (*InterfaceRequestWithName) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{9} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{10} } func (x *InterfaceRequestWithName) GetListenerName() string { @@ -562,7 +607,7 @@ type InterfaceMTURequest struct { func (x *InterfaceMTURequest) Reset() { *x = InterfaceMTURequest{} - mi := &file_vxlan_vxlan_proto_msgTypes[10] + mi := &file_vxlan_vxlan_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -574,7 +619,7 @@ func (x *InterfaceMTURequest) String() string { func (*InterfaceMTURequest) ProtoMessage() {} func (x *InterfaceMTURequest) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[10] + mi := &file_vxlan_vxlan_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -587,7 +632,7 @@ func (x *InterfaceMTURequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceMTURequest.ProtoReflect.Descriptor instead. func (*InterfaceMTURequest) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{10} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{11} } func (x *InterfaceMTURequest) GetListenerName() string { @@ -620,7 +665,7 @@ type InterfaceMTUReply struct { func (x *InterfaceMTUReply) Reset() { *x = InterfaceMTUReply{} - mi := &file_vxlan_vxlan_proto_msgTypes[11] + mi := &file_vxlan_vxlan_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -632,7 +677,7 @@ func (x *InterfaceMTUReply) String() string { func (*InterfaceMTUReply) ProtoMessage() {} func (x *InterfaceMTUReply) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[11] + mi := &file_vxlan_vxlan_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -645,7 +690,7 @@ func (x *InterfaceMTUReply) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceMTUReply.ProtoReflect.Descriptor instead. func (*InterfaceMTUReply) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{11} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{12} } func (x *InterfaceMTUReply) GetMtu() int32 { @@ -666,7 +711,7 @@ type InterfaceMACAddressRequest struct { func (x *InterfaceMACAddressRequest) Reset() { *x = InterfaceMACAddressRequest{} - mi := &file_vxlan_vxlan_proto_msgTypes[12] + mi := &file_vxlan_vxlan_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -678,7 +723,7 @@ func (x *InterfaceMACAddressRequest) String() string { func (*InterfaceMACAddressRequest) ProtoMessage() {} func (x *InterfaceMACAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[12] + mi := &file_vxlan_vxlan_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -691,7 +736,7 @@ func (x *InterfaceMACAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceMACAddressRequest.ProtoReflect.Descriptor instead. func (*InterfaceMACAddressRequest) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{12} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{13} } func (x *InterfaceMACAddressRequest) GetListenerName() string { @@ -724,7 +769,7 @@ type InterfaceMACAddressReply struct { func (x *InterfaceMACAddressReply) Reset() { *x = InterfaceMACAddressReply{} - mi := &file_vxlan_vxlan_proto_msgTypes[13] + mi := &file_vxlan_vxlan_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -736,7 +781,7 @@ func (x *InterfaceMACAddressReply) String() string { func (*InterfaceMACAddressReply) ProtoMessage() {} func (x *InterfaceMACAddressReply) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[13] + mi := &file_vxlan_vxlan_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -749,7 +794,7 @@ func (x *InterfaceMACAddressReply) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceMACAddressReply.ProtoReflect.Descriptor instead. func (*InterfaceMACAddressReply) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{13} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{14} } func (x *InterfaceMACAddressReply) GetMac() string { @@ -770,7 +815,7 @@ type InterfaceIPAddressesRequest struct { func (x *InterfaceIPAddressesRequest) Reset() { *x = InterfaceIPAddressesRequest{} - mi := &file_vxlan_vxlan_proto_msgTypes[14] + mi := &file_vxlan_vxlan_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -782,7 +827,7 @@ func (x *InterfaceIPAddressesRequest) String() string { func (*InterfaceIPAddressesRequest) ProtoMessage() {} func (x *InterfaceIPAddressesRequest) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[14] + mi := &file_vxlan_vxlan_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -795,7 +840,7 @@ func (x *InterfaceIPAddressesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceIPAddressesRequest.ProtoReflect.Descriptor instead. func (*InterfaceIPAddressesRequest) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{14} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{15} } func (x *InterfaceIPAddressesRequest) GetListenerName() string { @@ -828,7 +873,7 @@ type InterfaceIPAddressesReply struct { func (x *InterfaceIPAddressesReply) Reset() { *x = InterfaceIPAddressesReply{} - mi := &file_vxlan_vxlan_proto_msgTypes[15] + mi := &file_vxlan_vxlan_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -840,7 +885,7 @@ func (x *InterfaceIPAddressesReply) String() string { func (*InterfaceIPAddressesReply) ProtoMessage() {} func (x *InterfaceIPAddressesReply) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[15] + mi := &file_vxlan_vxlan_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -853,7 +898,7 @@ func (x *InterfaceIPAddressesReply) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceIPAddressesReply.ProtoReflect.Descriptor instead. func (*InterfaceIPAddressesReply) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{15} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{16} } func (x *InterfaceIPAddressesReply) GetIpAddress() []string { @@ -876,7 +921,7 @@ type InterfaceMacEntryRequest struct { func (x *InterfaceMacEntryRequest) Reset() { *x = InterfaceMacEntryRequest{} - mi := &file_vxlan_vxlan_proto_msgTypes[16] + mi := &file_vxlan_vxlan_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -888,7 +933,7 @@ func (x *InterfaceMacEntryRequest) String() string { func (*InterfaceMacEntryRequest) ProtoMessage() {} func (x *InterfaceMacEntryRequest) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[16] + mi := &file_vxlan_vxlan_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -901,7 +946,7 @@ func (x *InterfaceMacEntryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceMacEntryRequest.ProtoReflect.Descriptor instead. func (*InterfaceMacEntryRequest) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{16} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{17} } func (x *InterfaceMacEntryRequest) GetListenerName() string { @@ -951,7 +996,7 @@ type InterfaceRemoveMacEntryRequest struct { func (x *InterfaceRemoveMacEntryRequest) Reset() { *x = InterfaceRemoveMacEntryRequest{} - mi := &file_vxlan_vxlan_proto_msgTypes[17] + mi := &file_vxlan_vxlan_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -963,7 +1008,7 @@ func (x *InterfaceRemoveMacEntryRequest) String() string { func (*InterfaceRemoveMacEntryRequest) ProtoMessage() {} func (x *InterfaceRemoveMacEntryRequest) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[17] + mi := &file_vxlan_vxlan_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -976,7 +1021,7 @@ func (x *InterfaceRemoveMacEntryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceRemoveMacEntryRequest.ProtoReflect.Descriptor instead. func (*InterfaceRemoveMacEntryRequest) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{17} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{18} } func (x *InterfaceRemoveMacEntryRequest) GetListenerName() string { @@ -1018,7 +1063,7 @@ type MacEntry struct { func (x *MacEntry) Reset() { *x = MacEntry{} - mi := &file_vxlan_vxlan_proto_msgTypes[18] + mi := &file_vxlan_vxlan_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1030,7 +1075,7 @@ func (x *MacEntry) String() string { func (*MacEntry) ProtoMessage() {} func (x *MacEntry) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[18] + mi := &file_vxlan_vxlan_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1043,7 +1088,7 @@ func (x *MacEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use MacEntry.ProtoReflect.Descriptor instead. func (*MacEntry) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{18} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{19} } func (x *MacEntry) GetMac() string { @@ -1076,7 +1121,7 @@ type InterfaceMacEntryReply struct { func (x *InterfaceMacEntryReply) Reset() { *x = InterfaceMacEntryReply{} - mi := &file_vxlan_vxlan_proto_msgTypes[19] + mi := &file_vxlan_vxlan_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1088,7 +1133,7 @@ func (x *InterfaceMacEntryReply) String() string { func (*InterfaceMacEntryReply) ProtoMessage() {} func (x *InterfaceMacEntryReply) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[19] + mi := &file_vxlan_vxlan_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1101,7 +1146,7 @@ func (x *InterfaceMacEntryReply) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceMacEntryReply.ProtoReflect.Descriptor instead. func (*InterfaceMacEntryReply) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{19} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{20} } func (x *InterfaceMacEntryReply) GetEntries() []*MacEntry { @@ -1124,7 +1169,7 @@ type InterfaceARPEntryRequest struct { func (x *InterfaceARPEntryRequest) Reset() { *x = InterfaceARPEntryRequest{} - mi := &file_vxlan_vxlan_proto_msgTypes[20] + mi := &file_vxlan_vxlan_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1136,7 +1181,7 @@ func (x *InterfaceARPEntryRequest) String() string { func (*InterfaceARPEntryRequest) ProtoMessage() {} func (x *InterfaceARPEntryRequest) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[20] + mi := &file_vxlan_vxlan_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1149,7 +1194,7 @@ func (x *InterfaceARPEntryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceARPEntryRequest.ProtoReflect.Descriptor instead. func (*InterfaceARPEntryRequest) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{20} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{21} } func (x *InterfaceARPEntryRequest) GetListenerName() string { @@ -1198,7 +1243,7 @@ type InterfaceRemoveARPEntryRequest struct { func (x *InterfaceRemoveARPEntryRequest) Reset() { *x = InterfaceRemoveARPEntryRequest{} - mi := &file_vxlan_vxlan_proto_msgTypes[21] + mi := &file_vxlan_vxlan_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1210,7 +1255,7 @@ func (x *InterfaceRemoveARPEntryRequest) String() string { func (*InterfaceRemoveARPEntryRequest) ProtoMessage() {} func (x *InterfaceRemoveARPEntryRequest) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[21] + mi := &file_vxlan_vxlan_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1223,7 +1268,7 @@ func (x *InterfaceRemoveARPEntryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceRemoveARPEntryRequest.ProtoReflect.Descriptor instead. func (*InterfaceRemoveARPEntryRequest) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{21} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{22} } func (x *InterfaceRemoveARPEntryRequest) GetListenerName() string { @@ -1259,7 +1304,7 @@ type ArpEntry struct { func (x *ArpEntry) Reset() { *x = ArpEntry{} - mi := &file_vxlan_vxlan_proto_msgTypes[22] + mi := &file_vxlan_vxlan_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1271,7 +1316,7 @@ func (x *ArpEntry) String() string { func (*ArpEntry) ProtoMessage() {} func (x *ArpEntry) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[22] + mi := &file_vxlan_vxlan_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1284,7 +1329,7 @@ func (x *ArpEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use ArpEntry.ProtoReflect.Descriptor instead. func (*ArpEntry) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{22} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{23} } func (x *ArpEntry) GetAddress() string { @@ -1324,7 +1369,7 @@ type InterfaceArpEntryReply struct { func (x *InterfaceArpEntryReply) Reset() { *x = InterfaceArpEntryReply{} - mi := &file_vxlan_vxlan_proto_msgTypes[23] + mi := &file_vxlan_vxlan_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1336,7 +1381,7 @@ func (x *InterfaceArpEntryReply) String() string { func (*InterfaceArpEntryReply) ProtoMessage() {} func (x *InterfaceArpEntryReply) ProtoReflect() protoreflect.Message { - mi := &file_vxlan_vxlan_proto_msgTypes[23] + mi := &file_vxlan_vxlan_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1349,7 +1394,7 @@ func (x *InterfaceArpEntryReply) ProtoReflect() protoreflect.Message { // Deprecated: Use InterfaceArpEntryReply.ProtoReflect.Descriptor instead. func (*InterfaceArpEntryReply) Descriptor() ([]byte, []int) { - return file_vxlan_vxlan_proto_rawDescGZIP(), []int{23} + return file_vxlan_vxlan_proto_rawDescGZIP(), []int{24} } func (x *InterfaceArpEntryReply) GetEntries() []*ArpEntry { @@ -1364,258 +1409,265 @@ var File_vxlan_vxlan_proto protoreflect.FileDescriptor var file_vxlan_vxlan_proto_rawDesc = []byte{ 0x0a, 0x11, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2f, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x2d, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x7e, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0e, - 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, - 0x6e, 0x74, 0x22, 0x43, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2d, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x78, - 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6c, 0x69, - 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x22, 0x47, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, - 0x22, 0x31, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, - 0x69, 0x7a, 0x65, 0x22, 0x61, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x6e, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x76, 0x6e, 0x69, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, - 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x65, 0x72, - 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x47, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, - 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x22, - 0x8f, 0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x76, 0x6e, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76, 0x6e, - 0x69, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x6d, 0x74, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, - 0x74, 0x22, 0x52, 0x0a, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, - 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x13, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x4d, 0x54, 0x55, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, - 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x22, 0x25, 0x0a, 0x11, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x4d, 0x54, 0x55, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x74, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x22, 0x66, 0x0a, - 0x1a, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x41, 0x43, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6d, 0x61, 0x63, 0x22, 0x2c, 0x0a, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x4d, 0x41, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x61, 0x63, 0x22, 0x73, 0x0a, 0x1b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x70, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, - 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x39, 0x0a, 0x19, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x22, 0xa4, 0x01, 0x0a, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x4d, 0x61, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x70, 0x74, 0x79, 0x22, 0x37, 0x0a, 0x15, 0x49, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1e, 0x0a, 0x0a, + 0x69, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x69, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x22, 0x2d, 0x0a, 0x17, + 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, + 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7e, 0x0a, 0x08, 0x4c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, + 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x43, 0x0a, 0x12, 0x4c, + 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x12, 0x2d, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, + 0x22, 0x47, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x31, 0x0a, 0x1b, 0x4c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x61, 0x0a, 0x09, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x76, 0x6e, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76, 0x6e, 0x69, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x74, + 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x22, + 0x47, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x78, 0x6c, + 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x6e, 0x69, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76, 0x6e, 0x69, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, + 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x1e, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, - 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, - 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x08, 0x4d, 0x61, 0x63, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, - 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x65, - 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x43, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x12, 0x29, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4d, 0x61, 0x63, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x9c, 0x01, 0x0a, - 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, + 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x52, 0x0a, 0x18, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, + 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, + 0x0a, 0x13, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x54, 0x55, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x74, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x22, + 0x25, 0x0a, 0x11, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x54, 0x55, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x22, 0x66, 0x0a, 0x1a, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x4d, 0x41, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x61, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x22, 0x2c, + 0x0a, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x41, 0x43, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, + 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x22, 0x73, 0x0a, 0x1b, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x22, 0x39, 0x0a, 0x19, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x50, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1c, + 0x0a, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xa4, 0x01, 0x0a, + 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x61, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x1c, 0x0a, - 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x72, 0x0a, 0x1e, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x52, - 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, - 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, - 0x6e, 0x0a, 0x08, 0x41, 0x72, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x22, - 0x43, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x41, 0x72, 0x70, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x07, 0x65, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x78, 0x6c, - 0x61, 0x6e, 0x2e, 0x41, 0x72, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x32, 0x88, 0x0e, 0x0a, 0x05, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x12, 0x2a, - 0x0a, 0x0a, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0c, 0x2e, 0x76, - 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, - 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x2c, 0x0a, 0x0c, 0x52, 0x65, - 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0c, 0x2e, 0x76, 0x78, 0x6c, - 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, - 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x00, 0x12, 0x2e, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x65, 0x72, 0x12, 0x0f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x65, 0x72, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, - 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x24, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, - 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x19, 0x47, 0x65, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, - 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x22, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0e, - 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1e, - 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x1a, - 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0c, - 0x41, 0x64, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x2e, 0x76, - 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x2e, 0x76, 0x78, - 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x0c, 0x2e, 0x76, - 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0f, - 0x53, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x54, 0x55, 0x12, - 0x1a, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x4d, 0x54, 0x55, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, - 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x54, 0x55, 0x12, 0x1f, - 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, - 0x18, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x4d, 0x54, 0x55, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x16, 0x53, - 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x41, 0x43, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x41, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x41, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x1a, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x41, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x12, 0x22, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, - 0x65, 0x1a, 0x20, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x41, 0x64, 0x64, 0x4d, 0x41, 0x43, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x2e, - 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, - 0x61, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, - 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x50, - 0x0a, 0x17, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4d, 0x41, 0x43, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, 0x2e, 0x76, 0x78, 0x6c, 0x61, - 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4d, 0x61, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, - 0x12, 0x5a, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x47, 0x65, 0x74, - 0x4d, 0x41, 0x43, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, - 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x1d, 0x2e, 0x76, 0x78, - 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x63, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x16, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x4d, 0x41, - 0x43, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x61, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, + 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, + 0x65, 0x6e, 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x08, 0x4d, 0x61, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, + 0x22, 0x43, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x63, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x07, 0x65, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x78, + 0x6c, 0x61, 0x6e, 0x2e, 0x4d, 0x61, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, + 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, + 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x72, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x6e, 0x0a, 0x08, 0x41, 0x72, 0x70, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, + 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, + 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x43, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x41, 0x72, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x41, 0x72, 0x70, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x32, 0xca, 0x0e, + 0x0a, 0x05, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x12, 0x2a, 0x0a, 0x0a, 0x53, 0x61, 0x76, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x22, 0x00, 0x12, 0x2c, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0x00, 0x12, 0x40, 0x0a, 0x10, 0x49, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x73, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x65, 0x72, 0x73, 0x12, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, + 0x2e, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x0f, + 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x1a, + 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, + 0x40, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x12, 0x1e, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, + 0x65, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0x00, 0x12, 0x51, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, + 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x24, + 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, + 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, + 0x65, 0x1a, 0x22, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x76, 0x78, 0x6c, 0x61, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x1a, 0x2e, 0x76, 0x78, 0x6c, 0x61, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, + 0x41, 0x64, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x1a, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x52, 0x50, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x54, 0x55, 0x12, 0x1a, 0x2e, 0x76, 0x78, 0x6c, + 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x54, 0x55, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x17, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x25, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x47, 0x65, 0x74, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x1a, 0x1d, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x41, 0x72, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x41, 0x52, 0x50, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, + 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x54, 0x55, 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, + 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x18, 0x2e, 0x76, 0x78, 0x6c, + 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x54, 0x55, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x41, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x21, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x4d, 0x41, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x4d, 0x41, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x2e, + 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, - 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, - 0x2a, 0x5a, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, - 0x6d, 0x72, 0x67, 0x65, 0x63, 0x6b, 0x6f, 0x2f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x2d, - 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2f, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x4d, 0x41, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x00, 0x12, 0x4d, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x76, + 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x50, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, + 0x12, 0x5e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x76, 0x78, + 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x20, 0x2e, 0x76, + 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x50, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, + 0x12, 0x47, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x41, 0x64, 0x64, + 0x4d, 0x41, 0x43, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, + 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x63, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, + 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x17, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x41, 0x43, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, + 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x16, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x47, 0x65, 0x74, 0x4d, 0x41, 0x43, 0x45, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, + 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x1d, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x4d, 0x41, 0x43, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, + 0x6d, 0x65, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x1a, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x41, + 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0x00, 0x12, 0x50, 0x0a, 0x17, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, 0x2e, 0x76, + 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x47, 0x65, 0x74, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x2e, + 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x1d, + 0x2e, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x41, 0x72, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, + 0x49, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x46, 0x6c, 0x75, 0x73, + 0x68, 0x41, 0x52, 0x50, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x76, 0x78, 0x6c, 0x61, + 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x0c, 0x2e, 0x76, 0x78, 0x6c, + 0x61, 0x6e, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x2a, 0x5a, 0x28, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x6d, 0x72, 0x67, 0x65, 0x63, + 0x6b, 0x6f, 0x2f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x2d, 0x76, 0x78, 0x6c, 0x61, 0x6e, + 0x2f, 0x76, 0x78, 0x6c, 0x61, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1630,88 +1682,91 @@ func file_vxlan_vxlan_proto_rawDescGZIP() []byte { return file_vxlan_vxlan_proto_rawDescData } -var file_vxlan_vxlan_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_vxlan_vxlan_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_vxlan_vxlan_proto_goTypes = []any{ (*Empty)(nil), // 0: vxlan.Empty - (*ListenerRequestWithName)(nil), // 1: vxlan.ListenerRequestWithName - (*Listener)(nil), // 2: vxlan.Listener - (*ListListenersReply)(nil), // 3: vxlan.ListListenersReply - (*ListenerMaxMessageSizeRequest)(nil), // 4: vxlan.ListenerMaxMessageSizeRequest - (*ListenerMaxMessageSizeReply)(nil), // 5: vxlan.ListenerMaxMessageSizeReply - (*Interface)(nil), // 6: vxlan.Interface - (*ListInterfacesReply)(nil), // 7: vxlan.ListInterfacesReply - (*AddInterfaceRequest)(nil), // 8: vxlan.AddInterfaceRequest - (*InterfaceRequestWithName)(nil), // 9: vxlan.InterfaceRequestWithName - (*InterfaceMTURequest)(nil), // 10: vxlan.InterfaceMTURequest - (*InterfaceMTUReply)(nil), // 11: vxlan.InterfaceMTUReply - (*InterfaceMACAddressRequest)(nil), // 12: vxlan.InterfaceMACAddressRequest - (*InterfaceMACAddressReply)(nil), // 13: vxlan.InterfaceMACAddressReply - (*InterfaceIPAddressesRequest)(nil), // 14: vxlan.InterfaceIPAddressesRequest - (*InterfaceIPAddressesReply)(nil), // 15: vxlan.InterfaceIPAddressesReply - (*InterfaceMacEntryRequest)(nil), // 16: vxlan.InterfaceMacEntryRequest - (*InterfaceRemoveMacEntryRequest)(nil), // 17: vxlan.InterfaceRemoveMacEntryRequest - (*MacEntry)(nil), // 18: vxlan.MacEntry - (*InterfaceMacEntryReply)(nil), // 19: vxlan.InterfaceMacEntryReply - (*InterfaceARPEntryRequest)(nil), // 20: vxlan.InterfaceARPEntryRequest - (*InterfaceRemoveARPEntryRequest)(nil), // 21: vxlan.InterfaceRemoveARPEntryRequest - (*ArpEntry)(nil), // 22: vxlan.ArpEntry - (*InterfaceArpEntryReply)(nil), // 23: vxlan.InterfaceArpEntryReply + (*IsApplyingConfigReply)(nil), // 1: vxlan.IsApplyingConfigReply + (*ListenerRequestWithName)(nil), // 2: vxlan.ListenerRequestWithName + (*Listener)(nil), // 3: vxlan.Listener + (*ListListenersReply)(nil), // 4: vxlan.ListListenersReply + (*ListenerMaxMessageSizeRequest)(nil), // 5: vxlan.ListenerMaxMessageSizeRequest + (*ListenerMaxMessageSizeReply)(nil), // 6: vxlan.ListenerMaxMessageSizeReply + (*Interface)(nil), // 7: vxlan.Interface + (*ListInterfacesReply)(nil), // 8: vxlan.ListInterfacesReply + (*AddInterfaceRequest)(nil), // 9: vxlan.AddInterfaceRequest + (*InterfaceRequestWithName)(nil), // 10: vxlan.InterfaceRequestWithName + (*InterfaceMTURequest)(nil), // 11: vxlan.InterfaceMTURequest + (*InterfaceMTUReply)(nil), // 12: vxlan.InterfaceMTUReply + (*InterfaceMACAddressRequest)(nil), // 13: vxlan.InterfaceMACAddressRequest + (*InterfaceMACAddressReply)(nil), // 14: vxlan.InterfaceMACAddressReply + (*InterfaceIPAddressesRequest)(nil), // 15: vxlan.InterfaceIPAddressesRequest + (*InterfaceIPAddressesReply)(nil), // 16: vxlan.InterfaceIPAddressesReply + (*InterfaceMacEntryRequest)(nil), // 17: vxlan.InterfaceMacEntryRequest + (*InterfaceRemoveMacEntryRequest)(nil), // 18: vxlan.InterfaceRemoveMacEntryRequest + (*MacEntry)(nil), // 19: vxlan.MacEntry + (*InterfaceMacEntryReply)(nil), // 20: vxlan.InterfaceMacEntryReply + (*InterfaceARPEntryRequest)(nil), // 21: vxlan.InterfaceARPEntryRequest + (*InterfaceRemoveARPEntryRequest)(nil), // 22: vxlan.InterfaceRemoveARPEntryRequest + (*ArpEntry)(nil), // 23: vxlan.ArpEntry + (*InterfaceArpEntryReply)(nil), // 24: vxlan.InterfaceArpEntryReply } var file_vxlan_vxlan_proto_depIdxs = []int32{ - 2, // 0: vxlan.ListListenersReply.listeners:type_name -> vxlan.Listener - 6, // 1: vxlan.ListInterfacesReply.interfaces:type_name -> vxlan.Interface - 18, // 2: vxlan.InterfaceMacEntryReply.entries:type_name -> vxlan.MacEntry - 22, // 3: vxlan.InterfaceArpEntryReply.entries:type_name -> vxlan.ArpEntry + 3, // 0: vxlan.ListListenersReply.listeners:type_name -> vxlan.Listener + 7, // 1: vxlan.ListInterfacesReply.interfaces:type_name -> vxlan.Interface + 19, // 2: vxlan.InterfaceMacEntryReply.entries:type_name -> vxlan.MacEntry + 23, // 3: vxlan.InterfaceArpEntryReply.entries:type_name -> vxlan.ArpEntry 0, // 4: vxlan.vxlan.SaveConfig:input_type -> vxlan.Empty 0, // 5: vxlan.vxlan.ReloadConfig:input_type -> vxlan.Empty - 0, // 6: vxlan.vxlan.ListListeners:input_type -> vxlan.Empty - 2, // 7: vxlan.vxlan.AddListener:input_type -> vxlan.Listener - 1, // 8: vxlan.vxlan.RemoveListener:input_type -> vxlan.ListenerRequestWithName - 4, // 9: vxlan.vxlan.SetListenerMaxMessageSize:input_type -> vxlan.ListenerMaxMessageSizeRequest - 1, // 10: vxlan.vxlan.GetListenerMaxMessageSize:input_type -> vxlan.ListenerRequestWithName - 1, // 11: vxlan.vxlan.ListInterfaces:input_type -> vxlan.ListenerRequestWithName - 8, // 12: vxlan.vxlan.AddInterface:input_type -> vxlan.AddInterfaceRequest - 9, // 13: vxlan.vxlan.RemoveInterface:input_type -> vxlan.InterfaceRequestWithName - 10, // 14: vxlan.vxlan.SetInterfaceMTU:input_type -> vxlan.InterfaceMTURequest - 9, // 15: vxlan.vxlan.GetInterfaceMTU:input_type -> vxlan.InterfaceRequestWithName - 12, // 16: vxlan.vxlan.SetInterfaceMACAddress:input_type -> vxlan.InterfaceMACAddressRequest - 9, // 17: vxlan.vxlan.GetInterfaceMACAddress:input_type -> vxlan.InterfaceRequestWithName - 14, // 18: vxlan.vxlan.SetInterfaceIPAddresses:input_type -> vxlan.InterfaceIPAddressesRequest - 9, // 19: vxlan.vxlan.GetInterfaceIPAddresses:input_type -> vxlan.InterfaceRequestWithName - 16, // 20: vxlan.vxlan.InterfaceAddMACEntry:input_type -> vxlan.InterfaceMacEntryRequest - 17, // 21: vxlan.vxlan.InterfaceRemoveMACEntry:input_type -> vxlan.InterfaceRemoveMacEntryRequest - 9, // 22: vxlan.vxlan.InterfaceGetMACEntries:input_type -> vxlan.InterfaceRequestWithName - 9, // 23: vxlan.vxlan.InterfaceFlushMACTable:input_type -> vxlan.InterfaceRequestWithName - 20, // 24: vxlan.vxlan.InterfaceAddStaticARPEntry:input_type -> vxlan.InterfaceARPEntryRequest - 21, // 25: vxlan.vxlan.InterfaceRemoveARPEntry:input_type -> vxlan.InterfaceRemoveARPEntryRequest - 9, // 26: vxlan.vxlan.InterfaceGetARPEntries:input_type -> vxlan.InterfaceRequestWithName - 9, // 27: vxlan.vxlan.InterfaceFlushARPTable:input_type -> vxlan.InterfaceRequestWithName - 0, // 28: vxlan.vxlan.SaveConfig:output_type -> vxlan.Empty - 0, // 29: vxlan.vxlan.ReloadConfig:output_type -> vxlan.Empty - 3, // 30: vxlan.vxlan.ListListeners:output_type -> vxlan.ListListenersReply - 0, // 31: vxlan.vxlan.AddListener:output_type -> vxlan.Empty - 0, // 32: vxlan.vxlan.RemoveListener:output_type -> vxlan.Empty - 0, // 33: vxlan.vxlan.SetListenerMaxMessageSize:output_type -> vxlan.Empty - 5, // 34: vxlan.vxlan.GetListenerMaxMessageSize:output_type -> vxlan.ListenerMaxMessageSizeReply - 7, // 35: vxlan.vxlan.ListInterfaces:output_type -> vxlan.ListInterfacesReply - 0, // 36: vxlan.vxlan.AddInterface:output_type -> vxlan.Empty - 0, // 37: vxlan.vxlan.RemoveInterface:output_type -> vxlan.Empty - 0, // 38: vxlan.vxlan.SetInterfaceMTU:output_type -> vxlan.Empty - 11, // 39: vxlan.vxlan.GetInterfaceMTU:output_type -> vxlan.InterfaceMTUReply - 0, // 40: vxlan.vxlan.SetInterfaceMACAddress:output_type -> vxlan.Empty - 13, // 41: vxlan.vxlan.GetInterfaceMACAddress:output_type -> vxlan.InterfaceMACAddressReply - 0, // 42: vxlan.vxlan.SetInterfaceIPAddresses:output_type -> vxlan.Empty - 15, // 43: vxlan.vxlan.GetInterfaceIPAddresses:output_type -> vxlan.InterfaceIPAddressesReply - 0, // 44: vxlan.vxlan.InterfaceAddMACEntry:output_type -> vxlan.Empty - 0, // 45: vxlan.vxlan.InterfaceRemoveMACEntry:output_type -> vxlan.Empty - 19, // 46: vxlan.vxlan.InterfaceGetMACEntries:output_type -> vxlan.InterfaceMacEntryReply - 0, // 47: vxlan.vxlan.InterfaceFlushMACTable:output_type -> vxlan.Empty - 0, // 48: vxlan.vxlan.InterfaceAddStaticARPEntry:output_type -> vxlan.Empty - 0, // 49: vxlan.vxlan.InterfaceRemoveARPEntry:output_type -> vxlan.Empty - 23, // 50: vxlan.vxlan.InterfaceGetARPEntries:output_type -> vxlan.InterfaceArpEntryReply - 0, // 51: vxlan.vxlan.InterfaceFlushARPTable:output_type -> vxlan.Empty - 28, // [28:52] is the sub-list for method output_type - 4, // [4:28] is the sub-list for method input_type + 0, // 6: vxlan.vxlan.IsApplyingConfig:input_type -> vxlan.Empty + 0, // 7: vxlan.vxlan.ListListeners:input_type -> vxlan.Empty + 3, // 8: vxlan.vxlan.AddListener:input_type -> vxlan.Listener + 2, // 9: vxlan.vxlan.RemoveListener:input_type -> vxlan.ListenerRequestWithName + 5, // 10: vxlan.vxlan.SetListenerMaxMessageSize:input_type -> vxlan.ListenerMaxMessageSizeRequest + 2, // 11: vxlan.vxlan.GetListenerMaxMessageSize:input_type -> vxlan.ListenerRequestWithName + 2, // 12: vxlan.vxlan.ListInterfaces:input_type -> vxlan.ListenerRequestWithName + 9, // 13: vxlan.vxlan.AddInterface:input_type -> vxlan.AddInterfaceRequest + 10, // 14: vxlan.vxlan.RemoveInterface:input_type -> vxlan.InterfaceRequestWithName + 11, // 15: vxlan.vxlan.SetInterfaceMTU:input_type -> vxlan.InterfaceMTURequest + 10, // 16: vxlan.vxlan.GetInterfaceMTU:input_type -> vxlan.InterfaceRequestWithName + 13, // 17: vxlan.vxlan.SetInterfaceMACAddress:input_type -> vxlan.InterfaceMACAddressRequest + 10, // 18: vxlan.vxlan.GetInterfaceMACAddress:input_type -> vxlan.InterfaceRequestWithName + 15, // 19: vxlan.vxlan.SetInterfaceIPAddresses:input_type -> vxlan.InterfaceIPAddressesRequest + 10, // 20: vxlan.vxlan.GetInterfaceIPAddresses:input_type -> vxlan.InterfaceRequestWithName + 17, // 21: vxlan.vxlan.InterfaceAddMACEntry:input_type -> vxlan.InterfaceMacEntryRequest + 18, // 22: vxlan.vxlan.InterfaceRemoveMACEntry:input_type -> vxlan.InterfaceRemoveMacEntryRequest + 10, // 23: vxlan.vxlan.InterfaceGetMACEntries:input_type -> vxlan.InterfaceRequestWithName + 10, // 24: vxlan.vxlan.InterfaceFlushMACTable:input_type -> vxlan.InterfaceRequestWithName + 21, // 25: vxlan.vxlan.InterfaceAddStaticARPEntry:input_type -> vxlan.InterfaceARPEntryRequest + 22, // 26: vxlan.vxlan.InterfaceRemoveARPEntry:input_type -> vxlan.InterfaceRemoveARPEntryRequest + 10, // 27: vxlan.vxlan.InterfaceGetARPEntries:input_type -> vxlan.InterfaceRequestWithName + 10, // 28: vxlan.vxlan.InterfaceFlushARPTable:input_type -> vxlan.InterfaceRequestWithName + 0, // 29: vxlan.vxlan.SaveConfig:output_type -> vxlan.Empty + 0, // 30: vxlan.vxlan.ReloadConfig:output_type -> vxlan.Empty + 1, // 31: vxlan.vxlan.IsApplyingConfig:output_type -> vxlan.IsApplyingConfigReply + 4, // 32: vxlan.vxlan.ListListeners:output_type -> vxlan.ListListenersReply + 0, // 33: vxlan.vxlan.AddListener:output_type -> vxlan.Empty + 0, // 34: vxlan.vxlan.RemoveListener:output_type -> vxlan.Empty + 0, // 35: vxlan.vxlan.SetListenerMaxMessageSize:output_type -> vxlan.Empty + 6, // 36: vxlan.vxlan.GetListenerMaxMessageSize:output_type -> vxlan.ListenerMaxMessageSizeReply + 8, // 37: vxlan.vxlan.ListInterfaces:output_type -> vxlan.ListInterfacesReply + 0, // 38: vxlan.vxlan.AddInterface:output_type -> vxlan.Empty + 0, // 39: vxlan.vxlan.RemoveInterface:output_type -> vxlan.Empty + 0, // 40: vxlan.vxlan.SetInterfaceMTU:output_type -> vxlan.Empty + 12, // 41: vxlan.vxlan.GetInterfaceMTU:output_type -> vxlan.InterfaceMTUReply + 0, // 42: vxlan.vxlan.SetInterfaceMACAddress:output_type -> vxlan.Empty + 14, // 43: vxlan.vxlan.GetInterfaceMACAddress:output_type -> vxlan.InterfaceMACAddressReply + 0, // 44: vxlan.vxlan.SetInterfaceIPAddresses:output_type -> vxlan.Empty + 16, // 45: vxlan.vxlan.GetInterfaceIPAddresses:output_type -> vxlan.InterfaceIPAddressesReply + 0, // 46: vxlan.vxlan.InterfaceAddMACEntry:output_type -> vxlan.Empty + 0, // 47: vxlan.vxlan.InterfaceRemoveMACEntry:output_type -> vxlan.Empty + 20, // 48: vxlan.vxlan.InterfaceGetMACEntries:output_type -> vxlan.InterfaceMacEntryReply + 0, // 49: vxlan.vxlan.InterfaceFlushMACTable:output_type -> vxlan.Empty + 0, // 50: vxlan.vxlan.InterfaceAddStaticARPEntry:output_type -> vxlan.Empty + 0, // 51: vxlan.vxlan.InterfaceRemoveARPEntry:output_type -> vxlan.Empty + 24, // 52: vxlan.vxlan.InterfaceGetARPEntries:output_type -> vxlan.InterfaceArpEntryReply + 0, // 53: vxlan.vxlan.InterfaceFlushARPTable:output_type -> vxlan.Empty + 29, // [29:54] is the sub-list for method output_type + 4, // [4:29] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name @@ -1728,7 +1783,7 @@ func file_vxlan_vxlan_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_vxlan_vxlan_proto_rawDesc, NumEnums: 0, - NumMessages: 24, + NumMessages: 25, NumExtensions: 0, NumServices: 1, }, diff --git a/vxlan/vxlan.proto b/vxlan/vxlan.proto index 72389b0..d006144 100644 --- a/vxlan/vxlan.proto +++ b/vxlan/vxlan.proto @@ -7,6 +7,7 @@ service vxlan { // Config commands. rpc SaveConfig (Empty) returns (Empty) {} rpc ReloadConfig (Empty) returns (Empty) {} + rpc IsApplyingConfig (Empty) returns (IsApplyingConfigReply) {} // Listener commands. rpc ListListeners (Empty) returns (ListListenersReply) {} @@ -39,6 +40,11 @@ service vxlan { message Empty { } +// Response to is applying config. +message IsApplyingConfigReply { + bool isApplying = 1; +} + // Listener messages. message ListenerRequestWithName { string name = 1; diff --git a/vxlan/vxlan_grpc.pb.go b/vxlan/vxlan_grpc.pb.go index 2c10892..06c5f77 100644 --- a/vxlan/vxlan_grpc.pb.go +++ b/vxlan/vxlan_grpc.pb.go @@ -21,6 +21,7 @@ const _ = grpc.SupportPackageIsVersion9 const ( Vxlan_SaveConfig_FullMethodName = "/vxlan.vxlan/SaveConfig" Vxlan_ReloadConfig_FullMethodName = "/vxlan.vxlan/ReloadConfig" + Vxlan_IsApplyingConfig_FullMethodName = "/vxlan.vxlan/IsApplyingConfig" Vxlan_ListListeners_FullMethodName = "/vxlan.vxlan/ListListeners" Vxlan_AddListener_FullMethodName = "/vxlan.vxlan/AddListener" Vxlan_RemoveListener_FullMethodName = "/vxlan.vxlan/RemoveListener" @@ -52,6 +53,7 @@ type VxlanClient interface { // Config commands. SaveConfig(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) ReloadConfig(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) + IsApplyingConfig(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*IsApplyingConfigReply, error) // Listener commands. ListListeners(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ListListenersReply, error) AddListener(ctx context.Context, in *Listener, opts ...grpc.CallOption) (*Empty, error) @@ -106,6 +108,16 @@ func (c *vxlanClient) ReloadConfig(ctx context.Context, in *Empty, opts ...grpc. return out, nil } +func (c *vxlanClient) IsApplyingConfig(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*IsApplyingConfigReply, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(IsApplyingConfigReply) + err := c.cc.Invoke(ctx, Vxlan_IsApplyingConfig_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *vxlanClient) ListListeners(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ListListenersReply, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ListListenersReply) @@ -333,6 +345,7 @@ type VxlanServer interface { // Config commands. SaveConfig(context.Context, *Empty) (*Empty, error) ReloadConfig(context.Context, *Empty) (*Empty, error) + IsApplyingConfig(context.Context, *Empty) (*IsApplyingConfigReply, error) // Listener commands. ListListeners(context.Context, *Empty) (*ListListenersReply, error) AddListener(context.Context, *Listener) (*Empty, error) @@ -373,6 +386,9 @@ func (UnimplementedVxlanServer) SaveConfig(context.Context, *Empty) (*Empty, err func (UnimplementedVxlanServer) ReloadConfig(context.Context, *Empty) (*Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method ReloadConfig not implemented") } +func (UnimplementedVxlanServer) IsApplyingConfig(context.Context, *Empty) (*IsApplyingConfigReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method IsApplyingConfig not implemented") +} func (UnimplementedVxlanServer) ListListeners(context.Context, *Empty) (*ListListenersReply, error) { return nil, status.Errorf(codes.Unimplemented, "method ListListeners not implemented") } @@ -496,6 +512,24 @@ func _Vxlan_ReloadConfig_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Vxlan_IsApplyingConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VxlanServer).IsApplyingConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Vxlan_IsApplyingConfig_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VxlanServer).IsApplyingConfig(ctx, req.(*Empty)) + } + return interceptor(ctx, in, info, handler) +} + func _Vxlan_ListListeners_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(Empty) if err := dec(in); err != nil { @@ -907,6 +941,10 @@ var Vxlan_ServiceDesc = grpc.ServiceDesc{ MethodName: "ReloadConfig", Handler: _Vxlan_ReloadConfig_Handler, }, + { + MethodName: "IsApplyingConfig", + Handler: _Vxlan_IsApplyingConfig_Handler, + }, { MethodName: "ListListeners", Handler: _Vxlan_ListListeners_Handler,