From 3c503206bf64d02f01fa90e69f8c624b89d11f81 Mon Sep 17 00:00:00 2001 From: Milan Lenco Date: Mon, 22 Jul 2024 12:08:36 +0200 Subject: [PATCH 1/2] Add option to disable flow logging for network instance Flow-logging is an EVE feature that allows to collect information about every application network flow. This includes attributes like src/dst IP, src/dst port, ACL rule applied, packet/byte counters, etc. However, this feature is always enabled for every network instance and can produce lot of data which are then uploaded to the cloud. We have seen cases where this amounted to hundreds of GB each week, which was a burden for the controller's database. Another drawback of flow-logging is that the iptables rules that EVE installs for network instances are considerably more complicated because of this feature and thus introduce additional packet processing overhead. This API change introduced a new boolean option to disable flow logging for a given Network Instance. It is recommended that the controller disables flow logging unless it is explicitly enabled by the user. Signed-off-by: Milan Lenco --- proto/config/netinst.proto | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/proto/config/netinst.proto b/proto/config/netinst.proto index 15d6b75..44d28a8 100644 --- a/proto/config/netinst.proto +++ b/proto/config/netinst.proto @@ -297,4 +297,17 @@ message NetworkInstanceConfig { // as MTU for air-gapped network instances and the lowest MTU among NI ports for NIs with // external connectivity. uint32 mtu = 44; + + // Disable flow logging for this network instance. + // When flow logging is enabled, EVE periodically records all application TCP and UDP + // flows. A flow record includes the application UUID, VIF name, open/close timestamps, + // source/destination IP/port/protocol 5-tuple, and packet and byte counters. + // Additionally, EVE records every DNS request made by an application, including + // the request time, the hostname being resolved, and the returned IP address(es). + // The flow logging API can be found in proto/config/flowlog/flowlog.proto + // If flow logging is not needed, it is recommended to disable this feature as it + // can potentially generate a large amount of data, which is then uploaded to the controller. + // Depending on the implementation, it may also introduce additional packet processing + // overhead. + bool disable_flowlog = 50; } From 92173439ef9d43ba2d1e5617d87af76012c7375a Mon Sep 17 00:00:00 2001 From: Milan Lenco Date: Mon, 22 Jul 2024 12:16:01 +0200 Subject: [PATCH 2/2] Re-generate proto files Signed-off-by: Milan Lenco --- go/config/netinst.pb.go | 86 ++++++++++++++++++++++-------------- python/config/netinst_pb2.py | 20 ++++----- 2 files changed, 64 insertions(+), 42 deletions(-) diff --git a/go/config/netinst.pb.go b/go/config/netinst.pb.go index eceb69d..69fbdd9 100644 --- a/go/config/netinst.pb.go +++ b/go/config/netinst.pb.go @@ -866,6 +866,18 @@ type NetworkInstanceConfig struct { // as MTU for air-gapped network instances and the lowest MTU among NI ports for NIs with // external connectivity. Mtu uint32 `protobuf:"varint,44,opt,name=mtu,proto3" json:"mtu,omitempty"` + // Disable flow logging for this network instance. + // When flow logging is enabled, EVE periodically records all application TCP and UDP + // flows. A flow record includes the application UUID, VIF name, open/close timestamps, + // source/destination IP/port/protocol 5-tuple, and packet and byte counters. + // Additionally, EVE records every DNS request made by an application, including + // the request time, the hostname being resolved, and the returned IP address(es). + // The flow logging API can be found in proto/config/flowlog/flowlog.proto + // If flow logging is not needed, it is recommended to disable this feature as it + // can potentially generate a large amount of data, which is then uploaded to the controller. + // Depending on the implementation, it may also introduce additional packet processing + // overhead. + DisableFlowlog bool `protobuf:"varint,50,opt,name=disable_flowlog,json=disableFlowlog,proto3" json:"disable_flowlog,omitempty"` } func (x *NetworkInstanceConfig) Reset() { @@ -991,6 +1003,13 @@ func (x *NetworkInstanceConfig) GetMtu() uint32 { return 0 } +func (x *NetworkInstanceConfig) GetDisableFlowlog() bool { + if x != nil { + return x.DisableFlowlog + } + return false +} + var File_config_netinst_proto protoreflect.FileDescriptor var file_config_netinst_proto_rawDesc = []byte{ @@ -1074,7 +1093,7 @@ var file_config_netinst_proto_rawDesc = []byte{ 0x63, 0x6f, 0x6c, 0x12, 0x31, 0x0a, 0x15, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x62, 0x70, 0x64, 0x75, 0x5f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x42, 0x70, 0x64, - 0x75, 0x47, 0x75, 0x61, 0x72, 0x64, 0x22, 0xdf, 0x05, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x75, 0x47, 0x75, 0x61, 0x72, 0x64, 0x22, 0x88, 0x06, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4d, 0x0a, 0x0e, 0x75, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x64, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, @@ -1120,37 +1139,40 @@ var file_config_netinst_proto_rawDesc = []byte{ 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x2c, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x2a, 0xb3, 0x01, 0x0a, 0x10, 0x5a, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, - 0x0d, 0x5a, 0x4e, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x46, 0x69, 0x72, 0x73, 0x74, 0x10, 0x00, - 0x12, 0x12, 0x0a, 0x0e, 0x5a, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x53, 0x77, 0x69, 0x74, - 0x63, 0x68, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, - 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x6e, 0x65, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x5a, 0x6e, - 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, - 0x5a, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x48, 0x6f, 0x6e, 0x65, 0x79, 0x50, 0x6f, 0x74, - 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x5a, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0c, 0x5a, - 0x4e, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x10, 0xff, 0x01, 0x2a, 0x57, - 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, - 0x05, 0x46, 0x69, 0x72, 0x73, 0x74, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x34, - 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, - 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x49, 0x50, 0x56, 0x34, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, - 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x04, - 0x4c, 0x61, 0x73, 0x74, 0x10, 0xff, 0x01, 0x2a, 0x43, 0x0a, 0x18, 0x5a, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x5a, 0x4e, 0x65, 0x74, 0x4f, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x56, 0x50, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x5a, 0x4e, 0x65, 0x74, 0x4f, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x69, 0x73, 0x70, 0x10, 0x01, 0x2a, 0x47, 0x0a, 0x0d, - 0x5a, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x10, 0x7a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x72, - 0x76, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x10, 0x02, 0x42, 0x3d, 0x0a, 0x15, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5a, 0x24, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x66, 0x2d, 0x65, 0x64, - 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x6c, 0x6f, 0x67, 0x18, 0x32, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x6c, 0x6f, + 0x67, 0x2a, 0xb3, 0x01, 0x0a, 0x10, 0x5a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, + 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x4e, 0x65, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x46, 0x69, 0x72, 0x73, 0x74, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x5a, 0x6e, 0x65, + 0x74, 0x49, 0x6e, 0x73, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x10, 0x01, 0x12, 0x11, 0x0a, + 0x0d, 0x5a, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x10, 0x02, + 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x5a, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x4d, + 0x65, 0x73, 0x68, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x5a, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x73, + 0x74, 0x48, 0x6f, 0x6e, 0x65, 0x79, 0x50, 0x6f, 0x74, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x5a, + 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0c, 0x5a, 0x4e, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, + 0x4c, 0x61, 0x73, 0x74, 0x10, 0xff, 0x01, 0x2a, 0x57, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x69, 0x72, 0x73, 0x74, 0x10, + 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, + 0x50, 0x56, 0x36, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x49, + 0x50, 0x56, 0x34, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x49, + 0x50, 0x56, 0x36, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4c, 0x61, 0x73, 0x74, 0x10, 0xff, 0x01, + 0x2a, 0x43, 0x0a, 0x18, 0x5a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4f, 0x70, 0x61, 0x71, + 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, + 0x5a, 0x4e, 0x65, 0x74, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x50, 0x4e, 0x10, 0x00, + 0x12, 0x13, 0x0a, 0x0f, 0x5a, 0x4e, 0x65, 0x74, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, + 0x69, 0x73, 0x70, 0x10, 0x01, 0x2a, 0x47, 0x0a, 0x0d, 0x5a, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x7a, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x72, 0x76, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, + 0x6d, 0x61, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0x02, 0x42, 0x3d, + 0x0a, 0x15, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x66, 0x2d, 0x65, 0x64, 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/python/config/netinst_pb2.py b/python/config/netinst_pb2.py index 3af4dfc..ca7120b 100644 --- a/python/config/netinst_pb2.py +++ b/python/config/netinst_pb2.py @@ -15,7 +15,7 @@ from config import netcmn_pb2 as config_dot_netcmn__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x63onfig/netinst.proto\x12\x15org.lfedge.eve.config\x1a\x16\x63onfig/devcommon.proto\x1a\x13\x63onfig/netcmn.proto\"\xb3\x01\n\x1bNetworkInstanceOpaqueConfig\x12\x0f\n\x07oconfig\x18\x01 \x01(\t\x12\x44\n\nlispConfig\x18\x02 \x01(\x0b\x32\x30.org.lfedge.eve.config.NetworkInstanceLispConfig\x12=\n\x04type\x18\x03 \x01(\x0e\x32/.org.lfedge.eve.config.ZNetworkOpaqueConfigType\"l\n\x0eZcServicePoint\x12\x34\n\x06zsType\x18\x03 \x01(\x0e\x32$.org.lfedge.eve.config.ZcServiceType\x12\x10\n\x08NameOrIp\x18\x01 \x01(\t\x12\x12\n\nCredential\x18\x02 \x01(\t\"\xe1\x01\n\x19NetworkInstanceLispConfig\x12\x36\n\x07LispMSs\x18\x01 \x03(\x0b\x32%.org.lfedge.eve.config.ZcServicePoint\x12\x16\n\x0eLispInstanceId\x18\x02 \x01(\r\x12\x10\n\x08\x61llocate\x18\x03 \x01(\x08\x12\x15\n\rexportprivate\x18\x04 \x01(\x08\x12\x18\n\x10\x61llocationprefix\x18\x05 \x01(\x0c\x12\x1b\n\x13\x61llocationprefixlen\x18\x06 \x01(\r\x12\x14\n\x0c\x65xperimental\x18\x14 \x01(\x08\"\xb6\x01\n\x07IPRoute\x12\x1b\n\x13\x64\x65stination_network\x18\x01 \x01(\t\x12\x0f\n\x07gateway\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\t\x12/\n\x05probe\x18\x04 \x01(\x0b\x32 .org.lfedge.eve.config.PortProbe\x12\x19\n\x11prefer_lower_cost\x18\x05 \x01(\x08\x12#\n\x1bprefer_stronger_wwan_signal\x18\x06 \x01(\x08\"}\n\tPortProbe\x12\x16\n\x0e\x65nable_gw_ping\x18\x01 \x01(\x08\x12\x18\n\x10gw_ping_max_cost\x18\x02 \x01(\r\x12>\n\x0c\x63ustom_probe\x18\x03 \x01(\x0b\x32(.org.lfedge.eve.config.ConnectivityProbe\"5\n\x14SpanningTreeProtocol\x12\x1d\n\x15ports_with_bpdu_guard\x18\x01 \x01(\t\"\xe0\x04\n\x15NetworkInstanceConfig\x12=\n\x0euuidandversion\x18\x01 \x01(\x0b\x32%.org.lfedge.eve.config.UUIDandVersion\x12\x13\n\x0b\x64isplayname\x18\x02 \x01(\t\x12\x39\n\x08instType\x18\x04 \x01(\x0e\x32\'.org.lfedge.eve.config.ZNetworkInstType\x12\x10\n\x08\x61\x63tivate\x18\x05 \x01(\x08\x12,\n\x04port\x18\x14 \x01(\x0b\x32\x1e.org.lfedge.eve.config.Adapter\x12\x38\n\x03stp\x18\x15 \x01(\x0b\x32+.org.lfedge.eve.config.SpanningTreeProtocol\x12?\n\x03\x63\x66g\x18\x1e \x01(\x0b\x32\x32.org.lfedge.eve.config.NetworkInstanceOpaqueConfig\x12\x32\n\x06ipType\x18\' \x01(\x0e\x32\".org.lfedge.eve.config.AddressType\x12)\n\x02ip\x18( \x01(\x0b\x32\x1d.org.lfedge.eve.config.ipspec\x12\x36\n\x03\x64ns\x18) \x03(\x0b\x32).org.lfedge.eve.config.ZnetStaticDNSEntry\x12\"\n\x1apropagate_connected_routes\x18* \x01(\x08\x12\x35\n\rstatic_routes\x18+ \x03(\x0b\x32\x1e.org.lfedge.eve.config.IPRoute\x12\x0b\n\x03mtu\x18, \x01(\r*\xb3\x01\n\x10ZNetworkInstType\x12\x11\n\rZNetInstFirst\x10\x00\x12\x12\n\x0eZnetInstSwitch\x10\x01\x12\x11\n\rZnetInstLocal\x10\x02\x12\x11\n\rZnetInstCloud\x10\x03\x12\x10\n\x0cZnetInstMesh\x10\x04\x12\x14\n\x10ZnetInstHoneyPot\x10\x05\x12\x17\n\x13ZnetInstTransparent\x10\x06\x12\x11\n\x0cZNetInstLast\x10\xff\x01*W\n\x0b\x41\x64\x64ressType\x12\t\n\x05\x46irst\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\x0e\n\nCryptoIPV4\x10\x03\x12\x0e\n\nCryptoIPV6\x10\x04\x12\t\n\x04Last\x10\xff\x01*C\n\x18ZNetworkOpaqueConfigType\x12\x12\n\x0eZNetOConfigVPN\x10\x00\x12\x13\n\x0fZNetOConfigLisp\x10\x01*G\n\rZcServiceType\x12\x14\n\x10zcloudInvalidSrv\x10\x00\x12\r\n\tmapServer\x10\x01\x12\x11\n\rsupportServer\x10\x02\x42=\n\x15org.lfedge.eve.configZ$github.com/lf-edge/eve-api/go/configb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x63onfig/netinst.proto\x12\x15org.lfedge.eve.config\x1a\x16\x63onfig/devcommon.proto\x1a\x13\x63onfig/netcmn.proto\"\xb3\x01\n\x1bNetworkInstanceOpaqueConfig\x12\x0f\n\x07oconfig\x18\x01 \x01(\t\x12\x44\n\nlispConfig\x18\x02 \x01(\x0b\x32\x30.org.lfedge.eve.config.NetworkInstanceLispConfig\x12=\n\x04type\x18\x03 \x01(\x0e\x32/.org.lfedge.eve.config.ZNetworkOpaqueConfigType\"l\n\x0eZcServicePoint\x12\x34\n\x06zsType\x18\x03 \x01(\x0e\x32$.org.lfedge.eve.config.ZcServiceType\x12\x10\n\x08NameOrIp\x18\x01 \x01(\t\x12\x12\n\nCredential\x18\x02 \x01(\t\"\xe1\x01\n\x19NetworkInstanceLispConfig\x12\x36\n\x07LispMSs\x18\x01 \x03(\x0b\x32%.org.lfedge.eve.config.ZcServicePoint\x12\x16\n\x0eLispInstanceId\x18\x02 \x01(\r\x12\x10\n\x08\x61llocate\x18\x03 \x01(\x08\x12\x15\n\rexportprivate\x18\x04 \x01(\x08\x12\x18\n\x10\x61llocationprefix\x18\x05 \x01(\x0c\x12\x1b\n\x13\x61llocationprefixlen\x18\x06 \x01(\r\x12\x14\n\x0c\x65xperimental\x18\x14 \x01(\x08\"\xb6\x01\n\x07IPRoute\x12\x1b\n\x13\x64\x65stination_network\x18\x01 \x01(\t\x12\x0f\n\x07gateway\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\t\x12/\n\x05probe\x18\x04 \x01(\x0b\x32 .org.lfedge.eve.config.PortProbe\x12\x19\n\x11prefer_lower_cost\x18\x05 \x01(\x08\x12#\n\x1bprefer_stronger_wwan_signal\x18\x06 \x01(\x08\"}\n\tPortProbe\x12\x16\n\x0e\x65nable_gw_ping\x18\x01 \x01(\x08\x12\x18\n\x10gw_ping_max_cost\x18\x02 \x01(\r\x12>\n\x0c\x63ustom_probe\x18\x03 \x01(\x0b\x32(.org.lfedge.eve.config.ConnectivityProbe\"5\n\x14SpanningTreeProtocol\x12\x1d\n\x15ports_with_bpdu_guard\x18\x01 \x01(\t\"\xf9\x04\n\x15NetworkInstanceConfig\x12=\n\x0euuidandversion\x18\x01 \x01(\x0b\x32%.org.lfedge.eve.config.UUIDandVersion\x12\x13\n\x0b\x64isplayname\x18\x02 \x01(\t\x12\x39\n\x08instType\x18\x04 \x01(\x0e\x32\'.org.lfedge.eve.config.ZNetworkInstType\x12\x10\n\x08\x61\x63tivate\x18\x05 \x01(\x08\x12,\n\x04port\x18\x14 \x01(\x0b\x32\x1e.org.lfedge.eve.config.Adapter\x12\x38\n\x03stp\x18\x15 \x01(\x0b\x32+.org.lfedge.eve.config.SpanningTreeProtocol\x12?\n\x03\x63\x66g\x18\x1e \x01(\x0b\x32\x32.org.lfedge.eve.config.NetworkInstanceOpaqueConfig\x12\x32\n\x06ipType\x18\' \x01(\x0e\x32\".org.lfedge.eve.config.AddressType\x12)\n\x02ip\x18( \x01(\x0b\x32\x1d.org.lfedge.eve.config.ipspec\x12\x36\n\x03\x64ns\x18) \x03(\x0b\x32).org.lfedge.eve.config.ZnetStaticDNSEntry\x12\"\n\x1apropagate_connected_routes\x18* \x01(\x08\x12\x35\n\rstatic_routes\x18+ \x03(\x0b\x32\x1e.org.lfedge.eve.config.IPRoute\x12\x0b\n\x03mtu\x18, \x01(\r\x12\x17\n\x0f\x64isable_flowlog\x18\x32 \x01(\x08*\xb3\x01\n\x10ZNetworkInstType\x12\x11\n\rZNetInstFirst\x10\x00\x12\x12\n\x0eZnetInstSwitch\x10\x01\x12\x11\n\rZnetInstLocal\x10\x02\x12\x11\n\rZnetInstCloud\x10\x03\x12\x10\n\x0cZnetInstMesh\x10\x04\x12\x14\n\x10ZnetInstHoneyPot\x10\x05\x12\x17\n\x13ZnetInstTransparent\x10\x06\x12\x11\n\x0cZNetInstLast\x10\xff\x01*W\n\x0b\x41\x64\x64ressType\x12\t\n\x05\x46irst\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\x0e\n\nCryptoIPV4\x10\x03\x12\x0e\n\nCryptoIPV6\x10\x04\x12\t\n\x04Last\x10\xff\x01*C\n\x18ZNetworkOpaqueConfigType\x12\x12\n\x0eZNetOConfigVPN\x10\x00\x12\x13\n\x0fZNetOConfigLisp\x10\x01*G\n\rZcServiceType\x12\x14\n\x10zcloudInvalidSrv\x10\x00\x12\r\n\tmapServer\x10\x01\x12\x11\n\rsupportServer\x10\x02\x42=\n\x15org.lfedge.eve.configZ$github.com/lf-edge/eve-api/go/configb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,14 +24,14 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\025org.lfedge.eve.configZ$github.com/lf-edge/eve-api/go/config' - _globals['_ZNETWORKINSTTYPE']._serialized_start=1591 - _globals['_ZNETWORKINSTTYPE']._serialized_end=1770 - _globals['_ADDRESSTYPE']._serialized_start=1772 - _globals['_ADDRESSTYPE']._serialized_end=1859 - _globals['_ZNETWORKOPAQUECONFIGTYPE']._serialized_start=1861 - _globals['_ZNETWORKOPAQUECONFIGTYPE']._serialized_end=1928 - _globals['_ZCSERVICETYPE']._serialized_start=1930 - _globals['_ZCSERVICETYPE']._serialized_end=2001 + _globals['_ZNETWORKINSTTYPE']._serialized_start=1616 + _globals['_ZNETWORKINSTTYPE']._serialized_end=1795 + _globals['_ADDRESSTYPE']._serialized_start=1797 + _globals['_ADDRESSTYPE']._serialized_end=1884 + _globals['_ZNETWORKOPAQUECONFIGTYPE']._serialized_start=1886 + _globals['_ZNETWORKOPAQUECONFIGTYPE']._serialized_end=1953 + _globals['_ZCSERVICETYPE']._serialized_start=1955 + _globals['_ZCSERVICETYPE']._serialized_end=2026 _globals['_NETWORKINSTANCEOPAQUECONFIG']._serialized_start=93 _globals['_NETWORKINSTANCEOPAQUECONFIG']._serialized_end=272 _globals['_ZCSERVICEPOINT']._serialized_start=274 @@ -45,5 +45,5 @@ _globals['_SPANNINGTREEPROTOCOL']._serialized_start=924 _globals['_SPANNINGTREEPROTOCOL']._serialized_end=977 _globals['_NETWORKINSTANCECONFIG']._serialized_start=980 - _globals['_NETWORKINSTANCECONFIG']._serialized_end=1588 + _globals['_NETWORKINSTANCECONFIG']._serialized_end=1613 # @@protoc_insertion_point(module_scope)