diff --git a/messages/messages.pb.go b/messages/messages.pb.go index 32fd145..371d9b3 100644 --- a/messages/messages.pb.go +++ b/messages/messages.pb.go @@ -1,39 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // source: messages/messages.proto -/* -Package messages is a generated protocol buffer package. - -It is generated from these files: - messages/messages.proto - -It has these top-level messages: - EchoRequest - EchoResponse - PingRequest - PingResponse - Response - CreateBridgeRequest - DeleteBridgeRequest - AddPortRequest - PortOptions - SetPortRequest - GetPortRequest - GetPortResponse - DeletePortRequest - AddFlowRequest - DeleteFlowRequest - DumpFlowsRequest - DumpFlowsResponse - DumpPortsRequest - DumpPortsResponse - DumpPortRequest - DumpPortResponse - FindNetworkNamespacePathRequest - FindNetworkNamespacePathResponse - ConnectBridgeRequest - ConfigureIfaceRequest -*/ package messages import proto "github.com/golang/protobuf/proto" @@ -57,13 +24,35 @@ var _ = math.Inf const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package type EchoRequest struct { - Word string `protobuf:"bytes,1,opt,name=word" json:"word,omitempty"` + Word string `protobuf:"bytes,1,opt,name=word,proto3" json:"word,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *EchoRequest) Reset() { *m = EchoRequest{} } -func (m *EchoRequest) String() string { return proto.CompactTextString(m) } -func (*EchoRequest) ProtoMessage() {} -func (*EchoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } +func (m *EchoRequest) Reset() { *m = EchoRequest{} } +func (m *EchoRequest) String() string { return proto.CompactTextString(m) } +func (*EchoRequest) ProtoMessage() {} +func (*EchoRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{0} +} +func (m *EchoRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EchoRequest.Unmarshal(m, b) +} +func (m *EchoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EchoRequest.Marshal(b, m, deterministic) +} +func (dst *EchoRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_EchoRequest.Merge(dst, src) +} +func (m *EchoRequest) XXX_Size() int { + return xxx_messageInfo_EchoRequest.Size(m) +} +func (m *EchoRequest) XXX_DiscardUnknown() { + xxx_messageInfo_EchoRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_EchoRequest proto.InternalMessageInfo func (m *EchoRequest) GetWord() string { if m != nil { @@ -73,13 +62,35 @@ func (m *EchoRequest) GetWord() string { } type EchoResponse struct { - Word string `protobuf:"bytes,1,opt,name=word" json:"word,omitempty"` + Word string `protobuf:"bytes,1,opt,name=word,proto3" json:"word,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *EchoResponse) Reset() { *m = EchoResponse{} } -func (m *EchoResponse) String() string { return proto.CompactTextString(m) } -func (*EchoResponse) ProtoMessage() {} -func (*EchoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } +func (m *EchoResponse) Reset() { *m = EchoResponse{} } +func (m *EchoResponse) String() string { return proto.CompactTextString(m) } +func (*EchoResponse) ProtoMessage() {} +func (*EchoResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{1} +} +func (m *EchoResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EchoResponse.Unmarshal(m, b) +} +func (m *EchoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EchoResponse.Marshal(b, m, deterministic) +} +func (dst *EchoResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_EchoResponse.Merge(dst, src) +} +func (m *EchoResponse) XXX_Size() int { + return xxx_messageInfo_EchoResponse.Size(m) +} +func (m *EchoResponse) XXX_DiscardUnknown() { + xxx_messageInfo_EchoResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_EchoResponse proto.InternalMessageInfo func (m *EchoResponse) GetWord() string { if m != nil { @@ -89,13 +100,35 @@ func (m *EchoResponse) GetWord() string { } type PingRequest struct { - Ping string `protobuf:"bytes,1,opt,name=ping" json:"ping,omitempty"` + Ping string `protobuf:"bytes,1,opt,name=ping,proto3" json:"ping,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *PingRequest) Reset() { *m = PingRequest{} } -func (m *PingRequest) String() string { return proto.CompactTextString(m) } -func (*PingRequest) ProtoMessage() {} -func (*PingRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } +func (m *PingRequest) Reset() { *m = PingRequest{} } +func (m *PingRequest) String() string { return proto.CompactTextString(m) } +func (*PingRequest) ProtoMessage() {} +func (*PingRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{2} +} +func (m *PingRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PingRequest.Unmarshal(m, b) +} +func (m *PingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PingRequest.Marshal(b, m, deterministic) +} +func (dst *PingRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PingRequest.Merge(dst, src) +} +func (m *PingRequest) XXX_Size() int { + return xxx_messageInfo_PingRequest.Size(m) +} +func (m *PingRequest) XXX_DiscardUnknown() { + xxx_messageInfo_PingRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_PingRequest proto.InternalMessageInfo func (m *PingRequest) GetPing() string { if m != nil { @@ -105,13 +138,35 @@ func (m *PingRequest) GetPing() string { } type PingResponse struct { - Pong string `protobuf:"bytes,1,opt,name=pong" json:"pong,omitempty"` + Pong string `protobuf:"bytes,1,opt,name=pong,proto3" json:"pong,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PingResponse) Reset() { *m = PingResponse{} } +func (m *PingResponse) String() string { return proto.CompactTextString(m) } +func (*PingResponse) ProtoMessage() {} +func (*PingResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{3} +} +func (m *PingResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PingResponse.Unmarshal(m, b) +} +func (m *PingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PingResponse.Marshal(b, m, deterministic) +} +func (dst *PingResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_PingResponse.Merge(dst, src) +} +func (m *PingResponse) XXX_Size() int { + return xxx_messageInfo_PingResponse.Size(m) +} +func (m *PingResponse) XXX_DiscardUnknown() { + xxx_messageInfo_PingResponse.DiscardUnknown(m) } -func (m *PingResponse) Reset() { *m = PingResponse{} } -func (m *PingResponse) String() string { return proto.CompactTextString(m) } -func (*PingResponse) ProtoMessage() {} -func (*PingResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } +var xxx_messageInfo_PingResponse proto.InternalMessageInfo func (m *PingResponse) GetPong() string { if m != nil { @@ -121,14 +176,36 @@ func (m *PingResponse) GetPong() string { } type Response struct { - Success bool `protobuf:"varint,1,opt,name=success" json:"success,omitempty"` - Reason string `protobuf:"bytes,2,opt,name=reason" json:"reason,omitempty"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Response) Reset() { *m = Response{} } -func (m *Response) String() string { return proto.CompactTextString(m) } -func (*Response) ProtoMessage() {} -func (*Response) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } +func (m *Response) Reset() { *m = Response{} } +func (m *Response) String() string { return proto.CompactTextString(m) } +func (*Response) ProtoMessage() {} +func (*Response) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{4} +} +func (m *Response) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Response.Unmarshal(m, b) +} +func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Response.Marshal(b, m, deterministic) +} +func (dst *Response) XXX_Merge(src proto.Message) { + xxx_messageInfo_Response.Merge(dst, src) +} +func (m *Response) XXX_Size() int { + return xxx_messageInfo_Response.Size(m) +} +func (m *Response) XXX_DiscardUnknown() { + xxx_messageInfo_Response.DiscardUnknown(m) +} + +var xxx_messageInfo_Response proto.InternalMessageInfo func (m *Response) GetSuccess() bool { if m != nil { @@ -145,14 +222,36 @@ func (m *Response) GetReason() string { } type CreateBridgeRequest struct { - BridgeName string `protobuf:"bytes,1,opt,name=bridgeName" json:"bridgeName,omitempty"` - DatapathType string `protobuf:"bytes,2,opt,name=datapathType" json:"datapathType,omitempty"` + BridgeName string `protobuf:"bytes,1,opt,name=bridgeName,proto3" json:"bridgeName,omitempty"` + DatapathType string `protobuf:"bytes,2,opt,name=datapathType,proto3" json:"datapathType,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateBridgeRequest) Reset() { *m = CreateBridgeRequest{} } +func (m *CreateBridgeRequest) String() string { return proto.CompactTextString(m) } +func (*CreateBridgeRequest) ProtoMessage() {} +func (*CreateBridgeRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{5} +} +func (m *CreateBridgeRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateBridgeRequest.Unmarshal(m, b) +} +func (m *CreateBridgeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateBridgeRequest.Marshal(b, m, deterministic) +} +func (dst *CreateBridgeRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateBridgeRequest.Merge(dst, src) +} +func (m *CreateBridgeRequest) XXX_Size() int { + return xxx_messageInfo_CreateBridgeRequest.Size(m) +} +func (m *CreateBridgeRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateBridgeRequest.DiscardUnknown(m) } -func (m *CreateBridgeRequest) Reset() { *m = CreateBridgeRequest{} } -func (m *CreateBridgeRequest) String() string { return proto.CompactTextString(m) } -func (*CreateBridgeRequest) ProtoMessage() {} -func (*CreateBridgeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } +var xxx_messageInfo_CreateBridgeRequest proto.InternalMessageInfo func (m *CreateBridgeRequest) GetBridgeName() string { if m != nil { @@ -169,13 +268,35 @@ func (m *CreateBridgeRequest) GetDatapathType() string { } type DeleteBridgeRequest struct { - BridgeName string `protobuf:"bytes,1,opt,name=bridgeName" json:"bridgeName,omitempty"` + BridgeName string `protobuf:"bytes,1,opt,name=bridgeName,proto3" json:"bridgeName,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteBridgeRequest) Reset() { *m = DeleteBridgeRequest{} } +func (m *DeleteBridgeRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteBridgeRequest) ProtoMessage() {} +func (*DeleteBridgeRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{6} +} +func (m *DeleteBridgeRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteBridgeRequest.Unmarshal(m, b) +} +func (m *DeleteBridgeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteBridgeRequest.Marshal(b, m, deterministic) +} +func (dst *DeleteBridgeRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteBridgeRequest.Merge(dst, src) +} +func (m *DeleteBridgeRequest) XXX_Size() int { + return xxx_messageInfo_DeleteBridgeRequest.Size(m) +} +func (m *DeleteBridgeRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteBridgeRequest.DiscardUnknown(m) } -func (m *DeleteBridgeRequest) Reset() { *m = DeleteBridgeRequest{} } -func (m *DeleteBridgeRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteBridgeRequest) ProtoMessage() {} -func (*DeleteBridgeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } +var xxx_messageInfo_DeleteBridgeRequest proto.InternalMessageInfo func (m *DeleteBridgeRequest) GetBridgeName() string { if m != nil { @@ -185,16 +306,38 @@ func (m *DeleteBridgeRequest) GetBridgeName() string { } type AddPortRequest struct { - BridgeName string `protobuf:"bytes,1,opt,name=bridgeName" json:"bridgeName,omitempty"` - IfaceName string `protobuf:"bytes,2,opt,name=ifaceName" json:"ifaceName,omitempty"` + BridgeName string `protobuf:"bytes,1,opt,name=bridgeName,proto3" json:"bridgeName,omitempty"` + IfaceName string `protobuf:"bytes,2,opt,name=ifaceName,proto3" json:"ifaceName,omitempty"` // option message: only for dpdk usage - DpdkDevargs string `protobuf:"bytes,3,opt,name=dpdkDevargs" json:"dpdkDevargs,omitempty"` + DpdkDevargs string `protobuf:"bytes,3,opt,name=dpdkDevargs,proto3" json:"dpdkDevargs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddPortRequest) Reset() { *m = AddPortRequest{} } +func (m *AddPortRequest) String() string { return proto.CompactTextString(m) } +func (*AddPortRequest) ProtoMessage() {} +func (*AddPortRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{7} +} +func (m *AddPortRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddPortRequest.Unmarshal(m, b) +} +func (m *AddPortRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddPortRequest.Marshal(b, m, deterministic) +} +func (dst *AddPortRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddPortRequest.Merge(dst, src) +} +func (m *AddPortRequest) XXX_Size() int { + return xxx_messageInfo_AddPortRequest.Size(m) +} +func (m *AddPortRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AddPortRequest.DiscardUnknown(m) } -func (m *AddPortRequest) Reset() { *m = AddPortRequest{} } -func (m *AddPortRequest) String() string { return proto.CompactTextString(m) } -func (*AddPortRequest) ProtoMessage() {} -func (*AddPortRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } +var xxx_messageInfo_AddPortRequest proto.InternalMessageInfo func (m *AddPortRequest) GetBridgeName() string { if m != nil { @@ -218,15 +361,37 @@ func (m *AddPortRequest) GetDpdkDevargs() string { } type PortOptions struct { - Tag int32 `protobuf:"varint,1,opt,name=tag" json:"tag,omitempty"` - VLANMode string `protobuf:"bytes,2,opt,name=VLANMode" json:"VLANMode,omitempty"` - Trunk []int32 `protobuf:"varint,3,rep,packed,name=trunk" json:"trunk,omitempty"` + Tag int32 `protobuf:"varint,1,opt,name=tag,proto3" json:"tag,omitempty"` + VLANMode string `protobuf:"bytes,2,opt,name=VLANMode,proto3" json:"VLANMode,omitempty"` + Trunk []int32 `protobuf:"varint,3,rep,packed,name=trunk,proto3" json:"trunk,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PortOptions) Reset() { *m = PortOptions{} } +func (m *PortOptions) String() string { return proto.CompactTextString(m) } +func (*PortOptions) ProtoMessage() {} +func (*PortOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{8} +} +func (m *PortOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PortOptions.Unmarshal(m, b) +} +func (m *PortOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PortOptions.Marshal(b, m, deterministic) +} +func (dst *PortOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_PortOptions.Merge(dst, src) +} +func (m *PortOptions) XXX_Size() int { + return xxx_messageInfo_PortOptions.Size(m) +} +func (m *PortOptions) XXX_DiscardUnknown() { + xxx_messageInfo_PortOptions.DiscardUnknown(m) } -func (m *PortOptions) Reset() { *m = PortOptions{} } -func (m *PortOptions) String() string { return proto.CompactTextString(m) } -func (*PortOptions) ProtoMessage() {} -func (*PortOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } +var xxx_messageInfo_PortOptions proto.InternalMessageInfo func (m *PortOptions) GetTag() int32 { if m != nil { @@ -250,14 +415,36 @@ func (m *PortOptions) GetTrunk() []int32 { } type SetPortRequest struct { - IfaceName string `protobuf:"bytes,1,opt,name=ifaceName" json:"ifaceName,omitempty"` - Options *PortOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"` + IfaceName string `protobuf:"bytes,1,opt,name=ifaceName,proto3" json:"ifaceName,omitempty"` + Options *PortOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *SetPortRequest) Reset() { *m = SetPortRequest{} } -func (m *SetPortRequest) String() string { return proto.CompactTextString(m) } -func (*SetPortRequest) ProtoMessage() {} -func (*SetPortRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +func (m *SetPortRequest) Reset() { *m = SetPortRequest{} } +func (m *SetPortRequest) String() string { return proto.CompactTextString(m) } +func (*SetPortRequest) ProtoMessage() {} +func (*SetPortRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{9} +} +func (m *SetPortRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetPortRequest.Unmarshal(m, b) +} +func (m *SetPortRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetPortRequest.Marshal(b, m, deterministic) +} +func (dst *SetPortRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetPortRequest.Merge(dst, src) +} +func (m *SetPortRequest) XXX_Size() int { + return xxx_messageInfo_SetPortRequest.Size(m) +} +func (m *SetPortRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SetPortRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SetPortRequest proto.InternalMessageInfo func (m *SetPortRequest) GetIfaceName() string { if m != nil { @@ -274,14 +461,36 @@ func (m *SetPortRequest) GetOptions() *PortOptions { } type GetPortRequest struct { - IfaceName string `protobuf:"bytes,1,opt,name=ifaceName" json:"ifaceName,omitempty"` - PortOptions *PortOptions `protobuf:"bytes,2,opt,name=portOptions" json:"portOptions,omitempty"` + IfaceName string `protobuf:"bytes,1,opt,name=ifaceName,proto3" json:"ifaceName,omitempty"` + PortOptions *PortOptions `protobuf:"bytes,2,opt,name=portOptions,proto3" json:"portOptions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *GetPortRequest) Reset() { *m = GetPortRequest{} } -func (m *GetPortRequest) String() string { return proto.CompactTextString(m) } -func (*GetPortRequest) ProtoMessage() {} -func (*GetPortRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } +func (m *GetPortRequest) Reset() { *m = GetPortRequest{} } +func (m *GetPortRequest) String() string { return proto.CompactTextString(m) } +func (*GetPortRequest) ProtoMessage() {} +func (*GetPortRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{10} +} +func (m *GetPortRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetPortRequest.Unmarshal(m, b) +} +func (m *GetPortRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetPortRequest.Marshal(b, m, deterministic) +} +func (dst *GetPortRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPortRequest.Merge(dst, src) +} +func (m *GetPortRequest) XXX_Size() int { + return xxx_messageInfo_GetPortRequest.Size(m) +} +func (m *GetPortRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetPortRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetPortRequest proto.InternalMessageInfo func (m *GetPortRequest) GetIfaceName() string { if m != nil { @@ -298,14 +507,36 @@ func (m *GetPortRequest) GetPortOptions() *PortOptions { } type GetPortResponse struct { - PortOptions *PortOptions `protobuf:"bytes,1,opt,name=portOptions" json:"portOptions,omitempty"` - ServerResponse *Response `protobuf:"bytes,2,opt,name=serverResponse" json:"serverResponse,omitempty"` + PortOptions *PortOptions `protobuf:"bytes,1,opt,name=portOptions,proto3" json:"portOptions,omitempty"` + ServerResponse *Response `protobuf:"bytes,2,opt,name=serverResponse,proto3" json:"serverResponse,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetPortResponse) Reset() { *m = GetPortResponse{} } +func (m *GetPortResponse) String() string { return proto.CompactTextString(m) } +func (*GetPortResponse) ProtoMessage() {} +func (*GetPortResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{11} +} +func (m *GetPortResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetPortResponse.Unmarshal(m, b) +} +func (m *GetPortResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetPortResponse.Marshal(b, m, deterministic) +} +func (dst *GetPortResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPortResponse.Merge(dst, src) +} +func (m *GetPortResponse) XXX_Size() int { + return xxx_messageInfo_GetPortResponse.Size(m) +} +func (m *GetPortResponse) XXX_DiscardUnknown() { + xxx_messageInfo_GetPortResponse.DiscardUnknown(m) } -func (m *GetPortResponse) Reset() { *m = GetPortResponse{} } -func (m *GetPortResponse) String() string { return proto.CompactTextString(m) } -func (*GetPortResponse) ProtoMessage() {} -func (*GetPortResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } +var xxx_messageInfo_GetPortResponse proto.InternalMessageInfo func (m *GetPortResponse) GetPortOptions() *PortOptions { if m != nil { @@ -322,14 +553,36 @@ func (m *GetPortResponse) GetServerResponse() *Response { } type DeletePortRequest struct { - BridgeName string `protobuf:"bytes,1,opt,name=bridgeName" json:"bridgeName,omitempty"` - IfaceName string `protobuf:"bytes,2,opt,name=ifaceName" json:"ifaceName,omitempty"` + BridgeName string `protobuf:"bytes,1,opt,name=bridgeName,proto3" json:"bridgeName,omitempty"` + IfaceName string `protobuf:"bytes,2,opt,name=ifaceName,proto3" json:"ifaceName,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *DeletePortRequest) Reset() { *m = DeletePortRequest{} } -func (m *DeletePortRequest) String() string { return proto.CompactTextString(m) } -func (*DeletePortRequest) ProtoMessage() {} -func (*DeletePortRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } +func (m *DeletePortRequest) Reset() { *m = DeletePortRequest{} } +func (m *DeletePortRequest) String() string { return proto.CompactTextString(m) } +func (*DeletePortRequest) ProtoMessage() {} +func (*DeletePortRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{12} +} +func (m *DeletePortRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeletePortRequest.Unmarshal(m, b) +} +func (m *DeletePortRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeletePortRequest.Marshal(b, m, deterministic) +} +func (dst *DeletePortRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeletePortRequest.Merge(dst, src) +} +func (m *DeletePortRequest) XXX_Size() int { + return xxx_messageInfo_DeletePortRequest.Size(m) +} +func (m *DeletePortRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DeletePortRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DeletePortRequest proto.InternalMessageInfo func (m *DeletePortRequest) GetBridgeName() string { if m != nil { @@ -346,14 +599,36 @@ func (m *DeletePortRequest) GetIfaceName() string { } type AddFlowRequest struct { - BridgeName string `protobuf:"bytes,1,opt,name=bridgeName" json:"bridgeName,omitempty"` - FlowString string `protobuf:"bytes,2,opt,name=flowString" json:"flowString,omitempty"` + BridgeName string `protobuf:"bytes,1,opt,name=bridgeName,proto3" json:"bridgeName,omitempty"` + FlowString string `protobuf:"bytes,2,opt,name=flowString,proto3" json:"flowString,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddFlowRequest) Reset() { *m = AddFlowRequest{} } +func (m *AddFlowRequest) String() string { return proto.CompactTextString(m) } +func (*AddFlowRequest) ProtoMessage() {} +func (*AddFlowRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{13} +} +func (m *AddFlowRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddFlowRequest.Unmarshal(m, b) +} +func (m *AddFlowRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddFlowRequest.Marshal(b, m, deterministic) +} +func (dst *AddFlowRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddFlowRequest.Merge(dst, src) +} +func (m *AddFlowRequest) XXX_Size() int { + return xxx_messageInfo_AddFlowRequest.Size(m) +} +func (m *AddFlowRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AddFlowRequest.DiscardUnknown(m) } -func (m *AddFlowRequest) Reset() { *m = AddFlowRequest{} } -func (m *AddFlowRequest) String() string { return proto.CompactTextString(m) } -func (*AddFlowRequest) ProtoMessage() {} -func (*AddFlowRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } +var xxx_messageInfo_AddFlowRequest proto.InternalMessageInfo func (m *AddFlowRequest) GetBridgeName() string { if m != nil { @@ -370,14 +645,36 @@ func (m *AddFlowRequest) GetFlowString() string { } type DeleteFlowRequest struct { - BridgeName string `protobuf:"bytes,1,opt,name=bridgeName" json:"bridgeName,omitempty"` - FlowString string `protobuf:"bytes,2,opt,name=flowString" json:"flowString,omitempty"` + BridgeName string `protobuf:"bytes,1,opt,name=bridgeName,proto3" json:"bridgeName,omitempty"` + FlowString string `protobuf:"bytes,2,opt,name=flowString,proto3" json:"flowString,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteFlowRequest) Reset() { *m = DeleteFlowRequest{} } +func (m *DeleteFlowRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteFlowRequest) ProtoMessage() {} +func (*DeleteFlowRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{14} +} +func (m *DeleteFlowRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteFlowRequest.Unmarshal(m, b) +} +func (m *DeleteFlowRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteFlowRequest.Marshal(b, m, deterministic) +} +func (dst *DeleteFlowRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteFlowRequest.Merge(dst, src) +} +func (m *DeleteFlowRequest) XXX_Size() int { + return xxx_messageInfo_DeleteFlowRequest.Size(m) +} +func (m *DeleteFlowRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteFlowRequest.DiscardUnknown(m) } -func (m *DeleteFlowRequest) Reset() { *m = DeleteFlowRequest{} } -func (m *DeleteFlowRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteFlowRequest) ProtoMessage() {} -func (*DeleteFlowRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } +var xxx_messageInfo_DeleteFlowRequest proto.InternalMessageInfo func (m *DeleteFlowRequest) GetBridgeName() string { if m != nil { @@ -394,13 +691,35 @@ func (m *DeleteFlowRequest) GetFlowString() string { } type DumpFlowsRequest struct { - BridgeName string `protobuf:"bytes,1,opt,name=bridgeName" json:"bridgeName,omitempty"` + BridgeName string `protobuf:"bytes,1,opt,name=bridgeName,proto3" json:"bridgeName,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DumpFlowsRequest) Reset() { *m = DumpFlowsRequest{} } +func (m *DumpFlowsRequest) String() string { return proto.CompactTextString(m) } +func (*DumpFlowsRequest) ProtoMessage() {} +func (*DumpFlowsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{15} +} +func (m *DumpFlowsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DumpFlowsRequest.Unmarshal(m, b) +} +func (m *DumpFlowsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DumpFlowsRequest.Marshal(b, m, deterministic) +} +func (dst *DumpFlowsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DumpFlowsRequest.Merge(dst, src) +} +func (m *DumpFlowsRequest) XXX_Size() int { + return xxx_messageInfo_DumpFlowsRequest.Size(m) +} +func (m *DumpFlowsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DumpFlowsRequest.DiscardUnknown(m) } -func (m *DumpFlowsRequest) Reset() { *m = DumpFlowsRequest{} } -func (m *DumpFlowsRequest) String() string { return proto.CompactTextString(m) } -func (*DumpFlowsRequest) ProtoMessage() {} -func (*DumpFlowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } +var xxx_messageInfo_DumpFlowsRequest proto.InternalMessageInfo func (m *DumpFlowsRequest) GetBridgeName() string { if m != nil { @@ -410,14 +729,36 @@ func (m *DumpFlowsRequest) GetBridgeName() string { } type DumpFlowsResponse struct { - Flows [][]byte `protobuf:"bytes,1,rep,name=flows,proto3" json:"flows,omitempty"` - ServerResponse *Response `protobuf:"bytes,2,opt,name=serverResponse" json:"serverResponse,omitempty"` + Flows [][]byte `protobuf:"bytes,1,rep,name=flows,proto3" json:"flows,omitempty"` + ServerResponse *Response `protobuf:"bytes,2,opt,name=serverResponse,proto3" json:"serverResponse,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *DumpFlowsResponse) Reset() { *m = DumpFlowsResponse{} } -func (m *DumpFlowsResponse) String() string { return proto.CompactTextString(m) } -func (*DumpFlowsResponse) ProtoMessage() {} -func (*DumpFlowsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } +func (m *DumpFlowsResponse) Reset() { *m = DumpFlowsResponse{} } +func (m *DumpFlowsResponse) String() string { return proto.CompactTextString(m) } +func (*DumpFlowsResponse) ProtoMessage() {} +func (*DumpFlowsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{16} +} +func (m *DumpFlowsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DumpFlowsResponse.Unmarshal(m, b) +} +func (m *DumpFlowsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DumpFlowsResponse.Marshal(b, m, deterministic) +} +func (dst *DumpFlowsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DumpFlowsResponse.Merge(dst, src) +} +func (m *DumpFlowsResponse) XXX_Size() int { + return xxx_messageInfo_DumpFlowsResponse.Size(m) +} +func (m *DumpFlowsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DumpFlowsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DumpFlowsResponse proto.InternalMessageInfo func (m *DumpFlowsResponse) GetFlows() [][]byte { if m != nil { @@ -434,13 +775,35 @@ func (m *DumpFlowsResponse) GetServerResponse() *Response { } type DumpPortsRequest struct { - BridgeName string `protobuf:"bytes,1,opt,name=bridgeName" json:"bridgeName,omitempty"` + BridgeName string `protobuf:"bytes,1,opt,name=bridgeName,proto3" json:"bridgeName,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *DumpPortsRequest) Reset() { *m = DumpPortsRequest{} } -func (m *DumpPortsRequest) String() string { return proto.CompactTextString(m) } -func (*DumpPortsRequest) ProtoMessage() {} -func (*DumpPortsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } +func (m *DumpPortsRequest) Reset() { *m = DumpPortsRequest{} } +func (m *DumpPortsRequest) String() string { return proto.CompactTextString(m) } +func (*DumpPortsRequest) ProtoMessage() {} +func (*DumpPortsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{17} +} +func (m *DumpPortsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DumpPortsRequest.Unmarshal(m, b) +} +func (m *DumpPortsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DumpPortsRequest.Marshal(b, m, deterministic) +} +func (dst *DumpPortsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DumpPortsRequest.Merge(dst, src) +} +func (m *DumpPortsRequest) XXX_Size() int { + return xxx_messageInfo_DumpPortsRequest.Size(m) +} +func (m *DumpPortsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DumpPortsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DumpPortsRequest proto.InternalMessageInfo func (m *DumpPortsRequest) GetBridgeName() string { if m != nil { @@ -450,14 +813,36 @@ func (m *DumpPortsRequest) GetBridgeName() string { } type DumpPortsResponse struct { - Ports [][]byte `protobuf:"bytes,1,rep,name=ports,proto3" json:"ports,omitempty"` - ServerResponse *Response `protobuf:"bytes,2,opt,name=serverResponse" json:"serverResponse,omitempty"` + Ports [][]byte `protobuf:"bytes,1,rep,name=ports,proto3" json:"ports,omitempty"` + ServerResponse *Response `protobuf:"bytes,2,opt,name=serverResponse,proto3" json:"serverResponse,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *DumpPortsResponse) Reset() { *m = DumpPortsResponse{} } -func (m *DumpPortsResponse) String() string { return proto.CompactTextString(m) } -func (*DumpPortsResponse) ProtoMessage() {} -func (*DumpPortsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } +func (m *DumpPortsResponse) Reset() { *m = DumpPortsResponse{} } +func (m *DumpPortsResponse) String() string { return proto.CompactTextString(m) } +func (*DumpPortsResponse) ProtoMessage() {} +func (*DumpPortsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{18} +} +func (m *DumpPortsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DumpPortsResponse.Unmarshal(m, b) +} +func (m *DumpPortsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DumpPortsResponse.Marshal(b, m, deterministic) +} +func (dst *DumpPortsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DumpPortsResponse.Merge(dst, src) +} +func (m *DumpPortsResponse) XXX_Size() int { + return xxx_messageInfo_DumpPortsResponse.Size(m) +} +func (m *DumpPortsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DumpPortsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DumpPortsResponse proto.InternalMessageInfo func (m *DumpPortsResponse) GetPorts() [][]byte { if m != nil { @@ -474,14 +859,36 @@ func (m *DumpPortsResponse) GetServerResponse() *Response { } type DumpPortRequest struct { - BridgeName string `protobuf:"bytes,1,opt,name=bridgeName" json:"bridgeName,omitempty"` - PortName string `protobuf:"bytes,2,opt,name=portName" json:"portName,omitempty"` + BridgeName string `protobuf:"bytes,1,opt,name=bridgeName,proto3" json:"bridgeName,omitempty"` + PortName string `protobuf:"bytes,2,opt,name=portName,proto3" json:"portName,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DumpPortRequest) Reset() { *m = DumpPortRequest{} } +func (m *DumpPortRequest) String() string { return proto.CompactTextString(m) } +func (*DumpPortRequest) ProtoMessage() {} +func (*DumpPortRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{19} +} +func (m *DumpPortRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DumpPortRequest.Unmarshal(m, b) +} +func (m *DumpPortRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DumpPortRequest.Marshal(b, m, deterministic) +} +func (dst *DumpPortRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DumpPortRequest.Merge(dst, src) +} +func (m *DumpPortRequest) XXX_Size() int { + return xxx_messageInfo_DumpPortRequest.Size(m) +} +func (m *DumpPortRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DumpPortRequest.DiscardUnknown(m) } -func (m *DumpPortRequest) Reset() { *m = DumpPortRequest{} } -func (m *DumpPortRequest) String() string { return proto.CompactTextString(m) } -func (*DumpPortRequest) ProtoMessage() {} -func (*DumpPortRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } +var xxx_messageInfo_DumpPortRequest proto.InternalMessageInfo func (m *DumpPortRequest) GetBridgeName() string { if m != nil { @@ -498,14 +905,36 @@ func (m *DumpPortRequest) GetPortName() string { } type DumpPortResponse struct { - Port []byte `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` - ServerResponse *Response `protobuf:"bytes,2,opt,name=serverResponse" json:"serverResponse,omitempty"` + Port []byte `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` + ServerResponse *Response `protobuf:"bytes,2,opt,name=serverResponse,proto3" json:"serverResponse,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *DumpPortResponse) Reset() { *m = DumpPortResponse{} } -func (m *DumpPortResponse) String() string { return proto.CompactTextString(m) } -func (*DumpPortResponse) ProtoMessage() {} -func (*DumpPortResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } +func (m *DumpPortResponse) Reset() { *m = DumpPortResponse{} } +func (m *DumpPortResponse) String() string { return proto.CompactTextString(m) } +func (*DumpPortResponse) ProtoMessage() {} +func (*DumpPortResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{20} +} +func (m *DumpPortResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DumpPortResponse.Unmarshal(m, b) +} +func (m *DumpPortResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DumpPortResponse.Marshal(b, m, deterministic) +} +func (dst *DumpPortResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DumpPortResponse.Merge(dst, src) +} +func (m *DumpPortResponse) XXX_Size() int { + return xxx_messageInfo_DumpPortResponse.Size(m) +} +func (m *DumpPortResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DumpPortResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DumpPortResponse proto.InternalMessageInfo func (m *DumpPortResponse) GetPort() []byte { if m != nil { @@ -522,18 +951,38 @@ func (m *DumpPortResponse) GetServerResponse() *Response { } type FindNetworkNamespacePathRequest struct { - PodName string `protobuf:"bytes,1,opt,name=podName" json:"podName,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace" json:"namespace,omitempty"` - PodUUID string `protobuf:"bytes,3,opt,name=podUUID" json:"podUUID,omitempty"` + PodName string `protobuf:"bytes,1,opt,name=podName,proto3" json:"podName,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + PodUUID string `protobuf:"bytes,3,opt,name=podUUID,proto3" json:"podUUID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *FindNetworkNamespacePathRequest) Reset() { *m = FindNetworkNamespacePathRequest{} } func (m *FindNetworkNamespacePathRequest) String() string { return proto.CompactTextString(m) } func (*FindNetworkNamespacePathRequest) ProtoMessage() {} func (*FindNetworkNamespacePathRequest) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{21} + return fileDescriptor_messages_3fde9b7a892e798a, []int{21} +} +func (m *FindNetworkNamespacePathRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FindNetworkNamespacePathRequest.Unmarshal(m, b) +} +func (m *FindNetworkNamespacePathRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FindNetworkNamespacePathRequest.Marshal(b, m, deterministic) +} +func (dst *FindNetworkNamespacePathRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_FindNetworkNamespacePathRequest.Merge(dst, src) +} +func (m *FindNetworkNamespacePathRequest) XXX_Size() int { + return xxx_messageInfo_FindNetworkNamespacePathRequest.Size(m) +} +func (m *FindNetworkNamespacePathRequest) XXX_DiscardUnknown() { + xxx_messageInfo_FindNetworkNamespacePathRequest.DiscardUnknown(m) } +var xxx_messageInfo_FindNetworkNamespacePathRequest proto.InternalMessageInfo + func (m *FindNetworkNamespacePathRequest) GetPodName() string { if m != nil { return m.PodName @@ -556,16 +1005,36 @@ func (m *FindNetworkNamespacePathRequest) GetPodUUID() string { } type FindNetworkNamespacePathResponse struct { - Path string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"` - ServerResponse *Response `protobuf:"bytes,2,opt,name=serverResponse" json:"serverResponse,omitempty"` + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + ServerResponse *Response `protobuf:"bytes,2,opt,name=serverResponse,proto3" json:"serverResponse,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *FindNetworkNamespacePathResponse) Reset() { *m = FindNetworkNamespacePathResponse{} } func (m *FindNetworkNamespacePathResponse) String() string { return proto.CompactTextString(m) } func (*FindNetworkNamespacePathResponse) ProtoMessage() {} func (*FindNetworkNamespacePathResponse) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{22} + return fileDescriptor_messages_3fde9b7a892e798a, []int{22} +} +func (m *FindNetworkNamespacePathResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FindNetworkNamespacePathResponse.Unmarshal(m, b) +} +func (m *FindNetworkNamespacePathResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FindNetworkNamespacePathResponse.Marshal(b, m, deterministic) +} +func (dst *FindNetworkNamespacePathResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_FindNetworkNamespacePathResponse.Merge(dst, src) +} +func (m *FindNetworkNamespacePathResponse) XXX_Size() int { + return xxx_messageInfo_FindNetworkNamespacePathResponse.Size(m) } +func (m *FindNetworkNamespacePathResponse) XXX_DiscardUnknown() { + xxx_messageInfo_FindNetworkNamespacePathResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_FindNetworkNamespacePathResponse proto.InternalMessageInfo func (m *FindNetworkNamespacePathResponse) GetPath() string { if m != nil { @@ -582,16 +1051,38 @@ func (m *FindNetworkNamespacePathResponse) GetServerResponse() *Response { } type ConnectBridgeRequest struct { - Path string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"` - PodUUID string `protobuf:"bytes,2,opt,name=podUUID" json:"podUUID,omitempty"` - ContainerVethName string `protobuf:"bytes,3,opt,name=containerVethName" json:"containerVethName,omitempty"` - BridgeName string `protobuf:"bytes,4,opt,name=bridgeName" json:"bridgeName,omitempty"` + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + PodUUID string `protobuf:"bytes,2,opt,name=podUUID,proto3" json:"podUUID,omitempty"` + ContainerVethName string `protobuf:"bytes,3,opt,name=containerVethName,proto3" json:"containerVethName,omitempty"` + BridgeName string `protobuf:"bytes,4,opt,name=bridgeName,proto3" json:"bridgeName,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConnectBridgeRequest) Reset() { *m = ConnectBridgeRequest{} } +func (m *ConnectBridgeRequest) String() string { return proto.CompactTextString(m) } +func (*ConnectBridgeRequest) ProtoMessage() {} +func (*ConnectBridgeRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{23} +} +func (m *ConnectBridgeRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConnectBridgeRequest.Unmarshal(m, b) +} +func (m *ConnectBridgeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConnectBridgeRequest.Marshal(b, m, deterministic) +} +func (dst *ConnectBridgeRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConnectBridgeRequest.Merge(dst, src) +} +func (m *ConnectBridgeRequest) XXX_Size() int { + return xxx_messageInfo_ConnectBridgeRequest.Size(m) +} +func (m *ConnectBridgeRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ConnectBridgeRequest.DiscardUnknown(m) } -func (m *ConnectBridgeRequest) Reset() { *m = ConnectBridgeRequest{} } -func (m *ConnectBridgeRequest) String() string { return proto.CompactTextString(m) } -func (*ConnectBridgeRequest) ProtoMessage() {} -func (*ConnectBridgeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } +var xxx_messageInfo_ConnectBridgeRequest proto.InternalMessageInfo func (m *ConnectBridgeRequest) GetPath() string { if m != nil { @@ -622,15 +1113,37 @@ func (m *ConnectBridgeRequest) GetBridgeName() string { } type ConfigureIfaceRequest struct { - Path string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"` - CIDR string `protobuf:"bytes,2,opt,name=CIDR" json:"CIDR,omitempty"` - ContainerVethName string `protobuf:"bytes,3,opt,name=containerVethName" json:"containerVethName,omitempty"` + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + CIDR string `protobuf:"bytes,2,opt,name=CIDR,proto3" json:"CIDR,omitempty"` + ContainerVethName string `protobuf:"bytes,3,opt,name=containerVethName,proto3" json:"containerVethName,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ConfigureIfaceRequest) Reset() { *m = ConfigureIfaceRequest{} } -func (m *ConfigureIfaceRequest) String() string { return proto.CompactTextString(m) } -func (*ConfigureIfaceRequest) ProtoMessage() {} -func (*ConfigureIfaceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } +func (m *ConfigureIfaceRequest) Reset() { *m = ConfigureIfaceRequest{} } +func (m *ConfigureIfaceRequest) String() string { return proto.CompactTextString(m) } +func (*ConfigureIfaceRequest) ProtoMessage() {} +func (*ConfigureIfaceRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{24} +} +func (m *ConfigureIfaceRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigureIfaceRequest.Unmarshal(m, b) +} +func (m *ConfigureIfaceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigureIfaceRequest.Marshal(b, m, deterministic) +} +func (dst *ConfigureIfaceRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigureIfaceRequest.Merge(dst, src) +} +func (m *ConfigureIfaceRequest) XXX_Size() int { + return xxx_messageInfo_ConfigureIfaceRequest.Size(m) +} +func (m *ConfigureIfaceRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigureIfaceRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigureIfaceRequest proto.InternalMessageInfo func (m *ConfigureIfaceRequest) GetPath() string { if m != nil { @@ -653,6 +1166,68 @@ func (m *ConfigureIfaceRequest) GetContainerVethName() string { return "" } +type AddRouteRequest struct { + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + DstCIDR string `protobuf:"bytes,2,opt,name=dstCIDR,proto3" json:"dstCIDR,omitempty"` + GwIP string `protobuf:"bytes,3,opt,name=gwIP,proto3" json:"gwIP,omitempty"` + ContainerVethName string `protobuf:"bytes,4,opt,name=containerVethName,proto3" json:"containerVethName,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddRouteRequest) Reset() { *m = AddRouteRequest{} } +func (m *AddRouteRequest) String() string { return proto.CompactTextString(m) } +func (*AddRouteRequest) ProtoMessage() {} +func (*AddRouteRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_messages_3fde9b7a892e798a, []int{25} +} +func (m *AddRouteRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddRouteRequest.Unmarshal(m, b) +} +func (m *AddRouteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddRouteRequest.Marshal(b, m, deterministic) +} +func (dst *AddRouteRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddRouteRequest.Merge(dst, src) +} +func (m *AddRouteRequest) XXX_Size() int { + return xxx_messageInfo_AddRouteRequest.Size(m) +} +func (m *AddRouteRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AddRouteRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AddRouteRequest proto.InternalMessageInfo + +func (m *AddRouteRequest) GetPath() string { + if m != nil { + return m.Path + } + return "" +} + +func (m *AddRouteRequest) GetDstCIDR() string { + if m != nil { + return m.DstCIDR + } + return "" +} + +func (m *AddRouteRequest) GetGwIP() string { + if m != nil { + return m.GwIP + } + return "" +} + +func (m *AddRouteRequest) GetContainerVethName() string { + if m != nil { + return m.ContainerVethName + } + return "" +} + func init() { proto.RegisterType((*EchoRequest)(nil), "messages.EchoRequest") proto.RegisterType((*EchoResponse)(nil), "messages.EchoResponse") @@ -679,6 +1254,7 @@ func init() { proto.RegisterType((*FindNetworkNamespacePathResponse)(nil), "messages.FindNetworkNamespacePathResponse") proto.RegisterType((*ConnectBridgeRequest)(nil), "messages.ConnectBridgeRequest") proto.RegisterType((*ConfigureIfaceRequest)(nil), "messages.ConfigureIfaceRequest") + proto.RegisterType((*AddRouteRequest)(nil), "messages.AddRouteRequest") } // Reference imports to suppress errors if they are not otherwise used. @@ -689,8 +1265,9 @@ var _ grpc.ClientConn // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion4 -// Client API for NetworkControl service - +// NetworkControlClient is the client API for NetworkControl service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type NetworkControlClient interface { Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) @@ -712,6 +1289,7 @@ type NetworkControlClient interface { // Netlink RPC series ConnectBridge(ctx context.Context, in *ConnectBridgeRequest, opts ...grpc.CallOption) (*Response, error) ConfigureIface(ctx context.Context, in *ConfigureIfaceRequest, opts ...grpc.CallOption) (*Response, error) + AddRoute(ctx context.Context, in *AddRouteRequest, opts ...grpc.CallOption) (*Response, error) } type networkControlClient struct { @@ -724,7 +1302,7 @@ func NewNetworkControlClient(cc *grpc.ClientConn) NetworkControlClient { func (c *networkControlClient) Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) { out := new(EchoResponse) - err := grpc.Invoke(ctx, "/messages.NetworkControl/Echo", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/Echo", in, out, opts...) if err != nil { return nil, err } @@ -733,7 +1311,7 @@ func (c *networkControlClient) Echo(ctx context.Context, in *EchoRequest, opts . func (c *networkControlClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := grpc.Invoke(ctx, "/messages.NetworkControl/Ping", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/Ping", in, out, opts...) if err != nil { return nil, err } @@ -742,7 +1320,7 @@ func (c *networkControlClient) Ping(ctx context.Context, in *PingRequest, opts . func (c *networkControlClient) CreateBridge(ctx context.Context, in *CreateBridgeRequest, opts ...grpc.CallOption) (*Response, error) { out := new(Response) - err := grpc.Invoke(ctx, "/messages.NetworkControl/CreateBridge", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/CreateBridge", in, out, opts...) if err != nil { return nil, err } @@ -751,7 +1329,7 @@ func (c *networkControlClient) CreateBridge(ctx context.Context, in *CreateBridg func (c *networkControlClient) DeleteBridge(ctx context.Context, in *DeleteBridgeRequest, opts ...grpc.CallOption) (*Response, error) { out := new(Response) - err := grpc.Invoke(ctx, "/messages.NetworkControl/DeleteBridge", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/DeleteBridge", in, out, opts...) if err != nil { return nil, err } @@ -760,7 +1338,7 @@ func (c *networkControlClient) DeleteBridge(ctx context.Context, in *DeleteBridg func (c *networkControlClient) AddPort(ctx context.Context, in *AddPortRequest, opts ...grpc.CallOption) (*Response, error) { out := new(Response) - err := grpc.Invoke(ctx, "/messages.NetworkControl/AddPort", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/AddPort", in, out, opts...) if err != nil { return nil, err } @@ -769,7 +1347,7 @@ func (c *networkControlClient) AddPort(ctx context.Context, in *AddPortRequest, func (c *networkControlClient) AddDPDKPort(ctx context.Context, in *AddPortRequest, opts ...grpc.CallOption) (*Response, error) { out := new(Response) - err := grpc.Invoke(ctx, "/messages.NetworkControl/AddDPDKPort", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/AddDPDKPort", in, out, opts...) if err != nil { return nil, err } @@ -778,7 +1356,7 @@ func (c *networkControlClient) AddDPDKPort(ctx context.Context, in *AddPortReque func (c *networkControlClient) GetPort(ctx context.Context, in *GetPortRequest, opts ...grpc.CallOption) (*GetPortResponse, error) { out := new(GetPortResponse) - err := grpc.Invoke(ctx, "/messages.NetworkControl/GetPort", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/GetPort", in, out, opts...) if err != nil { return nil, err } @@ -787,7 +1365,7 @@ func (c *networkControlClient) GetPort(ctx context.Context, in *GetPortRequest, func (c *networkControlClient) SetPort(ctx context.Context, in *SetPortRequest, opts ...grpc.CallOption) (*Response, error) { out := new(Response) - err := grpc.Invoke(ctx, "/messages.NetworkControl/SetPort", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/SetPort", in, out, opts...) if err != nil { return nil, err } @@ -796,7 +1374,7 @@ func (c *networkControlClient) SetPort(ctx context.Context, in *SetPortRequest, func (c *networkControlClient) DeletePort(ctx context.Context, in *DeletePortRequest, opts ...grpc.CallOption) (*Response, error) { out := new(Response) - err := grpc.Invoke(ctx, "/messages.NetworkControl/DeletePort", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/DeletePort", in, out, opts...) if err != nil { return nil, err } @@ -805,7 +1383,7 @@ func (c *networkControlClient) DeletePort(ctx context.Context, in *DeletePortReq func (c *networkControlClient) AddFlow(ctx context.Context, in *AddFlowRequest, opts ...grpc.CallOption) (*Response, error) { out := new(Response) - err := grpc.Invoke(ctx, "/messages.NetworkControl/AddFlow", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/AddFlow", in, out, opts...) if err != nil { return nil, err } @@ -814,7 +1392,7 @@ func (c *networkControlClient) AddFlow(ctx context.Context, in *AddFlowRequest, func (c *networkControlClient) DeleteFlow(ctx context.Context, in *DeleteFlowRequest, opts ...grpc.CallOption) (*Response, error) { out := new(Response) - err := grpc.Invoke(ctx, "/messages.NetworkControl/DeleteFlow", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/DeleteFlow", in, out, opts...) if err != nil { return nil, err } @@ -823,7 +1401,7 @@ func (c *networkControlClient) DeleteFlow(ctx context.Context, in *DeleteFlowReq func (c *networkControlClient) DumpFlows(ctx context.Context, in *DumpFlowsRequest, opts ...grpc.CallOption) (*DumpFlowsResponse, error) { out := new(DumpFlowsResponse) - err := grpc.Invoke(ctx, "/messages.NetworkControl/DumpFlows", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/DumpFlows", in, out, opts...) if err != nil { return nil, err } @@ -832,7 +1410,7 @@ func (c *networkControlClient) DumpFlows(ctx context.Context, in *DumpFlowsReque func (c *networkControlClient) DumpPorts(ctx context.Context, in *DumpPortsRequest, opts ...grpc.CallOption) (*DumpPortsResponse, error) { out := new(DumpPortsResponse) - err := grpc.Invoke(ctx, "/messages.NetworkControl/DumpPorts", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/DumpPorts", in, out, opts...) if err != nil { return nil, err } @@ -841,7 +1419,7 @@ func (c *networkControlClient) DumpPorts(ctx context.Context, in *DumpPortsReque func (c *networkControlClient) DumpPort(ctx context.Context, in *DumpPortRequest, opts ...grpc.CallOption) (*DumpPortResponse, error) { out := new(DumpPortResponse) - err := grpc.Invoke(ctx, "/messages.NetworkControl/DumpPort", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/DumpPort", in, out, opts...) if err != nil { return nil, err } @@ -850,7 +1428,7 @@ func (c *networkControlClient) DumpPort(ctx context.Context, in *DumpPortRequest func (c *networkControlClient) FindNetworkNamespacePath(ctx context.Context, in *FindNetworkNamespacePathRequest, opts ...grpc.CallOption) (*FindNetworkNamespacePathResponse, error) { out := new(FindNetworkNamespacePathResponse) - err := grpc.Invoke(ctx, "/messages.NetworkControl/FindNetworkNamespacePath", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/FindNetworkNamespacePath", in, out, opts...) if err != nil { return nil, err } @@ -859,7 +1437,7 @@ func (c *networkControlClient) FindNetworkNamespacePath(ctx context.Context, in func (c *networkControlClient) ConnectBridge(ctx context.Context, in *ConnectBridgeRequest, opts ...grpc.CallOption) (*Response, error) { out := new(Response) - err := grpc.Invoke(ctx, "/messages.NetworkControl/ConnectBridge", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/ConnectBridge", in, out, opts...) if err != nil { return nil, err } @@ -868,15 +1446,23 @@ func (c *networkControlClient) ConnectBridge(ctx context.Context, in *ConnectBri func (c *networkControlClient) ConfigureIface(ctx context.Context, in *ConfigureIfaceRequest, opts ...grpc.CallOption) (*Response, error) { out := new(Response) - err := grpc.Invoke(ctx, "/messages.NetworkControl/ConfigureIface", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/ConfigureIface", in, out, opts...) if err != nil { return nil, err } return out, nil } -// Server API for NetworkControl service +func (c *networkControlClient) AddRoute(ctx context.Context, in *AddRouteRequest, opts ...grpc.CallOption) (*Response, error) { + out := new(Response) + err := c.cc.Invoke(ctx, "/messages.NetworkControl/AddRoute", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} +// NetworkControlServer is the server API for NetworkControl service. type NetworkControlServer interface { Echo(context.Context, *EchoRequest) (*EchoResponse, error) Ping(context.Context, *PingRequest) (*PingResponse, error) @@ -898,6 +1484,7 @@ type NetworkControlServer interface { // Netlink RPC series ConnectBridge(context.Context, *ConnectBridgeRequest) (*Response, error) ConfigureIface(context.Context, *ConfigureIfaceRequest) (*Response, error) + AddRoute(context.Context, *AddRouteRequest) (*Response, error) } func RegisterNetworkControlServer(s *grpc.Server, srv NetworkControlServer) { @@ -1210,6 +1797,24 @@ func _NetworkControl_ConfigureIface_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _NetworkControl_AddRoute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddRouteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkControlServer).AddRoute(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/messages.NetworkControl/AddRoute", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkControlServer).AddRoute(ctx, req.(*AddRouteRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _NetworkControl_serviceDesc = grpc.ServiceDesc{ ServiceName: "messages.NetworkControl", HandlerType: (*NetworkControlServer)(nil), @@ -1282,70 +1887,77 @@ var _NetworkControl_serviceDesc = grpc.ServiceDesc{ MethodName: "ConfigureIface", Handler: _NetworkControl_ConfigureIface_Handler, }, + { + MethodName: "AddRoute", + Handler: _NetworkControl_AddRoute_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "messages/messages.proto", } -func init() { proto.RegisterFile("messages/messages.proto", fileDescriptor0) } - -var fileDescriptor0 = []byte{ - // 902 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x51, 0x6f, 0xdb, 0x36, - 0x10, 0xae, 0x6b, 0xbb, 0xb6, 0xcf, 0x9e, 0xdb, 0xb0, 0x69, 0xa7, 0xaa, 0x5b, 0xea, 0xf2, 0x29, - 0x1b, 0x86, 0x16, 0xc8, 0x30, 0x14, 0x1b, 0x36, 0x6c, 0x99, 0xdd, 0x14, 0xc1, 0xd6, 0xcc, 0x95, - 0x97, 0x00, 0x7b, 0x1a, 0x14, 0x8b, 0x91, 0x85, 0xd8, 0xa2, 0x46, 0xd2, 0x31, 0xf6, 0x07, 0xf6, - 0x03, 0xf6, 0xb8, 0x5f, 0x3b, 0x90, 0x12, 0x25, 0x4a, 0x96, 0x63, 0xbb, 0xce, 0x1b, 0xef, 0x78, - 0xf7, 0xdd, 0x47, 0xf2, 0x74, 0x77, 0x82, 0x4f, 0x67, 0x84, 0x73, 0xd7, 0x27, 0xfc, 0xb5, 0x5e, - 0xbc, 0x8a, 0x18, 0x15, 0x14, 0x35, 0xb5, 0x8c, 0x5f, 0x42, 0xfb, 0xed, 0x78, 0x42, 0x1d, 0xf2, - 0xd7, 0x9c, 0x70, 0x81, 0x10, 0xd4, 0x16, 0x94, 0x79, 0x56, 0xa5, 0x57, 0x39, 0x6c, 0x39, 0x6a, - 0x8d, 0x31, 0x74, 0x62, 0x13, 0x1e, 0xd1, 0x90, 0x93, 0x52, 0x9b, 0x97, 0xd0, 0x1e, 0x06, 0xa1, - 0x6f, 0xc0, 0x44, 0x41, 0xe8, 0x6b, 0x13, 0xb9, 0x96, 0x30, 0xb1, 0x49, 0x06, 0x13, 0x51, 0xc3, - 0x86, 0x86, 0x3e, 0xfe, 0x1e, 0x9a, 0xe9, 0xbe, 0x05, 0x0d, 0x3e, 0x1f, 0x8f, 0x09, 0xe7, 0xca, - 0xa4, 0xe9, 0x68, 0x11, 0x3d, 0x85, 0x07, 0x8c, 0xb8, 0x9c, 0x86, 0xd6, 0x7d, 0xe5, 0x9b, 0x48, - 0xf8, 0x0f, 0x78, 0xdc, 0x67, 0xc4, 0x15, 0xe4, 0x67, 0x16, 0x78, 0x3e, 0xd1, 0x64, 0x0e, 0x00, - 0x2e, 0x95, 0xe2, 0xcc, 0x9d, 0x91, 0x24, 0x9c, 0xa1, 0x41, 0x18, 0x3a, 0x9e, 0x2b, 0xdc, 0xc8, - 0x15, 0x93, 0xdf, 0xff, 0x8e, 0x48, 0x02, 0x9a, 0xd3, 0xe1, 0x6f, 0xe0, 0xf1, 0x80, 0x4c, 0xc9, - 0x96, 0xd0, 0x38, 0x82, 0xee, 0xb1, 0xe7, 0x0d, 0x29, 0x13, 0x9b, 0x92, 0xf9, 0x0c, 0x5a, 0xc1, - 0x95, 0x3b, 0x8e, 0xb7, 0x63, 0x26, 0x99, 0x02, 0xf5, 0xa0, 0xed, 0x45, 0xde, 0xf5, 0x80, 0xdc, - 0xb8, 0xcc, 0xe7, 0x56, 0x55, 0xed, 0x9b, 0x2a, 0xfc, 0x01, 0xda, 0x32, 0xdc, 0x6f, 0x91, 0x08, - 0x68, 0xc8, 0xd1, 0x23, 0xa8, 0x0a, 0x37, 0xbe, 0xe3, 0xba, 0x23, 0x97, 0xc8, 0x86, 0xe6, 0xc5, - 0xaf, 0xc7, 0x67, 0xef, 0xa9, 0xa7, 0xf1, 0x53, 0x19, 0xed, 0x43, 0x5d, 0xb0, 0x79, 0x78, 0x6d, - 0x55, 0x7b, 0xd5, 0xc3, 0xba, 0x13, 0x0b, 0xf8, 0x4f, 0xe8, 0x8e, 0x88, 0x30, 0x0f, 0x91, 0x23, - 0x59, 0x29, 0x92, 0x7c, 0x0d, 0x0d, 0x1a, 0x87, 0x57, 0x01, 0xda, 0x47, 0x4f, 0x5e, 0xa5, 0xe9, - 0x67, 0x70, 0x73, 0xb4, 0x15, 0xf6, 0xa1, 0xfb, 0x6e, 0x9b, 0x00, 0x6f, 0xa0, 0x1d, 0x65, 0x38, - 0xb7, 0x07, 0x31, 0x2d, 0xf1, 0x3f, 0x15, 0x78, 0x98, 0x46, 0x4a, 0xd2, 0xac, 0x00, 0x56, 0xd9, - 0x14, 0x0c, 0x7d, 0x07, 0x5d, 0x4e, 0xd8, 0x0d, 0x61, 0x1a, 0x2a, 0x21, 0x82, 0x32, 0x5f, 0xbd, - 0xe3, 0x14, 0x2c, 0xf1, 0x07, 0xd8, 0x8b, 0xd3, 0xe9, 0xce, 0x52, 0x03, 0x0f, 0x55, 0xaa, 0x9d, - 0x4c, 0xe9, 0x62, 0x53, 0xbc, 0x03, 0x80, 0xab, 0x29, 0x5d, 0x8c, 0x04, 0x93, 0x9f, 0x6a, 0x0c, - 0x68, 0x68, 0xf0, 0x48, 0x93, 0xbc, 0x4b, 0xd0, 0x23, 0x78, 0x34, 0x98, 0xcf, 0x22, 0x09, 0xc9, - 0x37, 0xfd, 0x8a, 0x08, 0xec, 0x19, 0x3e, 0xc9, 0xbb, 0xed, 0x43, 0x5d, 0xc2, 0xca, 0x17, 0xab, - 0x1e, 0x76, 0x9c, 0x58, 0xd8, 0xe9, 0x51, 0x12, 0x6a, 0xf2, 0x49, 0xb6, 0xa5, 0x96, 0xf8, 0x64, - 0xd4, 0x64, 0xa2, 0xa4, 0xd4, 0x94, 0xb0, 0x13, 0xb5, 0xf7, 0xf0, 0x50, 0x87, 0xd9, 0xf4, 0x21, - 0x6c, 0x68, 0xca, 0xb8, 0x46, 0xb2, 0xa4, 0x32, 0xbe, 0xcc, 0x4e, 0x9a, 0x2f, 0xc7, 0x4c, 0x28, - 0xa4, 0x8e, 0xa3, 0xd6, 0x3b, 0x51, 0xe6, 0xf0, 0xe2, 0x24, 0x08, 0xbd, 0x33, 0x22, 0x16, 0x94, - 0x5d, 0xcb, 0xb0, 0x3c, 0x72, 0xc7, 0x64, 0xe8, 0x8a, 0x89, 0x3e, 0x82, 0x05, 0x8d, 0x88, 0x7a, - 0x06, 0x7f, 0x2d, 0xca, 0x54, 0x0f, 0xb5, 0x87, 0x4e, 0xf5, 0x54, 0x91, 0xf8, 0x9d, 0x9f, 0x9f, - 0x0e, 0x92, 0x0a, 0xa8, 0x45, 0xcc, 0xa0, 0xb7, 0x3a, 0xa8, 0x71, 0x50, 0x57, 0x4c, 0xd2, 0xbe, - 0xe3, 0x8a, 0xc9, 0x4e, 0x07, 0xfd, 0xb7, 0x02, 0xfb, 0x7d, 0x1a, 0x86, 0x64, 0x2c, 0xf2, 0xcd, - 0xa1, 0x2c, 0x90, 0x41, 0xfd, 0x7e, 0x8e, 0x3a, 0xfa, 0x0a, 0xf6, 0xc6, 0x34, 0x14, 0x6e, 0x10, - 0x12, 0x76, 0x41, 0xc4, 0x44, 0x5d, 0x4b, 0x7c, 0xbc, 0xe5, 0x8d, 0xc2, 0xeb, 0xd7, 0x96, 0xf2, - 0x72, 0x06, 0x4f, 0xfa, 0x34, 0xbc, 0x0a, 0xfc, 0x39, 0x23, 0xa7, 0xb2, 0x46, 0xdc, 0x46, 0x0a, - 0x41, 0xad, 0x7f, 0x3a, 0x70, 0x12, 0x46, 0x6a, 0xbd, 0x1d, 0x9d, 0xa3, 0xff, 0x5a, 0xd0, 0x4d, - 0x2e, 0xbd, 0x4f, 0x43, 0xc1, 0xe8, 0x14, 0xbd, 0x81, 0x9a, 0x9c, 0x1a, 0x90, 0x51, 0x4a, 0x8d, - 0x41, 0xc3, 0x7e, 0x5a, 0x54, 0x27, 0xb7, 0x79, 0x4f, 0x3a, 0xca, 0x39, 0xc1, 0x74, 0x34, 0x46, - 0x0b, 0xd3, 0xd1, 0x1c, 0x27, 0xf0, 0x3d, 0xd4, 0x87, 0x8e, 0xd9, 0xfe, 0xd1, 0xe7, 0x99, 0x65, - 0xc9, 0x58, 0x60, 0x97, 0xbc, 0x6d, 0x0c, 0x62, 0x36, 0x7a, 0x13, 0xa4, 0x64, 0x00, 0x58, 0x01, - 0xf2, 0x2d, 0x34, 0x92, 0xb6, 0x8f, 0xac, 0xcc, 0x20, 0x3f, 0x09, 0xac, 0x70, 0xfd, 0x01, 0xda, - 0xc7, 0x9e, 0x37, 0x18, 0x0e, 0x7e, 0xf9, 0x28, 0xf7, 0x9f, 0xa0, 0x91, 0x34, 0x38, 0xd3, 0x35, - 0xdf, 0x5d, 0xed, 0x67, 0x25, 0x3b, 0x26, 0xf7, 0xd1, 0x32, 0x42, 0x7e, 0x00, 0x58, 0x11, 0xfc, - 0x47, 0x80, 0xac, 0xab, 0xa1, 0xe7, 0xc5, 0x9b, 0x5b, 0x0f, 0x10, 0xdf, 0x9b, 0xac, 0xf3, 0x85, - 0x83, 0x1b, 0x1d, 0x68, 0x5d, 0x6c, 0xe5, 0xbd, 0x14, 0x7b, 0x3d, 0xc0, 0x09, 0xb4, 0xd2, 0x26, - 0x83, 0x6c, 0xc3, 0xbf, 0xd0, 0xad, 0xec, 0xe7, 0xa5, 0x7b, 0x45, 0x1c, 0xd5, 0x11, 0x8a, 0x38, - 0x66, 0x6b, 0x29, 0xe2, 0xe4, 0x5a, 0x88, 0x4a, 0xc4, 0xa6, 0x56, 0xa3, 0x67, 0xcb, 0xa6, 0x1a, - 0xc5, 0x2e, 0xdb, 0x4a, 0x41, 0x38, 0x58, 0xab, 0xea, 0x21, 0xfa, 0x22, 0xf3, 0x5c, 0x53, 0xa8, - 0xed, 0x2f, 0x37, 0x31, 0x4d, 0x83, 0xbe, 0x85, 0x4f, 0x72, 0xf5, 0x10, 0x1d, 0x18, 0x1f, 0x62, - 0x49, 0xa1, 0x5c, 0xf1, 0x20, 0xef, 0xa0, 0x9b, 0x2f, 0x61, 0xe8, 0x45, 0x0e, 0x67, 0xb9, 0xb8, - 0x95, 0x03, 0x5d, 0x3e, 0x50, 0xff, 0x3c, 0x5f, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x85, 0x5d, - 0xd8, 0xba, 0x0e, 0x0d, 0x00, 0x00, +func init() { proto.RegisterFile("messages/messages.proto", fileDescriptor_messages_3fde9b7a892e798a) } + +var fileDescriptor_messages_3fde9b7a892e798a = []byte{ + // 947 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x5f, 0x6f, 0xdb, 0x36, + 0x10, 0xaf, 0x6b, 0xa7, 0x76, 0xce, 0x9e, 0xd3, 0xb0, 0x69, 0xa7, 0xaa, 0x5b, 0x9a, 0xf2, 0x29, + 0x1b, 0x86, 0x16, 0xc8, 0x30, 0x14, 0xfb, 0x87, 0x2d, 0xb3, 0x9b, 0x22, 0xd8, 0x9a, 0xb9, 0xca, + 0x5a, 0x60, 0x4f, 0x83, 0x62, 0x31, 0xb2, 0x90, 0x58, 0xd4, 0x48, 0xba, 0xc6, 0x1e, 0xf7, 0xb2, + 0x0f, 0xb0, 0x2f, 0xb7, 0xaf, 0x33, 0x90, 0x22, 0x25, 0x4a, 0x96, 0x6a, 0xbb, 0xce, 0x1b, 0x8f, + 0xbc, 0xfb, 0xfd, 0x7e, 0x14, 0xcf, 0x77, 0x67, 0xf8, 0x78, 0x4a, 0x38, 0xf7, 0x43, 0xc2, 0x9f, + 0x99, 0xc5, 0xd3, 0x84, 0x51, 0x41, 0x51, 0xc7, 0xd8, 0xf8, 0x09, 0x74, 0x5f, 0x8c, 0x27, 0xd4, + 0x23, 0x7f, 0xce, 0x08, 0x17, 0x08, 0x41, 0x6b, 0x4e, 0x59, 0xe0, 0x34, 0x0e, 0x1a, 0x87, 0xdb, + 0x9e, 0x5a, 0x63, 0x0c, 0xbd, 0xd4, 0x85, 0x27, 0x34, 0xe6, 0xa4, 0xd2, 0xe7, 0x09, 0x74, 0x47, + 0x51, 0x1c, 0x5a, 0x30, 0x49, 0x14, 0x87, 0xc6, 0x45, 0xae, 0x25, 0x4c, 0xea, 0x92, 0xc3, 0x24, + 0xd4, 0xf2, 0xa1, 0x71, 0x88, 0xbf, 0x83, 0x4e, 0x76, 0xee, 0x40, 0x9b, 0xcf, 0xc6, 0x63, 0xc2, + 0xb9, 0x72, 0xe9, 0x78, 0xc6, 0x44, 0x0f, 0xe0, 0x0e, 0x23, 0x3e, 0xa7, 0xb1, 0x73, 0x5b, 0xc5, + 0x6a, 0x0b, 0xff, 0x0e, 0xf7, 0x06, 0x8c, 0xf8, 0x82, 0xfc, 0xc4, 0xa2, 0x20, 0x24, 0x46, 0xcc, + 0x3e, 0xc0, 0x85, 0xda, 0x38, 0xf3, 0xa7, 0x44, 0xd3, 0x59, 0x3b, 0x08, 0x43, 0x2f, 0xf0, 0x85, + 0x9f, 0xf8, 0x62, 0xf2, 0xdb, 0x5f, 0x09, 0xd1, 0xa0, 0x85, 0x3d, 0xfc, 0x15, 0xdc, 0x1b, 0x92, + 0x6b, 0xb2, 0x26, 0x34, 0x4e, 0xa0, 0x7f, 0x1c, 0x04, 0x23, 0xca, 0xc4, 0xaa, 0x62, 0x3e, 0x81, + 0xed, 0xe8, 0xd2, 0x1f, 0xa7, 0xc7, 0xa9, 0x92, 0x7c, 0x03, 0x1d, 0x40, 0x37, 0x48, 0x82, 0xab, + 0x21, 0x79, 0xe7, 0xb3, 0x90, 0x3b, 0x4d, 0x75, 0x6e, 0x6f, 0xe1, 0xd7, 0xd0, 0x95, 0x74, 0xbf, + 0x26, 0x22, 0xa2, 0x31, 0x47, 0x77, 0xa1, 0x29, 0xfc, 0xf4, 0x1b, 0x6f, 0x79, 0x72, 0x89, 0x5c, + 0xe8, 0xbc, 0xfd, 0xe5, 0xf8, 0xec, 0x15, 0x0d, 0x0c, 0x7e, 0x66, 0xa3, 0x3d, 0xd8, 0x12, 0x6c, + 0x16, 0x5f, 0x39, 0xcd, 0x83, 0xe6, 0xe1, 0x96, 0x97, 0x1a, 0xf8, 0x0f, 0xe8, 0x9f, 0x13, 0x61, + 0x5f, 0xa2, 0x20, 0xb2, 0x51, 0x16, 0xf9, 0x0c, 0xda, 0x34, 0xa5, 0x57, 0x04, 0xdd, 0xa3, 0xfb, + 0x4f, 0xb3, 0xf4, 0xb3, 0xb4, 0x79, 0xc6, 0x0b, 0x87, 0xd0, 0x7f, 0xb9, 0x0e, 0xc1, 0x73, 0xe8, + 0x26, 0x39, 0xce, 0xfb, 0x49, 0x6c, 0x4f, 0xfc, 0x4f, 0x03, 0x76, 0x32, 0x26, 0x9d, 0x66, 0x25, + 0xb0, 0xc6, 0xaa, 0x60, 0xe8, 0x1b, 0xe8, 0x73, 0xc2, 0xde, 0x11, 0x66, 0xa0, 0xb4, 0x10, 0x94, + 0xc7, 0x9a, 0x13, 0xaf, 0xe4, 0x89, 0x5f, 0xc3, 0x6e, 0x9a, 0x4e, 0x37, 0x96, 0x1a, 0x78, 0xa4, + 0x52, 0xed, 0xe4, 0x9a, 0xce, 0x57, 0xc5, 0xdb, 0x07, 0xb8, 0xbc, 0xa6, 0xf3, 0x73, 0xc1, 0xe4, + 0x4f, 0x35, 0x05, 0xb4, 0x76, 0xf0, 0xb9, 0x11, 0x79, 0x93, 0xa0, 0x47, 0x70, 0x77, 0x38, 0x9b, + 0x26, 0x12, 0x92, 0xaf, 0xfa, 0x2b, 0x22, 0xb0, 0x6b, 0xc5, 0xe8, 0x77, 0xdb, 0x83, 0x2d, 0x09, + 0x2b, 0x5f, 0xac, 0x79, 0xd8, 0xf3, 0x52, 0x63, 0xa3, 0x47, 0xd1, 0xd2, 0xe4, 0x93, 0xac, 0x2b, + 0x4d, 0xc7, 0xe4, 0xd2, 0x64, 0xa2, 0x64, 0xd2, 0x94, 0xb1, 0x91, 0xb4, 0x57, 0xb0, 0x63, 0x68, + 0x56, 0x7d, 0x08, 0x17, 0x3a, 0x92, 0xd7, 0x4a, 0x96, 0xcc, 0xc6, 0x17, 0xf9, 0x4d, 0x8b, 0xe5, + 0x98, 0x09, 0x85, 0xd4, 0xf3, 0xd4, 0x7a, 0x23, 0xc9, 0x1c, 0x1e, 0x9f, 0x44, 0x71, 0x70, 0x46, + 0xc4, 0x9c, 0xb2, 0x2b, 0x49, 0xcb, 0x13, 0x7f, 0x4c, 0x46, 0xbe, 0x98, 0x98, 0x2b, 0x38, 0xd0, + 0x4e, 0x68, 0x60, 0xe9, 0x37, 0xa6, 0x4c, 0xf5, 0xd8, 0x44, 0x98, 0x54, 0xcf, 0x36, 0x74, 0xdc, + 0x9b, 0x37, 0xa7, 0x43, 0x5d, 0x01, 0x8d, 0x89, 0x19, 0x1c, 0xd4, 0x93, 0x5a, 0x17, 0xf5, 0xc5, + 0x24, 0xeb, 0x3b, 0xbe, 0x98, 0x6c, 0x74, 0xd1, 0x7f, 0x1b, 0xb0, 0x37, 0xa0, 0x71, 0x4c, 0xc6, + 0xa2, 0xd8, 0x1c, 0xaa, 0x88, 0x2c, 0xe9, 0xb7, 0x0b, 0xd2, 0xd1, 0x17, 0xb0, 0x3b, 0xa6, 0xb1, + 0xf0, 0xa3, 0x98, 0xb0, 0xb7, 0x44, 0x4c, 0xd4, 0x67, 0x49, 0xaf, 0xb7, 0x78, 0x50, 0x7a, 0xfd, + 0xd6, 0x42, 0x5e, 0x4e, 0xe1, 0xfe, 0x80, 0xc6, 0x97, 0x51, 0x38, 0x63, 0xe4, 0x54, 0xd6, 0x88, + 0xf7, 0x89, 0x42, 0xd0, 0x1a, 0x9c, 0x0e, 0x3d, 0xad, 0x48, 0xad, 0xd7, 0x93, 0x83, 0xff, 0x6e, + 0xc0, 0xce, 0x71, 0x10, 0x78, 0x74, 0x26, 0x96, 0x5d, 0x3f, 0xe0, 0xc2, 0x22, 0x33, 0xa6, 0xf4, + 0x0e, 0xe7, 0xa7, 0x23, 0x4d, 0xa1, 0xd6, 0xd5, 0x1a, 0x5a, 0x35, 0x1a, 0x8e, 0xfe, 0xdb, 0x86, + 0xbe, 0x7e, 0xf8, 0x01, 0x8d, 0x05, 0xa3, 0xd7, 0xe8, 0x39, 0xb4, 0xe4, 0xe4, 0x82, 0xac, 0x72, + 0x6e, 0x0d, 0x3b, 0xee, 0x83, 0xf2, 0xb6, 0x7e, 0xd1, 0x5b, 0x32, 0x50, 0xce, 0x2a, 0x76, 0xa0, + 0x35, 0xde, 0xd8, 0x81, 0xf6, 0x48, 0x83, 0x6f, 0xa1, 0x01, 0xf4, 0xec, 0x11, 0x04, 0x7d, 0x9a, + 0x7b, 0x56, 0x8c, 0x26, 0x6e, 0x45, 0x7e, 0xa5, 0x20, 0xf6, 0xb0, 0x61, 0x83, 0x54, 0x0c, 0x21, + 0x35, 0x20, 0x5f, 0x43, 0x5b, 0x8f, 0x1e, 0xc8, 0xc9, 0x1d, 0x8a, 0xd3, 0x48, 0x4d, 0xe8, 0xf7, + 0xd0, 0x3d, 0x0e, 0x82, 0xe1, 0x68, 0xf8, 0xf3, 0x07, 0x85, 0xff, 0x08, 0x6d, 0xdd, 0x64, 0xed, + 0xd0, 0x62, 0x87, 0x77, 0x1f, 0x56, 0x9c, 0xd8, 0xda, 0xcf, 0x17, 0x11, 0x8a, 0x43, 0x48, 0x0d, + 0xf9, 0x0f, 0x00, 0x79, 0x67, 0x45, 0x8f, 0xca, 0x5f, 0x6e, 0x39, 0x40, 0xfa, 0xdd, 0x64, 0xaf, + 0x29, 0x5d, 0xdc, 0xea, 0x82, 0xcb, 0xb8, 0x55, 0xf4, 0x02, 0xf7, 0x72, 0x80, 0x13, 0xd8, 0xce, + 0x1a, 0x1d, 0x72, 0xad, 0xf8, 0x52, 0xc7, 0x74, 0x1f, 0x55, 0x9e, 0x95, 0x71, 0x54, 0x57, 0x2a, + 0xe3, 0xd8, 0xed, 0xad, 0x8c, 0x53, 0x68, 0x63, 0x2a, 0x11, 0x3b, 0x66, 0x1b, 0x3d, 0x5c, 0x74, + 0x35, 0x28, 0x6e, 0xd5, 0x51, 0x06, 0xc2, 0xc1, 0xa9, 0xab, 0xc9, 0xe8, 0xb3, 0x3c, 0x72, 0x49, + 0xb3, 0x70, 0x3f, 0x5f, 0xc5, 0x35, 0x23, 0x7d, 0x01, 0x1f, 0x15, 0x6a, 0x32, 0xda, 0xb7, 0x7e, + 0x88, 0x15, 0xc5, 0xba, 0xe6, 0x41, 0x5e, 0x42, 0xbf, 0x58, 0x46, 0xd1, 0xe3, 0x02, 0xce, 0x62, + 0x81, 0xad, 0x01, 0xfa, 0x16, 0x3a, 0xa6, 0x3e, 0xda, 0x5f, 0xb2, 0x54, 0x33, 0xab, 0x83, 0x2f, + 0xee, 0xa8, 0x3f, 0x6d, 0x5f, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x05, 0x97, 0x72, 0x9b, 0xcf, + 0x0d, 0x00, 0x00, } diff --git a/messages/messages.proto b/messages/messages.proto index 8ba8f74..16df6ac 100644 --- a/messages/messages.proto +++ b/messages/messages.proto @@ -31,6 +31,8 @@ service NetworkControl { rpc ConnectBridge (ConnectBridgeRequest) returns (Response) {} rpc ConfigureIface (ConfigureIfaceRequest) returns (Response) {} + + rpc AddRoute (AddRouteRequest) returns (Response) {} } message EchoRequest { @@ -157,3 +159,10 @@ message ConfigureIfaceRequest { string CIDR = 2; string containerVethName = 3; } + +message AddRouteRequest { + string path = 1; + string dstCIDR = 2; + string gwIP = 3; + string containerVethName = 4; +} diff --git a/nl/link.go b/nl/link.go index 003ccce..b0e7611 100644 --- a/nl/link.go +++ b/nl/link.go @@ -6,6 +6,7 @@ import ( "fmt" "net" + "github.com/containernetworking/plugins/pkg/ip" "github.com/containernetworking/plugins/pkg/ns" "github.com/vishvananda/netlink" ) @@ -81,3 +82,16 @@ func SetupVeth(contVethName, hostVethName string, mtu int, hostNS ns.NetNS) (net } return ifaceFromNetlinkLink(hostVeth), ifaceFromNetlinkLink(contVeth), nil } + +func AddRoute(ipn *net.IPNet, gwIP string, dev string) error { + link, err := netlink.LinkByName(dev) + if err != nil { + return err + } + if gwIP != "" { + gw := net.ParseIP(gwIP) + return ip.AddRoute(ipn, gw, link) + } else { + return ip.AddRoute(ipn, nil, link) + } +} diff --git a/nl/link_test.go b/nl/link_test.go index 96682dc..3a77d23 100644 --- a/nl/link_test.go +++ b/nl/link_test.go @@ -3,6 +3,7 @@ package nl import ( "os" "testing" + "net" "github.com/containernetworking/plugins/pkg/ns" "github.com/containernetworking/plugins/pkg/testutils" @@ -76,3 +77,65 @@ func TestInvalidSetupVeth(t *testing.T) { }) assert.NoError(t, err) } + +func TestAddRoute(t *testing.T) { + type args struct { + ipn *net.IPNet + gwIP string + dev string + } + tests := []struct { + name string + args args + wantErr bool + }{ + { + name: "Test lo interface with null GW", + args: args{ + ipn: &net.IPNet{ + IP: net.IPv4(224, 0, 0, 0), + Mask: net.CIDRMask(4, 32), + }, + gwIP: "", + dev: "lo", + }, + wantErr: true, + }, { + name: "Test lo interface with 0.0.0.0", + args: args{ + ipn: &net.IPNet{ + IP: net.IPv4(224, 0, 0, 0), + Mask: net.CIDRMask(4, 32), + }, + gwIP: "0.0.0.0", + dev: "lo", + }, + wantErr: true, + }, { + name: "Test unknow interface", + args: args{ + ipn: &net.IPNet{ + IP: net.IPv4(192, 168, 0, 0), + Mask: net.CIDRMask(24, 32), + }, + gwIP: "0.0.0.0", + dev: "unknow", + }, + wantErr: true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + // Create a network namespace + netns, err := testutils.NewNS() + assert.NoError(t, err) + err = netns.Do(func(hostNS ns.NetNS) error { + if err := AddRoute(tt.args.ipn, tt.args.gwIP, tt.args.dev); (err != nil) != tt.wantErr { + t.Errorf("AddRoute() error = %v, wantErr %v", err, tt.wantErr) + } + return nil + }) + assert.NoError(t, err) + }) + } +} diff --git a/server/netlink_handler.go b/server/netlink_handler.go index 80d7fc6..998efe3 100644 --- a/server/netlink_handler.go +++ b/server/netlink_handler.go @@ -166,3 +166,34 @@ func (s *server) ConfigureIface(ctx context.Context, req *pb.ConfigureIfaceReque Reason: "", }, nil } + +func (s *server) AddRoute(ctx context.Context, req *pb.AddRouteRequest) (*pb.Response, error) { + runtime.LockOSThread() + log.Println("Start to add route") + netns, err := ns.GetNS(req.Path) + if err != nil { + return &pb.Response{ + Success: false, + Reason: err.Error(), + }, err + } + + err = netns.Do(func(_ ns.NetNS) error { + dst, err := types.ParseCIDR(req.DstCIDR) + if err != nil { + return err + } + return nl.AddRoute(dst, req.GwIP, req.ContainerVethName) + }) + if err != nil { + return &pb.Response{ + Success: false, + Reason: err.Error(), + }, err + } + + return &pb.Response{ + Success: true, + Reason: "", + }, nil +}