diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 2e3ffac974..f613644c60 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -188,6 +188,8 @@ type MeshConfig struct { ProxyHttpPort int32 `protobuf:"varint,5,opt,name=proxy_http_port,json=proxyHttpPort,proto3" json:"proxy_http_port,omitempty"` // Connection timeout used by Envoy. (MUST BE >=1ms) ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,6,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` + // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. + TcpKeepalive *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` // Class of ingress resources to be processed by Istio ingress // controller. This corresponds to the value of // "kubernetes.io/ingress.class" annotation. @@ -304,6 +306,13 @@ func (m *MeshConfig) GetConnectTimeout() *google_protobuf.Duration { return nil } +func (m *MeshConfig) GetTcpKeepalive() *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive { + if m != nil { + return m.TcpKeepalive + } + return nil +} + func (m *MeshConfig) GetIngressClass() string { if m != nil { return m.IngressClass @@ -718,6 +727,18 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintConfig(dAtA, i, uint64(m.AccessLogEncoding)) } + if m.TcpKeepalive != nil { + dAtA[i] = 0xe2 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintConfig(dAtA, i, uint64(m.TcpKeepalive.Size())) + n6, err := m.TcpKeepalive.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + } return i, nil } @@ -769,11 +790,11 @@ func (m *ConfigSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintConfig(dAtA, i, uint64(m.TlsSettings.Size())) - n6, err := m.TlsSettings.MarshalTo(dAtA[i:]) + n7, err := m.TlsSettings.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n6 + i += n7 } return i, nil } @@ -882,6 +903,10 @@ func (m *MeshConfig) Size() (n int) { if m.AccessLogEncoding != 0 { n += 2 + sovConfig(uint64(m.AccessLogEncoding)) } + if m.TcpKeepalive != nil { + l = m.TcpKeepalive.Size() + n += 2 + l + sovConfig(uint64(l)) + } return n } @@ -1602,6 +1627,39 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { break } } + case 28: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TcpKeepalive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowConfig + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthConfig + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TcpKeepalive == nil { + m.TcpKeepalive = &istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive{} + } + if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipConfig(dAtA[iNdEx:]) @@ -1912,72 +1970,75 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 1071 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdf, 0x4e, 0xe3, 0xc6, - 0x17, 0xc6, 0x90, 0x85, 0x30, 0xf9, 0xe7, 0x4c, 0x36, 0xcb, 0x90, 0xfd, 0x89, 0x5f, 0x36, 0x55, - 0x21, 0x42, 0x95, 0x23, 0x40, 0xbd, 0x68, 0xef, 0x42, 0x08, 0xbb, 0x41, 0x21, 0x41, 0xb6, 0xd9, - 0x96, 0xde, 0x8c, 0x8c, 0x3d, 0x49, 0x46, 0x38, 0x1e, 0xd7, 0x33, 0xde, 0x2e, 0xaf, 0xd5, 0xdb, - 0xbe, 0x40, 0x2f, 0xfb, 0x08, 0x15, 0x4f, 0x52, 0xcd, 0x8c, 0x03, 0x61, 0x37, 0x12, 0x55, 0xef, - 0xe2, 0xef, 0x7c, 0xe7, 0x9c, 0x39, 0xdf, 0x39, 0x73, 0x26, 0xa0, 0x31, 0x27, 0x7c, 0xd6, 0xf9, - 0x74, 0xe4, 0x85, 0xf1, 0xcc, 0x3b, 0xea, 0xf8, 0x2c, 0x9a, 0xd0, 0xa9, 0x15, 0x27, 0x4c, 0x30, - 0x58, 0xa3, 0x5c, 0x50, 0x66, 0x49, 0x86, 0xb5, 0x60, 0x34, 0xf6, 0xa6, 0x8c, 0x4d, 0x43, 0xd2, - 0x51, 0x94, 0xdb, 0x74, 0xd2, 0x09, 0xd2, 0xc4, 0x13, 0x94, 0x45, 0xda, 0xa9, 0xb1, 0xfb, 0x3c, - 0x60, 0x9c, 0xb0, 0xcf, 0xf7, 0x99, 0xe9, 0x30, 0x22, 0xe2, 0x37, 0x96, 0xdc, 0xd1, 0x68, 0xba, - 0x20, 0x9c, 0x74, 0x02, 0xc2, 0x05, 0x8d, 0x54, 0x04, 0x9c, 0xa4, 0x21, 0xd1, 0xdc, 0xd6, 0xef, - 0x65, 0x00, 0x2e, 0x09, 0x9f, 0xf5, 0xd4, 0x81, 0xe0, 0x77, 0x00, 0xce, 0xe9, 0x67, 0x92, 0x60, - 0x7f, 0x46, 0xfc, 0x3b, 0xcc, 0x49, 0xf2, 0x89, 0x24, 0xc8, 0x68, 0x1a, 0xed, 0x6d, 0xdb, 0x54, - 0x96, 0x9e, 0x34, 0x38, 0x0a, 0x87, 0x16, 0xa8, 0x69, 0x76, 0x42, 0x62, 0x96, 0x88, 0x05, 0x7d, - 0x5d, 0xd1, 0xab, 0xca, 0x64, 0x2b, 0x4b, 0xc6, 0x3f, 0x06, 0xf5, 0x80, 0x72, 0xef, 0x36, 0x24, - 0x38, 0x66, 0x21, 0xf5, 0xef, 0x75, 0x1a, 0x8e, 0x36, 0x9a, 0x46, 0x3b, 0x6f, 0xd7, 0x32, 0xe3, - 0x95, 0xb2, 0xa9, 0x44, 0x1c, 0x1e, 0x82, 0xaa, 0xaa, 0x0d, 0x87, 0x94, 0x0b, 0x12, 0x61, 0x19, - 0x0e, 0xe5, 0x9a, 0x46, 0xfb, 0x95, 0x5d, 0x51, 0x86, 0xa1, 0xc2, 0xaf, 0x58, 0x22, 0xe0, 0x3e, - 0xd0, 0x10, 0x9e, 0x09, 0x11, 0x6b, 0xe6, 0x2b, 0xc5, 0x2c, 0x29, 0xf8, 0x83, 0x10, 0xb1, 0xe2, - 0x9d, 0x82, 0x8a, 0xcf, 0xa2, 0x88, 0xf8, 0x02, 0x0b, 0x3a, 0x27, 0x2c, 0x15, 0x68, 0xb3, 0x69, - 0xb4, 0x0b, 0xc7, 0xbb, 0x96, 0x56, 0xdd, 0x5a, 0xa8, 0x6e, 0x9d, 0x65, 0xaa, 0xdb, 0xe5, 0xcc, - 0xc3, 0xd5, 0x0e, 0xf0, 0x1b, 0x50, 0xa2, 0xd1, 0x34, 0x21, 0x9c, 0x63, 0x3f, 0xf4, 0x38, 0x47, - 0x5b, 0xaa, 0xea, 0x62, 0x06, 0xf6, 0x24, 0x06, 0x0f, 0x40, 0x65, 0x41, 0x92, 0xda, 0x50, 0x9f, - 0xa0, 0xbc, 0xa2, 0x95, 0x33, 0xd8, 0xd1, 0x28, 0x9c, 0x83, 0x9d, 0xc7, 0x68, 0x2c, 0x12, 0x09, - 0x0b, 0x43, 0x92, 0xe0, 0x39, 0x0b, 0x08, 0xda, 0x6e, 0x1a, 0xed, 0xf2, 0xf1, 0xf7, 0xd6, 0x8a, - 0x21, 0xb1, 0x9e, 0x3a, 0x67, 0x0d, 0xb2, 0xbc, 0x8f, 0xde, 0x97, 0x2c, 0x20, 0x76, 0x9d, 0xae, - 0x82, 0xe1, 0x18, 0x14, 0xbc, 0x54, 0xcc, 0xb2, 0x2e, 0x20, 0xa0, 0x52, 0x1c, 0xbe, 0x94, 0xa2, - 0x9b, 0x8a, 0x99, 0xee, 0xcd, 0xe9, 0x3a, 0x32, 0x6c, 0xe0, 0x3d, 0x7e, 0xc3, 0x01, 0xa8, 0x26, - 0x01, 0xc7, 0x09, 0x99, 0x24, 0x84, 0xcf, 0x70, 0x40, 0x42, 0xef, 0x1e, 0x15, 0x5e, 0xd0, 0x54, - 0x45, 0xa9, 0x24, 0x01, 0xb7, 0xb5, 0xdb, 0x99, 0xf4, 0x82, 0xdf, 0x82, 0x32, 0x89, 0xd4, 0x8c, - 0x88, 0xc4, 0xf3, 0x69, 0x34, 0x45, 0x45, 0x35, 0x1d, 0x25, 0x8d, 0xba, 0x1a, 0x94, 0xbd, 0xf6, - 0x7c, 0x5f, 0x0a, 0x16, 0xb2, 0x29, 0x9e, 0xd0, 0x90, 0xa0, 0x92, 0x92, 0xb6, 0xa4, 0xe1, 0x21, - 0x9b, 0x9e, 0xd3, 0x90, 0xc0, 0xf7, 0xa0, 0x1c, 0x90, 0x89, 0x97, 0x86, 0x02, 0xeb, 0x4b, 0x87, - 0xca, 0xea, 0x58, 0xcd, 0x95, 0xd5, 0x5e, 0xc9, 0x39, 0xd1, 0xe5, 0xda, 0xa5, 0xcc, 0x2f, 0xbb, - 0x1a, 0x07, 0xa0, 0xa4, 0x87, 0xdd, 0x0b, 0x02, 0x29, 0x29, 0x32, 0x65, 0x3a, 0x55, 0x43, 0x51, - 0x19, 0xba, 0x1a, 0x87, 0xbf, 0x82, 0x1d, 0x96, 0x8a, 0x5b, 0x96, 0x46, 0x81, 0x2c, 0x61, 0x32, - 0xa1, 0xfe, 0x42, 0xe8, 0xaa, 0x4a, 0xfd, 0x62, 0x2f, 0xc7, 0x99, 0xbb, 0xab, 0xbd, 0x97, 0x34, - 0xaf, 0xb3, 0x55, 0x26, 0x78, 0x06, 0xfe, 0x9f, 0x69, 0xe6, 0x87, 0x94, 0x44, 0x02, 0x73, 0x1a, - 0x3c, 0xbf, 0x63, 0xa8, 0xa6, 0x44, 0x7c, 0xab, 0x69, 0x3d, 0xc5, 0x72, 0x68, 0xb0, 0x7c, 0xd7, - 0x60, 0x13, 0x14, 0x79, 0xc0, 0x71, 0x1a, 0x70, 0x1c, 0x7b, 0x62, 0x86, 0x5e, 0x2b, 0x3d, 0x01, - 0x0f, 0xf8, 0x75, 0xc0, 0xaf, 0x3c, 0x31, 0x93, 0x6d, 0xe6, 0x5f, 0xb5, 0xb9, 0xfe, 0xaf, 0xda, - 0xcc, 0xbf, 0x68, 0xf3, 0x07, 0x50, 0xd6, 0xfd, 0xc0, 0x9c, 0xa5, 0x89, 0x4f, 0x38, 0x7a, 0xd3, - 0xdc, 0x68, 0x17, 0x8e, 0xdf, 0xad, 0x14, 0x47, 0x0b, 0xe3, 0x28, 0xa6, 0x5d, 0xf2, 0x97, 0xbe, - 0x38, 0x3c, 0x01, 0x6f, 0xb2, 0xe2, 0xe5, 0xd9, 0x04, 0xbb, 0x23, 0x11, 0x9e, 0xb3, 0x34, 0x12, - 0x68, 0x47, 0xaf, 0x15, 0x6d, 0x75, 0x02, 0xee, 0x4a, 0xdb, 0xa5, 0x34, 0xc9, 0xb5, 0xb2, 0x3c, - 0x3e, 0x2c, 0x99, 0x7b, 0x02, 0x21, 0x55, 0x70, 0xe5, 0x69, 0x80, 0x14, 0x2c, 0x13, 0x2c, 0x4b, - 0x89, 0x27, 0x1e, 0x0d, 0x31, 0x8b, 0x49, 0x84, 0x76, 0x75, 0x82, 0xf8, 0x49, 0xc4, 0x73, 0x8f, - 0x86, 0xe3, 0x98, 0x44, 0xf0, 0x1d, 0x28, 0x8a, 0x24, 0xe5, 0x02, 0x07, 0x6c, 0xee, 0xd1, 0x08, - 0x35, 0x54, 0xec, 0x82, 0xc2, 0xce, 0x14, 0x04, 0x3d, 0x50, 0x5b, 0x3a, 0x03, 0x89, 0x7c, 0x16, - 0xc8, 0x71, 0x7f, 0xab, 0x6e, 0xe3, 0xd1, 0x8b, 0xb7, 0x71, 0x71, 0xca, 0x7e, 0xe6, 0x68, 0x57, - 0xbd, 0x2f, 0xa1, 0xc6, 0x1f, 0x06, 0xa8, 0xaf, 0x9c, 0x26, 0x68, 0x83, 0x9c, 0x5a, 0x2f, 0x86, - 0xca, 0xf6, 0xe3, 0x7f, 0x1a, 0x49, 0x4b, 0x2e, 0x13, 0xd5, 0x5e, 0x15, 0xab, 0x35, 0x02, 0x39, - 0xb5, 0x5e, 0xea, 0xa0, 0x64, 0xf7, 0xdf, 0x0f, 0x1c, 0xd7, 0xbe, 0xc1, 0xe3, 0xd1, 0xf0, 0xc6, - 0x5c, 0x6b, 0xac, 0xe7, 0x0d, 0x58, 0x05, 0xdb, 0xdd, 0xe1, 0x70, 0xfc, 0x13, 0xee, 0x8e, 0x6e, - 0x4c, 0x43, 0x41, 0xff, 0x03, 0xaf, 0x3f, 0x0e, 0x6c, 0xf7, 0xba, 0x3b, 0xc4, 0x4e, 0xdf, 0xfe, - 0x38, 0xe8, 0xf5, 0xb5, 0xc3, 0xba, 0xb4, 0xb6, 0x7e, 0x00, 0xf5, 0x95, 0x6b, 0x0d, 0x6e, 0x81, - 0x8d, 0xf1, 0xf9, 0xb9, 0xb9, 0x06, 0x0b, 0x60, 0xeb, 0xac, 0x7f, 0xde, 0xbd, 0x1e, 0xba, 0xa6, - 0x01, 0x01, 0xd8, 0x74, 0x5c, 0x7b, 0xd0, 0x73, 0xcd, 0xf5, 0xd6, 0x3e, 0x00, 0x4f, 0xeb, 0x0a, - 0xe6, 0x41, 0x6e, 0x34, 0x1e, 0xf5, 0xcd, 0x35, 0x28, 0x9f, 0xbb, 0x6b, 0x95, 0xcf, 0x1d, 0x3a, - 0xa6, 0xd1, 0x3a, 0x00, 0xd5, 0xaf, 0x84, 0x94, 0x74, 0xb7, 0xff, 0xb3, 0x6b, 0xae, 0xc9, 0x5f, - 0x17, 0xce, 0x78, 0x64, 0x1a, 0x17, 0xb9, 0x7c, 0xc5, 0x34, 0x2f, 0x72, 0x79, 0x68, 0xd6, 0x5a, - 0x1c, 0x14, 0x97, 0x07, 0x12, 0x22, 0xb0, 0xb5, 0x58, 0x0a, 0xfa, 0xa9, 0x5c, 0x7c, 0xc2, 0x01, - 0x28, 0x8a, 0x50, 0x2e, 0x7f, 0x21, 0x68, 0x34, 0xe5, 0xea, 0x69, 0x2c, 0x1c, 0xef, 0x67, 0x6a, - 0x3f, 0xbd, 0xd3, 0x0b, 0xcd, 0x4f, 0x2c, 0x77, 0xe8, 0x38, 0x19, 0xdb, 0x2e, 0x88, 0x90, 0x2f, - 0x3e, 0x4e, 0xdb, 0x7f, 0x3e, 0xec, 0x19, 0x7f, 0x3d, 0xec, 0x19, 0x7f, 0x3f, 0xec, 0x19, 0xbf, - 0x34, 0x74, 0x04, 0xca, 0x3a, 0x5e, 0x4c, 0x3b, 0xcf, 0xfe, 0x0b, 0xdc, 0x6e, 0xaa, 0x2b, 0x78, - 0xf2, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0a, 0x38, 0x8b, 0x61, 0x74, 0x08, 0x00, 0x00, + // 1117 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0xdb, 0x36, + 0x14, 0x8e, 0xd2, 0xb4, 0x49, 0x8f, 0xff, 0x64, 0xa6, 0x6e, 0x59, 0xb7, 0xc8, 0xdc, 0x0c, 0x6b, + 0x8d, 0x62, 0x90, 0xd1, 0x04, 0xbb, 0xd8, 0xee, 0x52, 0xc7, 0x69, 0x9d, 0x39, 0xb1, 0x21, 0x29, + 0xdd, 0xba, 0x1b, 0x42, 0x91, 0x68, 0x9b, 0x88, 0x2c, 0x6a, 0x22, 0xd5, 0xb5, 0xcf, 0xb3, 0xc7, + 0xd8, 0x0b, 0xec, 0x72, 0x8f, 0x30, 0xf4, 0x49, 0x06, 0x92, 0x52, 0xed, 0xb4, 0xc6, 0x32, 0xec, + 0xce, 0xfc, 0xce, 0x77, 0xce, 0x21, 0xbf, 0xf3, 0x23, 0x43, 0x7b, 0x41, 0xc5, 0xbc, 0xf7, 0xee, + 0x45, 0x10, 0xa7, 0xf3, 0xe0, 0x45, 0x2f, 0xe4, 0xc9, 0x94, 0xcd, 0x9c, 0x34, 0xe3, 0x92, 0xa3, + 0x5d, 0x26, 0x24, 0xe3, 0x8e, 0x62, 0x38, 0x25, 0xa3, 0xbd, 0x37, 0xe3, 0x7c, 0x16, 0xd3, 0x9e, + 0xa6, 0x5c, 0xe6, 0xd3, 0x5e, 0x94, 0x67, 0x81, 0x64, 0x3c, 0x31, 0x4e, 0xed, 0x87, 0xd7, 0x03, + 0xa6, 0x19, 0x7f, 0xff, 0xa1, 0x30, 0x3d, 0x4f, 0xa8, 0xfc, 0x8d, 0x67, 0x57, 0x2c, 0x99, 0x95, + 0x84, 0xc3, 0x5e, 0x44, 0x85, 0x64, 0x89, 0x8e, 0x40, 0xb2, 0x3c, 0xa6, 0x86, 0xbb, 0xff, 0x7b, + 0x03, 0xe0, 0x8c, 0x8a, 0x79, 0x5f, 0x5f, 0x08, 0x7d, 0x0b, 0x68, 0xc1, 0xde, 0xd3, 0x8c, 0x84, + 0x73, 0x1a, 0x5e, 0x11, 0x41, 0xb3, 0x77, 0x34, 0xc3, 0x56, 0xc7, 0xea, 0xde, 0x75, 0x6d, 0x6d, + 0xe9, 0x2b, 0x83, 0xa7, 0x71, 0xe4, 0xc0, 0xae, 0x61, 0x67, 0x34, 0xe5, 0x99, 0x2c, 0xe9, 0x9b, + 0x9a, 0xde, 0xd4, 0x26, 0x57, 0x5b, 0x0a, 0xfe, 0x01, 0xb4, 0x22, 0x26, 0x82, 0xcb, 0x98, 0x92, + 0x94, 0xc7, 0x2c, 0xfc, 0x60, 0xd2, 0x08, 0x7c, 0xab, 0x63, 0x75, 0x77, 0xdc, 0xdd, 0xc2, 0x38, + 0xd1, 0x36, 0x9d, 0x48, 0xa0, 0xe7, 0xd0, 0xd4, 0x6f, 0x23, 0x31, 0x13, 0x92, 0x26, 0x44, 0x85, + 0xc3, 0x5b, 0x1d, 0xab, 0x7b, 0xdb, 0x6d, 0x68, 0xc3, 0x48, 0xe3, 0x13, 0x9e, 0x49, 0xf4, 0x14, + 0x0c, 0x44, 0xe6, 0x52, 0xa6, 0x86, 0x79, 0x5b, 0x33, 0x6b, 0x1a, 0x7e, 0x2d, 0x65, 0xaa, 0x79, + 0x2f, 0xa1, 0x11, 0xf2, 0x24, 0xa1, 0xa1, 0x24, 0x92, 0x2d, 0x28, 0xcf, 0x25, 0xbe, 0xd3, 0xb1, + 0xba, 0x95, 0x83, 0x87, 0x8e, 0x51, 0xdd, 0x29, 0x55, 0x77, 0x8e, 0x0b, 0xd5, 0xdd, 0x7a, 0xe1, + 0xe1, 0x1b, 0x07, 0xf4, 0x35, 0xd4, 0x58, 0x32, 0xcb, 0xa8, 0x10, 0x24, 0x8c, 0x03, 0x21, 0xf0, + 0xb6, 0x7e, 0x75, 0xb5, 0x00, 0xfb, 0x0a, 0x43, 0xcf, 0xa0, 0x51, 0x92, 0x94, 0x36, 0x2c, 0xa4, + 0x78, 0x47, 0xd3, 0xea, 0x05, 0xec, 0x19, 0x14, 0x2d, 0xe0, 0xc1, 0xa7, 0x68, 0x3c, 0x91, 0x19, + 0x8f, 0x63, 0x9a, 0x91, 0x05, 0x8f, 0x28, 0xbe, 0xdb, 0xb1, 0xba, 0xf5, 0x83, 0xef, 0x9c, 0x35, + 0x4d, 0xe2, 0x2c, 0x2b, 0xe7, 0x0c, 0x8b, 0xbc, 0x9f, 0xbc, 0xcf, 0x78, 0x44, 0xdd, 0x16, 0x5b, + 0x07, 0xa3, 0x31, 0x54, 0x82, 0x5c, 0xce, 0x8b, 0x2a, 0x60, 0xd0, 0x29, 0x9e, 0xdf, 0x94, 0xe2, + 0x28, 0x97, 0x73, 0x53, 0x9b, 0x97, 0x9b, 0xd8, 0x72, 0x21, 0xf8, 0x74, 0x46, 0x43, 0x68, 0x66, + 0x91, 0x20, 0x19, 0x9d, 0x66, 0x54, 0xcc, 0x49, 0x44, 0xe3, 0xe0, 0x03, 0xae, 0xdc, 0xa0, 0xa9, + 0x8e, 0xd2, 0xc8, 0x22, 0xe1, 0x1a, 0xb7, 0x63, 0xe5, 0x85, 0xbe, 0x81, 0x3a, 0x4d, 0x74, 0x8f, + 0xc8, 0x2c, 0x08, 0x59, 0x32, 0xc3, 0x55, 0xdd, 0x1d, 0x35, 0x83, 0xfa, 0x06, 0x54, 0xb5, 0x0e, + 0xc2, 0x50, 0x09, 0x16, 0xf3, 0x19, 0x99, 0xb2, 0x98, 0xe2, 0x9a, 0x96, 0xb6, 0x66, 0xe0, 0x11, + 0x9f, 0x9d, 0xb0, 0x98, 0xa2, 0x57, 0x50, 0x8f, 0xe8, 0x34, 0xc8, 0x63, 0x49, 0xcc, 0xd0, 0xe1, + 0xba, 0xbe, 0x56, 0x67, 0xed, 0x6b, 0x27, 0xaa, 0x4f, 0xcc, 0x73, 0xdd, 0x5a, 0xe1, 0x57, 0x8c, + 0xc6, 0x33, 0xa8, 0x99, 0x66, 0x0f, 0xa2, 0x48, 0x49, 0x8a, 0x6d, 0x95, 0x4e, 0xbf, 0xa1, 0xaa, + 0x0d, 0x47, 0x06, 0x47, 0xbf, 0xc2, 0x03, 0x9e, 0xcb, 0x4b, 0x9e, 0x27, 0x91, 0x7a, 0xc2, 0x74, + 0xca, 0xc2, 0x52, 0xe8, 0xa6, 0x4e, 0x7d, 0x63, 0x2d, 0xc7, 0x85, 0xbb, 0x6f, 0xbc, 0x57, 0x34, + 0x6f, 0xf1, 0x75, 0x26, 0x74, 0x0c, 0x5f, 0x15, 0x9a, 0x85, 0x31, 0xa3, 0x89, 0x24, 0x82, 0x45, + 0xd7, 0x67, 0x0c, 0xef, 0x6a, 0x11, 0x1f, 0x19, 0x5a, 0x5f, 0xb3, 0x3c, 0x16, 0xad, 0xce, 0x1a, + 0xea, 0x40, 0x55, 0x44, 0x82, 0xe4, 0x91, 0x20, 0x69, 0x20, 0xe7, 0xf8, 0x9e, 0xd6, 0x13, 0x44, + 0x24, 0x2e, 0x22, 0x31, 0x09, 0xe4, 0x5c, 0x95, 0x59, 0x7c, 0x51, 0xe6, 0xd6, 0x7f, 0x2a, 0xb3, + 0xf8, 0xac, 0xcc, 0xaf, 0xa1, 0x6e, 0xea, 0x41, 0x04, 0xcf, 0xb3, 0x90, 0x0a, 0x7c, 0xbf, 0x73, + 0xab, 0x5b, 0x39, 0x78, 0xb2, 0x56, 0x1c, 0x23, 0x8c, 0xa7, 0x99, 0x6e, 0x2d, 0x5c, 0x39, 0x09, + 0x74, 0x08, 0xf7, 0x8b, 0xc7, 0xab, 0xbb, 0x49, 0x7e, 0x45, 0x13, 0xb2, 0xe0, 0x79, 0x22, 0xf1, + 0x03, 0xb3, 0x56, 0x8c, 0xd5, 0x8b, 0x84, 0xaf, 0x6c, 0x67, 0xca, 0xa4, 0xd6, 0xca, 0x6a, 0xfb, + 0xf0, 0x6c, 0x11, 0x48, 0x8c, 0xf5, 0x83, 0x1b, 0xcb, 0x06, 0xd2, 0xb0, 0x4a, 0xb0, 0x2a, 0x25, + 0x99, 0x06, 0x2c, 0x26, 0x3c, 0xa5, 0x09, 0x7e, 0x68, 0x12, 0xa4, 0x4b, 0x11, 0x4f, 0x02, 0x16, + 0x8f, 0x53, 0x9a, 0xa0, 0x27, 0x50, 0x95, 0x59, 0x2e, 0x24, 0x89, 0xf8, 0x22, 0x60, 0x09, 0x6e, + 0xeb, 0xd8, 0x15, 0x8d, 0x1d, 0x6b, 0x08, 0x05, 0xb0, 0xbb, 0x72, 0x07, 0x9a, 0x84, 0x3c, 0x52, + 0xed, 0xfe, 0x48, 0x4f, 0xe3, 0x8b, 0x1b, 0xa7, 0xb1, 0xbc, 0xe5, 0xa0, 0x70, 0x74, 0x9b, 0xc1, + 0xe7, 0x10, 0xe2, 0x50, 0x93, 0x61, 0x4a, 0xae, 0x28, 0x4d, 0x83, 0x98, 0xbd, 0xa3, 0xf8, 0xb1, + 0x2e, 0xd6, 0x69, 0x11, 0x7c, 0xf9, 0xa1, 0x28, 0x53, 0x1c, 0x2a, 0xa9, 0xd5, 0x9e, 0x63, 0x3c, + 0x99, 0x70, 0x1e, 0x7b, 0x54, 0x4a, 0x96, 0xcc, 0x84, 0xe3, 0xf7, 0x27, 0xcb, 0xdf, 0x61, 0xfa, + 0x63, 0x19, 0xd1, 0xad, 0xca, 0x95, 0x53, 0xfb, 0x0f, 0x0b, 0x5a, 0x6b, 0xdb, 0x17, 0xb9, 0xb0, + 0xa5, 0xf7, 0x99, 0xa5, 0x9f, 0xf7, 0xc3, 0xff, 0x9a, 0x01, 0x47, 0x6d, 0x2f, 0xdd, 0x4f, 0x3a, + 0xd6, 0xfe, 0x39, 0x6c, 0xe9, 0x7d, 0xd6, 0x82, 0x9a, 0x3b, 0x78, 0x35, 0xf4, 0x7c, 0xf7, 0x2d, + 0x19, 0x9f, 0x8f, 0xde, 0xda, 0x1b, 0xed, 0xcd, 0x1d, 0x0b, 0x35, 0xe1, 0xee, 0xd1, 0x68, 0x34, + 0xfe, 0x89, 0x1c, 0x9d, 0xbf, 0xb5, 0x2d, 0x0d, 0x3d, 0x86, 0x7b, 0x6f, 0x86, 0xae, 0x7f, 0x71, + 0x34, 0x22, 0xde, 0xc0, 0x7d, 0x33, 0xec, 0x0f, 0x8c, 0xc3, 0xa6, 0xb2, 0xee, 0x7f, 0x0f, 0xad, + 0xb5, 0x7b, 0x14, 0x6d, 0xc3, 0xad, 0xf1, 0xc9, 0x89, 0xbd, 0x81, 0x2a, 0xb0, 0x7d, 0x3c, 0x38, + 0x39, 0xba, 0x18, 0xf9, 0xb6, 0x85, 0x00, 0xee, 0x78, 0xbe, 0x3b, 0xec, 0xfb, 0xf6, 0xe6, 0xfe, + 0x53, 0x80, 0xe5, 0x7e, 0x44, 0x3b, 0xb0, 0x75, 0x3e, 0x3e, 0x1f, 0xd8, 0x1b, 0xa8, 0x0e, 0x70, + 0x76, 0xa1, 0xf3, 0xf9, 0x23, 0xcf, 0xb6, 0xf6, 0x9f, 0x41, 0xf3, 0x8b, 0xca, 0x29, 0xba, 0x3f, + 0xf8, 0xd9, 0xb7, 0x37, 0xd4, 0xaf, 0x53, 0x6f, 0x7c, 0x6e, 0x5b, 0xa7, 0x5b, 0x3b, 0x0d, 0xdb, + 0x3e, 0xdd, 0xda, 0x41, 0xf6, 0xee, 0xbe, 0x80, 0xea, 0xea, 0x04, 0x20, 0x0c, 0xdb, 0xe5, 0x16, + 0x32, 0xdf, 0xe6, 0xf2, 0x88, 0x86, 0x50, 0x95, 0xb1, 0xfa, 0xda, 0x98, 0x52, 0xe9, 0x6f, 0x71, + 0xe5, 0xe0, 0xe9, 0xbf, 0xd4, 0xdb, 0x1f, 0x79, 0x65, 0x61, 0xdd, 0x8a, 0x8c, 0x45, 0x79, 0x78, + 0xd9, 0xfd, 0xf3, 0xe3, 0x9e, 0xf5, 0xd7, 0xc7, 0x3d, 0xeb, 0xef, 0x8f, 0x7b, 0xd6, 0x2f, 0x6d, + 0x13, 0x81, 0xf1, 0x5e, 0x90, 0xb2, 0xde, 0xb5, 0x3f, 0x1f, 0x97, 0x77, 0xf4, 0xcc, 0x1f, 0xfe, + 0x13, 0x00, 0x00, 0xff, 0xff, 0x42, 0x10, 0x6c, 0xd1, 0xe5, 0x08, 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index 952501f6d5..4a19be15ce 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -71,6 +71,9 @@ message MeshConfig { // Connection timeout used by Envoy. (MUST BE >=1ms) google.protobuf.Duration connect_timeout = 6; + // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. + istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive tcp_keepalive = 28; + // Class of ingress resources to be processed by Istio ingress // controller. This corresponds to the value of // "kubernetes.io/ingress.class" annotation. @@ -197,7 +200,7 @@ message MeshConfig { string trust_domain = 26; // $hide_from_docs - // Next available field number: 28 + // Next available field number: 29 } // ConfigSource describes information about a configuration store inside a diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 2e6b034417..77ddc649ac 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -171,6 +171,14 @@

MeshConfig

Connection timeout used by Envoy. (MUST BE >=1ms)

+ + + +tcpKeepalive +istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive + +

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

+ diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 5e36f5a482..f7d392d8a5 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -869,6 +869,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *time.Durati // tcp: // maxConnections: 100 // connectTimeout: 30ms +// tcpKeepalive: +// time: 7200s +// interval: 75s // ``` type ConnectionPoolSettings struct { // Settings common to both HTTP and TCP upstream connections. @@ -904,6 +907,8 @@ type ConnectionPoolSettings_TCPSettings struct { MaxConnections int32 `protobuf:"varint,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` // TCP connection timeout. ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` + // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. + TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` } func (m *ConnectionPoolSettings_TCPSettings) Reset() { *m = ConnectionPoolSettings_TCPSettings{} } @@ -927,6 +932,61 @@ func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *google_protobu return nil } +func (m *ConnectionPoolSettings_TCPSettings) GetTcpKeepalive() *ConnectionPoolSettings_TCPSettings_TcpKeepalive { + if m != nil { + return m.TcpKeepalive + } + return nil +} + +// TCP keepalive. +type ConnectionPoolSettings_TCPSettings_TcpKeepalive struct { + // Maximum number of keepalive probes to send without response before + // deciding the connection is dead. Default is to use the OS level configuration + // (unless overridden, Linux defaults to 9.) + Probes uint32 `protobuf:"varint,1,opt,name=probes,proto3" json:"probes,omitempty"` + // The time duration a connection needs to be idle before keep-alive + // probes start being sent. Default is to use the OS level configuration + // (unless overridden, Linux defaults to 7200s (ie 2 hours.) + Time *google_protobuf.Duration `protobuf:"bytes,2,opt,name=time" json:"time,omitempty"` + // The time duration between keep-alive probes. + // Default is to use the OS level configuration + // (unless overridden, Linux defaults to 75s.) + Interval *google_protobuf.Duration `protobuf:"bytes,3,opt,name=interval" json:"interval,omitempty"` +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Reset() { + *m = ConnectionPoolSettings_TCPSettings_TcpKeepalive{} +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) String() string { + return proto.CompactTextString(m) +} +func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoMessage() {} +func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Descriptor() ([]byte, []int) { + return fileDescriptorDestinationRule, []int{4, 0, 0} +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 { + if m != nil { + return m.Probes + } + return 0 +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *google_protobuf.Duration { + if m != nil { + return m.Time + } + return nil +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *google_protobuf.Duration { + if m != nil { + return m.Interval + } + return nil +} + // Settings applicable to HTTP1.1/HTTP2/GRPC connections. type ConnectionPoolSettings_HTTPSettings struct { // Maximum number of pending HTTP requests to a destination. Default 1024. @@ -1211,6 +1271,7 @@ func init() { proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB_HTTPCookie)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie") proto.RegisterType((*ConnectionPoolSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings") proto.RegisterType((*ConnectionPoolSettings_TCPSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings") + proto.RegisterType((*ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive") proto.RegisterType((*ConnectionPoolSettings_HTTPSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings") proto.RegisterType((*OutlierDetection)(nil), "istio.networking.v1alpha3.OutlierDetection") proto.RegisterType((*TLSSettings)(nil), "istio.networking.v1alpha3.TLSSettings") @@ -1670,6 +1731,59 @@ func (m *ConnectionPoolSettings_TCPSettings) MarshalTo(dAtA []byte) (int, error) } i += n19 } + if m.TcpKeepalive != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(m.TcpKeepalive.Size())) + n20, err := m.TcpKeepalive.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n20 + } + return i, nil +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Probes != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(m.Probes)) + } + if m.Time != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(m.Time.Size())) + n21, err := m.Time.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n21 + } + if m.Interval != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(m.Interval.Size())) + n22, err := m.Interval.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n22 + } return i, nil } @@ -1735,21 +1849,21 @@ func (m *OutlierDetection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.Interval.Size())) - n20, err := m.Interval.MarshalTo(dAtA[i:]) + n23, err := m.Interval.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n20 + i += n23 } if m.BaseEjectionTime != nil { dAtA[i] = 0x1a i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.BaseEjectionTime.Size())) - n21, err := m.BaseEjectionTime.MarshalTo(dAtA[i:]) + n24, err := m.BaseEjectionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n21 + i += n24 } if m.MaxEjectionPercent != 0 { dAtA[i] = 0x20 @@ -2031,6 +2145,27 @@ func (m *ConnectionPoolSettings_TCPSettings) Size() (n int) { l = m.ConnectTimeout.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.TcpKeepalive != nil { + l = m.TcpKeepalive.Size() + n += 1 + l + sovDestinationRule(uint64(l)) + } + return n +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int) { + var l int + _ = l + if m.Probes != 0 { + n += 1 + sovDestinationRule(uint64(m.Probes)) + } + if m.Time != nil { + l = m.Time.Size() + n += 1 + l + sovDestinationRule(uint64(l)) + } + if m.Interval != nil { + l = m.Interval.Size() + n += 1 + l + sovDestinationRule(uint64(l)) + } return n } @@ -3511,6 +3646,174 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TcpKeepalive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthDestinationRule + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TcpKeepalive == nil { + m.TcpKeepalive = &ConnectionPoolSettings_TCPSettings_TcpKeepalive{} + } + if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipDestinationRule(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthDestinationRule + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: TcpKeepalive: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TcpKeepalive: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Probes", wireType) + } + m.Probes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Probes |= (uint32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthDestinationRule + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Time == nil { + m.Time = &google_protobuf.Duration{} + } + if err := m.Time.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Interval", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthDestinationRule + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Interval == nil { + m.Interval = &google_protobuf.Duration{} + } + if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipDestinationRule(dAtA[iNdEx:]) @@ -4155,87 +4458,92 @@ func init() { } var fileDescriptorDestinationRule = []byte{ - // 1312 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6e, 0x1b, 0x37, - 0x13, 0xb7, 0xfe, 0xc6, 0x1e, 0xc5, 0xb2, 0xcc, 0xcf, 0xf8, 0x3e, 0x45, 0x1f, 0xe0, 0xb8, 0x42, - 0xd1, 0xb8, 0x69, 0xb3, 0xaa, 0x1d, 0x14, 0x48, 0x13, 0xa4, 0x88, 0x65, 0x0b, 0x91, 0x11, 0xd9, - 0x12, 0xb8, 0x32, 0x50, 0xe4, 0xb2, 0xa0, 0x56, 0xb4, 0xc4, 0x78, 0x77, 0xb9, 0x25, 0xb9, 0xaa, - 0x9d, 0xf7, 0x68, 0xd1, 0x6b, 0x2f, 0x7d, 0x81, 0xbe, 0x44, 0xd1, 0x53, 0xaf, 0xed, 0xa5, 0x45, - 0x5e, 0xa0, 0xa7, 0xde, 0x0b, 0x72, 0x77, 0x25, 0x39, 0x71, 0x9c, 0x18, 0x69, 0x6e, 0x5c, 0xce, - 0xfc, 0x7e, 0x33, 0xe4, 0x0c, 0x7f, 0x23, 0xc1, 0xed, 0x80, 0xaa, 0x6f, 0xb8, 0x38, 0x61, 0xc1, - 0xa8, 0x31, 0xd9, 0x22, 0x5e, 0x38, 0x26, 0x77, 0x1b, 0x43, 0x2a, 0x15, 0x0b, 0x88, 0x62, 0x3c, - 0x70, 0x44, 0xe4, 0x51, 0x2b, 0x14, 0x5c, 0x71, 0x74, 0x83, 0x49, 0xc5, 0xb8, 0x35, 0x43, 0x58, - 0x29, 0xa2, 0xb6, 0x3e, 0xe2, 0x7c, 0xe4, 0xd1, 0x86, 0x71, 0x1c, 0x44, 0xc7, 0x8d, 0x61, 0x24, - 0x0c, 0x3e, 0x86, 0xd6, 0x3e, 0xbe, 0x28, 0xcc, 0x84, 0x09, 0x15, 0x11, 0xcf, 0x91, 0x54, 0x4c, - 0x98, 0x9b, 0x44, 0xa9, 0xad, 0x8d, 0xf8, 0x88, 0x9b, 0x65, 0x43, 0xaf, 0xe2, 0xdd, 0xfa, 0x4f, - 0x19, 0x58, 0xd9, 0x9b, 0xa5, 0x85, 0x23, 0x8f, 0x22, 0x04, 0xf9, 0x31, 0x97, 0xaa, 0x9a, 0xd9, - 0xc8, 0x6c, 0x2e, 0x61, 0xb3, 0x46, 0x5d, 0x28, 0x2b, 0x41, 0x8e, 0x8f, 0x99, 0xeb, 0x84, 0xdc, - 0x63, 0xee, 0x59, 0x35, 0xbb, 0x91, 0xd9, 0x2c, 0x6d, 0x6f, 0x5a, 0xaf, 0x4d, 0xde, 0xea, 0xc7, - 0x80, 0x9e, 0xf1, 0xc7, 0xcb, 0x6a, 0xfe, 0x13, 0x3d, 0x80, 0x6b, 0x32, 0x1a, 0x48, 0xaa, 0x64, - 0x35, 0xb7, 0x91, 0xdb, 0x2c, 0x6d, 0x7f, 0x70, 0x09, 0x93, 0x6d, 0x3c, 0x71, 0x8a, 0xa8, 0xff, - 0x5e, 0x84, 0xe5, 0x73, 0xec, 0xa8, 0x0f, 0xcb, 0x1e, 0x27, 0x43, 0x67, 0x40, 0x3c, 0x12, 0xb8, - 0x54, 0x98, 0xe4, 0x4b, 0xdb, 0x8d, 0x4b, 0x48, 0x3b, 0x9c, 0x0c, 0x9b, 0x89, 0xbb, 0x4d, 0x95, - 0x62, 0xc1, 0x48, 0xe2, 0xeb, 0xde, 0xdc, 0x2e, 0x7a, 0x0a, 0x2b, 0x2e, 0x0f, 0x02, 0xea, 0x9a, - 0x92, 0x85, 0x9c, 0x7b, 0xc9, 0xb1, 0xb7, 0x2e, 0xe1, 0xdd, 0x9d, 0x22, 0x7a, 0x9c, 0x7b, 0x53, - 0xe6, 0xb2, 0x7b, 0x6e, 0x1f, 0x7d, 0x05, 0xab, 0x3c, 0x52, 0x1e, 0xa3, 0xc2, 0x19, 0x52, 0x15, - 0x1b, 0xaa, 0x39, 0xc3, 0xfe, 0xc9, 0x25, 0xec, 0xdd, 0x18, 0xb3, 0x97, 0x42, 0x70, 0x85, 0xbf, - 0xb4, 0x83, 0xee, 0x41, 0x4e, 0x79, 0xb2, 0x9a, 0x37, 0x5c, 0x1f, 0x5d, 0x56, 0xa0, 0x8e, 0x3d, - 0x4d, 0x4f, 0x43, 0xd0, 0x33, 0xf8, 0x4f, 0xc8, 0x85, 0x72, 0x3c, 0x3a, 0xa1, 0xba, 0x7f, 0x62, - 0x5b, 0xb5, 0x60, 0x0a, 0x74, 0xff, 0x6d, 0x4b, 0x6d, 0xf5, 0xb8, 0x50, 0xe7, 0x8b, 0xbf, 0xaa, - 0x69, 0x3b, 0x9a, 0x35, 0x0d, 0x58, 0xfb, 0x2e, 0x07, 0xab, 0xaf, 0x38, 0xa2, 0x07, 0x90, 0xd7, - 0xae, 0x49, 0xf9, 0x6e, 0x5d, 0x12, 0x52, 0x63, 0x6d, 0xea, 0x51, 0x57, 0x71, 0x81, 0x0d, 0xe8, - 0xd5, 0x26, 0xc8, 0xbe, 0xa7, 0x26, 0xc8, 0xbd, 0xd7, 0x26, 0xc8, 0xff, 0x8b, 0x4d, 0x50, 0xb8, - 0x72, 0x13, 0xd4, 0xff, 0xca, 0x40, 0x31, 0x7e, 0x70, 0x5a, 0x09, 0x02, 0xe2, 0xd3, 0x54, 0x09, - 0xf4, 0x1a, 0xb5, 0xa0, 0xe8, 0x91, 0x01, 0xf5, 0x64, 0x35, 0x6b, 0xda, 0xe2, 0xce, 0x1b, 0xdf, - 0xad, 0xd5, 0x31, 0xfe, 0xad, 0x40, 0x89, 0x33, 0x9c, 0x80, 0x2f, 0x10, 0x94, 0xdc, 0x3b, 0x09, - 0x4a, 0xed, 0x0b, 0x28, 0xcd, 0xc5, 0x41, 0x15, 0xc8, 0x9d, 0xd0, 0xb3, 0x24, 0x73, 0xbd, 0x44, - 0x6b, 0x50, 0x98, 0x10, 0x2f, 0xa2, 0xa6, 0x2b, 0x96, 0x70, 0xfc, 0x71, 0x3f, 0x7b, 0x2f, 0x53, - 0xff, 0xb1, 0x00, 0x6b, 0x17, 0x35, 0x02, 0xc2, 0x50, 0x94, 0xcc, 0x0f, 0xbd, 0xf8, 0x06, 0xca, - 0xdb, 0xf7, 0xae, 0xd8, 0x49, 0x96, 0x6d, 0xd0, 0x9d, 0x66, 0x7b, 0x01, 0x27, 0x4c, 0xe8, 0xc4, - 0xb4, 0x93, 0x64, 0x52, 0xd1, 0x40, 0x39, 0x63, 0x22, 0xc7, 0x49, 0x9b, 0x3e, 0xba, 0x2a, 0xf9, - 0xee, 0x94, 0xa6, 0x4d, 0xe4, 0xd8, 0x04, 0x29, 0xbb, 0xe7, 0xf6, 0x6a, 0x7f, 0x67, 0xa1, 0xf2, - 0xb2, 0x1b, 0xba, 0x0d, 0x95, 0xb1, 0x52, 0xa1, 0x33, 0xa6, 0x64, 0x48, 0x85, 0x33, 0xab, 0xb0, - 0x26, 0xd0, 0x96, 0xb6, 0x31, 0x1c, 0xea, 0x6a, 0x07, 0x50, 0x32, 0xbe, 0x2e, 0xe7, 0x27, 0x8c, - 0x26, 0x99, 0x3e, 0x79, 0xd7, 0x4c, 0xad, 0x76, 0xbf, 0xdf, 0xdb, 0x35, 0x94, 0xed, 0x05, 0x0c, - 0x3a, 0x42, 0xfc, 0x85, 0x3e, 0x84, 0xe5, 0x48, 0x52, 0x47, 0xf2, 0x48, 0xb8, 0xd4, 0x61, 0xa1, - 0xe9, 0x8a, 0xc5, 0xf6, 0x02, 0x2e, 0x45, 0x92, 0xda, 0x66, 0x77, 0x3f, 0x44, 0xb7, 0x61, 0xd5, - 0x67, 0x01, 0xf3, 0x23, 0xdf, 0x11, 0x2c, 0x18, 0x39, 0x92, 0x3d, 0xa7, 0xe6, 0xd9, 0xe4, 0xf1, - 0x4a, 0x62, 0xc0, 0x2c, 0x18, 0xd9, 0xec, 0x39, 0xad, 0x8d, 0x00, 0x66, 0xd1, 0x2e, 0xec, 0x68, - 0x04, 0xf9, 0x90, 0xa8, 0x71, 0xd2, 0x17, 0x66, 0x8d, 0xb6, 0x20, 0xa7, 0x54, 0xfa, 0xd0, 0x6f, - 0x58, 0xf1, 0x18, 0xb6, 0xd2, 0x31, 0x6c, 0xed, 0x25, 0x63, 0xb8, 0x99, 0xff, 0xfe, 0x8f, 0x9b, - 0x19, 0xac, 0x7d, 0x9b, 0x00, 0x8b, 0xba, 0x9a, 0xce, 0x09, 0x3d, 0xab, 0xb7, 0x61, 0x31, 0x2d, - 0x3d, 0x5a, 0x81, 0x12, 0xee, 0x1e, 0x1d, 0xee, 0x39, 0xb8, 0xdb, 0xdc, 0x3f, 0xac, 0x2c, 0xa0, - 0x32, 0x40, 0xa7, 0xb5, 0x63, 0xf7, 0x9d, 0xdd, 0xee, 0xe1, 0x61, 0x25, 0x83, 0x00, 0x8a, 0x78, - 0xe7, 0x70, 0xaf, 0x7b, 0x50, 0xc9, 0x6a, 0xe7, 0xde, 0x8e, 0x6d, 0xf7, 0xdb, 0xb8, 0x7b, 0xf4, - 0xb8, 0x5d, 0xc9, 0x35, 0x4b, 0xb0, 0xe4, 0x0d, 0x92, 0x27, 0x52, 0xff, 0x36, 0x0f, 0xff, 0xbd, - 0x58, 0x59, 0x50, 0x17, 0x72, 0xca, 0x0d, 0x13, 0xdd, 0x7c, 0x78, 0x65, 0x65, 0xb2, 0xfa, 0xbb, - 0xbd, 0x39, 0x19, 0x70, 0x43, 0x84, 0x21, 0xaf, 0xeb, 0x92, 0x94, 0xfc, 0xcb, 0xab, 0x33, 0xea, - 0x5b, 0x9f, 0x52, 0x1a, 0xae, 0xda, 0x73, 0x28, 0xcd, 0xc5, 0x41, 0xb7, 0x60, 0xc5, 0x27, 0xa7, - 0xce, 0x4c, 0x13, 0xa5, 0xc9, 0xbf, 0x80, 0xcb, 0x3e, 0x39, 0x9d, 0xb1, 0x4a, 0xd4, 0x9c, 0x4a, - 0xb0, 0xa3, 0x98, 0x4f, 0x79, 0xa4, 0x92, 0xb4, 0x5e, 0x5f, 0x99, 0xa9, 0xd4, 0xf6, 0x63, 0x40, - 0xed, 0xb7, 0x0c, 0x5c, 0x9f, 0x4f, 0x09, 0x3d, 0x80, 0x9a, 0x4e, 0x6a, 0xcb, 0xd1, 0x39, 0x84, - 0x34, 0x18, 0xea, 0x4e, 0x12, 0xf4, 0xeb, 0x88, 0x4a, 0x95, 0x26, 0xf2, 0x3f, 0xe3, 0x71, 0x40, - 0x4e, 0x7b, 0xb1, 0x1d, 0x27, 0x66, 0xf4, 0x29, 0x20, 0x6d, 0xda, 0x36, 0xe0, 0x29, 0x28, 0x6b, - 0x40, 0xe6, 0x75, 0x6d, 0x1f, 0x90, 0xd3, 0xa9, 0xf7, 0x43, 0xf8, 0xff, 0xbc, 0x9f, 0x13, 0x52, - 0x31, 0x77, 0x6a, 0xd3, 0x65, 0x05, 0x5c, 0xf5, 0x67, 0x88, 0x1e, 0x15, 0xb3, 0xf3, 0xa3, 0x9b, - 0x50, 0x8a, 0xe1, 0x4a, 0x30, 0x1a, 0x0f, 0xf6, 0x02, 0x06, 0xe3, 0x6e, 0x76, 0xea, 0x3f, 0x64, - 0xa1, 0xf2, 0xf2, 0x4c, 0x40, 0x77, 0x00, 0x69, 0x35, 0xa0, 0x6e, 0xa4, 0xd8, 0x84, 0x3a, 0x54, - 0x08, 0x2e, 0xd2, 0x73, 0xad, 0xce, 0x59, 0x5a, 0xc6, 0x80, 0x3e, 0x87, 0x45, 0x16, 0x28, 0x2a, - 0x26, 0xc4, 0x7b, 0xf3, 0xe5, 0x4e, 0x5d, 0xd1, 0x63, 0x40, 0x03, 0x22, 0xa9, 0x43, 0x9f, 0x25, - 0x03, 0x52, 0x17, 0xe8, 0x8d, 0xef, 0x06, 0x57, 0x34, 0xa8, 0x95, 0x60, 0x74, 0x89, 0xd0, 0x67, - 0xb0, 0xa6, 0x0f, 0x39, 0xe5, 0x09, 0xa9, 0x70, 0x69, 0xa0, 0x92, 0xd3, 0x22, 0x9f, 0x9c, 0xa6, - 0xee, 0xbd, 0xd8, 0xa2, 0x6b, 0xe0, 0xb3, 0x40, 0xcb, 0x98, 0xa7, 0xc6, 0x53, 0xff, 0x42, 0x5c, - 0x03, 0x9f, 0x05, 0x6d, 0x63, 0x48, 0xbc, 0xeb, 0xbf, 0x64, 0xa1, 0x34, 0x37, 0xeb, 0x50, 0x13, - 0xf2, 0x3e, 0x1f, 0xa6, 0xca, 0x6e, 0xbd, 0xdd, 0x84, 0xd4, 0x6b, 0x8d, 0xc2, 0x06, 0x6b, 0xae, - 0xd8, 0x63, 0x5a, 0xc7, 0x5d, 0x2a, 0x14, 0x3b, 0x66, 0x2e, 0x51, 0xe9, 0x7c, 0x59, 0x8d, 0x2d, - 0xbb, 0x33, 0x83, 0xae, 0x63, 0x28, 0xd8, 0x84, 0x28, 0xaa, 0x45, 0xc2, 0x5c, 0xd2, 0x12, 0x86, - 0x64, 0xeb, 0x09, 0x3d, 0xd3, 0x0f, 0xc2, 0x25, 0xf3, 0x5c, 0x71, 0xb1, 0x97, 0x70, 0xd9, 0x25, - 0x73, 0x44, 0x52, 0x0b, 0xa0, 0x8c, 0x06, 0xfa, 0x3e, 0x1c, 0xe2, 0x29, 0x23, 0xe1, 0xf1, 0xcf, - 0xb4, 0x25, 0xbc, 0x92, 0x18, 0x76, 0x3c, 0xa5, 0x15, 0x5c, 0xea, 0x49, 0x28, 0x03, 0x56, 0x2d, - 0xc6, 0x93, 0x50, 0x06, 0xac, 0xfe, 0x08, 0xae, 0x25, 0xe7, 0x40, 0x25, 0xb8, 0xb6, 0xb7, 0x6f, - 0xef, 0x34, 0x3b, 0xad, 0xca, 0x82, 0x16, 0x22, 0x7b, 0xff, 0xa0, 0xd7, 0x69, 0xc5, 0xa2, 0x74, - 0x70, 0xd4, 0x3f, 0xda, 0xe9, 0x54, 0xb2, 0xa8, 0x02, 0xd7, 0xf7, 0xed, 0xfe, 0x7e, 0xd7, 0x49, - 0x76, 0x72, 0x4d, 0xeb, 0xe7, 0x17, 0xeb, 0x99, 0x5f, 0x5f, 0xac, 0x67, 0xfe, 0x7c, 0xb1, 0x9e, - 0x79, 0xba, 0x11, 0xdf, 0x1d, 0xe3, 0x0d, 0x12, 0xb2, 0xc6, 0x05, 0x7f, 0x49, 0x06, 0x45, 0xd3, - 0x01, 0x77, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x95, 0xd0, 0xbb, 0x17, 0x0d, 0x00, 0x00, + // 1379 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0x6e, 0x1b, 0xb7, + 0x16, 0xb6, 0x7e, 0x63, 0x1f, 0xf9, 0x47, 0xe6, 0x35, 0x72, 0x15, 0x5d, 0xc0, 0xf1, 0x15, 0x8a, + 0xc6, 0x4d, 0x9b, 0x51, 0xed, 0xa0, 0x40, 0x9a, 0x20, 0x45, 0x2c, 0xdb, 0x88, 0xdc, 0xc8, 0x96, + 0x40, 0xc9, 0x40, 0x91, 0xcd, 0x80, 0x1a, 0xd1, 0x12, 0xe3, 0xd1, 0x70, 0x4a, 0x72, 0x54, 0x3b, + 0xcf, 0xd0, 0x75, 0xd0, 0x6d, 0x37, 0x7d, 0x81, 0xbe, 0x44, 0xd1, 0x55, 0xb7, 0xed, 0xa6, 0x45, + 0x5e, 0xa0, 0xab, 0x6e, 0xba, 0x2a, 0xc8, 0xe1, 0x48, 0x72, 0xe2, 0xd8, 0x31, 0xd2, 0xec, 0x38, + 0x3c, 0xe7, 0xfb, 0x48, 0x9e, 0xef, 0xf0, 0x1c, 0x0e, 0xdc, 0x0e, 0xa8, 0xfa, 0x86, 0x8b, 0x63, + 0x16, 0xf4, 0xab, 0xa3, 0x0d, 0xe2, 0x87, 0x03, 0x72, 0xb7, 0xda, 0xa3, 0x52, 0xb1, 0x80, 0x28, + 0xc6, 0x03, 0x57, 0x44, 0x3e, 0x75, 0x42, 0xc1, 0x15, 0x47, 0x37, 0x98, 0x54, 0x8c, 0x3b, 0x13, + 0x84, 0x93, 0x20, 0xca, 0xab, 0x7d, 0xce, 0xfb, 0x3e, 0xad, 0x1a, 0xc7, 0x6e, 0x74, 0x54, 0xed, + 0x45, 0xc2, 0xe0, 0x63, 0x68, 0xf9, 0xa3, 0xf3, 0x96, 0x19, 0x31, 0xa1, 0x22, 0xe2, 0xbb, 0x92, + 0x8a, 0x11, 0xf3, 0xec, 0x2a, 0xe5, 0x95, 0x3e, 0xef, 0x73, 0x33, 0xac, 0xea, 0x51, 0x3c, 0x5b, + 0xf9, 0x31, 0x05, 0x4b, 0x3b, 0x93, 0x6d, 0xe1, 0xc8, 0xa7, 0x08, 0x41, 0x76, 0xc0, 0xa5, 0x2a, + 0xa5, 0xd6, 0x52, 0xeb, 0x73, 0xd8, 0x8c, 0x51, 0x13, 0x16, 0x95, 0x20, 0x47, 0x47, 0xcc, 0x73, + 0x43, 0xee, 0x33, 0xef, 0xb4, 0x94, 0x5e, 0x4b, 0xad, 0x17, 0x36, 0xd7, 0x9d, 0x37, 0x6e, 0xde, + 0xe9, 0xc4, 0x80, 0x96, 0xf1, 0xc7, 0x0b, 0x6a, 0xfa, 0x13, 0x3d, 0x80, 0x6b, 0x32, 0xea, 0x4a, + 0xaa, 0x64, 0x29, 0xb3, 0x96, 0x59, 0x2f, 0x6c, 0xfe, 0xff, 0x02, 0xa6, 0xb6, 0xf1, 0xc4, 0x09, + 0xa2, 0xf2, 0x5b, 0x1e, 0x16, 0xce, 0xb0, 0xa3, 0x0e, 0x2c, 0xf8, 0x9c, 0xf4, 0xdc, 0x2e, 0xf1, + 0x49, 0xe0, 0x51, 0x61, 0x36, 0x5f, 0xd8, 0xac, 0x5e, 0x40, 0xda, 0xe0, 0xa4, 0x57, 0xb3, 0xee, + 0x6d, 0xaa, 0x14, 0x0b, 0xfa, 0x12, 0xcf, 0xfb, 0x53, 0xb3, 0xe8, 0x29, 0x2c, 0x79, 0x3c, 0x08, + 0xa8, 0x67, 0x24, 0x0b, 0x39, 0xf7, 0xed, 0xb1, 0x37, 0x2e, 0xe0, 0xdd, 0x1e, 0x23, 0x5a, 0x9c, + 0xfb, 0x63, 0xe6, 0x45, 0xef, 0xcc, 0x3c, 0xfa, 0x0a, 0x96, 0x79, 0xa4, 0x7c, 0x46, 0x85, 0xdb, + 0xa3, 0x2a, 0x36, 0x94, 0x32, 0x86, 0xfd, 0xe3, 0x0b, 0xd8, 0x9b, 0x31, 0x66, 0x27, 0x81, 0xe0, + 0x22, 0x7f, 0x65, 0x06, 0xdd, 0x83, 0x8c, 0xf2, 0x65, 0x29, 0x6b, 0xb8, 0x3e, 0xbc, 0x48, 0xa0, + 0x46, 0x7b, 0xbc, 0x3d, 0x0d, 0x41, 0xcf, 0xe0, 0x3f, 0x21, 0x17, 0xca, 0xf5, 0xe9, 0x88, 0xea, + 0xfc, 0x89, 0x6d, 0xa5, 0x9c, 0x11, 0xe8, 0xfe, 0xdb, 0x4a, 0xed, 0xb4, 0xb8, 0x50, 0x67, 0xc5, + 0x5f, 0xd6, 0xb4, 0x0d, 0xcd, 0x9a, 0x2c, 0x58, 0x7e, 0x91, 0x81, 0xe5, 0xd7, 0x1c, 0xd1, 0x03, + 0xc8, 0x6a, 0x57, 0x2b, 0xdf, 0xad, 0x0b, 0x96, 0xd4, 0xd8, 0x36, 0xf5, 0xa9, 0xa7, 0xb8, 0xc0, + 0x06, 0xf4, 0x7a, 0x12, 0xa4, 0xdf, 0x53, 0x12, 0x64, 0xde, 0x6b, 0x12, 0x64, 0xff, 0xc5, 0x24, + 0xc8, 0x5d, 0x39, 0x09, 0x2a, 0x7f, 0xa6, 0x20, 0x1f, 0x5f, 0x38, 0x5d, 0x09, 0x02, 0x32, 0xa4, + 0x49, 0x25, 0xd0, 0x63, 0xb4, 0x0b, 0x79, 0x9f, 0x74, 0xa9, 0x2f, 0x4b, 0x69, 0x93, 0x16, 0x77, + 0x2e, 0xbd, 0xb7, 0x4e, 0xc3, 0xf8, 0xef, 0x06, 0x4a, 0x9c, 0x62, 0x0b, 0x3e, 0xa7, 0xa0, 0x64, + 0xde, 0xa9, 0xa0, 0x94, 0x3f, 0x87, 0xc2, 0xd4, 0x3a, 0xa8, 0x08, 0x99, 0x63, 0x7a, 0x6a, 0x77, + 0xae, 0x87, 0x68, 0x05, 0x72, 0x23, 0xe2, 0x47, 0xd4, 0x64, 0xc5, 0x1c, 0x8e, 0x3f, 0xee, 0xa7, + 0xef, 0xa5, 0x2a, 0x3f, 0xe4, 0x60, 0xe5, 0xbc, 0x44, 0x40, 0x18, 0xf2, 0x92, 0x0d, 0x43, 0x3f, + 0x8e, 0xc0, 0xe2, 0xe6, 0xbd, 0x2b, 0x66, 0x92, 0xd3, 0x36, 0xe8, 0x46, 0xad, 0x3e, 0x83, 0x2d, + 0x13, 0x3a, 0x36, 0xe9, 0x24, 0x99, 0x54, 0x34, 0x50, 0xee, 0x80, 0xc8, 0x81, 0x4d, 0xd3, 0x47, + 0x57, 0x25, 0xdf, 0x1e, 0xd3, 0xd4, 0x89, 0x1c, 0x98, 0x45, 0x16, 0xbd, 0x33, 0x73, 0xe5, 0xbf, + 0xd2, 0x50, 0x7c, 0xd5, 0x0d, 0xdd, 0x86, 0xe2, 0x40, 0xa9, 0xd0, 0x1d, 0x50, 0xd2, 0xa3, 0xc2, + 0x9d, 0x28, 0xac, 0x09, 0xb4, 0xa5, 0x6e, 0x0c, 0x07, 0x5a, 0xed, 0x00, 0x0a, 0xc6, 0xd7, 0xe3, + 0xfc, 0x98, 0x51, 0xbb, 0xd3, 0x27, 0xef, 0xba, 0x53, 0xa7, 0xde, 0xe9, 0xb4, 0xb6, 0x0d, 0x65, + 0x7d, 0x06, 0x83, 0x5e, 0x21, 0xfe, 0x42, 0x1f, 0xc0, 0x42, 0x24, 0xa9, 0x2b, 0x79, 0x24, 0x3c, + 0xea, 0xb2, 0xd0, 0x64, 0xc5, 0x6c, 0x7d, 0x06, 0x17, 0x22, 0x49, 0xdb, 0x66, 0x76, 0x2f, 0x44, + 0xb7, 0x61, 0x79, 0xc8, 0x02, 0x36, 0x8c, 0x86, 0xae, 0x60, 0x41, 0xdf, 0x95, 0xec, 0x39, 0x35, + 0xd7, 0x26, 0x8b, 0x97, 0xac, 0x01, 0xb3, 0xa0, 0xdf, 0x66, 0xcf, 0x69, 0xb9, 0x0f, 0x30, 0x59, + 0xed, 0xdc, 0x8c, 0x46, 0x90, 0x0d, 0x89, 0x1a, 0xd8, 0xbc, 0x30, 0x63, 0xb4, 0x01, 0x19, 0xa5, + 0x92, 0x8b, 0x7e, 0xc3, 0x89, 0xdb, 0xb0, 0x93, 0xb4, 0x61, 0x67, 0xc7, 0xb6, 0xe1, 0x5a, 0xf6, + 0xbb, 0xdf, 0x6f, 0xa6, 0xb0, 0xf6, 0xad, 0x01, 0xcc, 0x6a, 0x35, 0xdd, 0x63, 0x7a, 0x5a, 0xa9, + 0xc3, 0x6c, 0x22, 0x3d, 0x5a, 0x82, 0x02, 0x6e, 0x1e, 0x1e, 0xec, 0xb8, 0xb8, 0x59, 0xdb, 0x3b, + 0x28, 0xce, 0xa0, 0x45, 0x80, 0xc6, 0xee, 0x56, 0xbb, 0xe3, 0x6e, 0x37, 0x0f, 0x0e, 0x8a, 0x29, + 0x04, 0x90, 0xc7, 0x5b, 0x07, 0x3b, 0xcd, 0xfd, 0x62, 0x5a, 0x3b, 0xb7, 0xb6, 0xda, 0xed, 0x4e, + 0x1d, 0x37, 0x0f, 0x1f, 0xd7, 0x8b, 0x99, 0x5a, 0x01, 0xe6, 0xfc, 0xae, 0xbd, 0x22, 0x95, 0x17, + 0x79, 0xb8, 0x7e, 0x7e, 0x65, 0x41, 0x4d, 0xc8, 0x28, 0x2f, 0xb4, 0x75, 0xf3, 0xe1, 0x95, 0x2b, + 0x93, 0xd3, 0xd9, 0x6e, 0x4d, 0x95, 0x01, 0x2f, 0x44, 0x18, 0xb2, 0x5a, 0x17, 0x2b, 0xf9, 0x17, + 0x57, 0x67, 0xd4, 0x51, 0x1f, 0x53, 0x1a, 0xae, 0xf2, 0xdf, 0x69, 0x28, 0x4c, 0x2d, 0x84, 0x6e, + 0xc1, 0xd2, 0x90, 0x9c, 0xb8, 0x93, 0xa2, 0x28, 0xcd, 0x01, 0x72, 0x78, 0x71, 0x48, 0x4e, 0x26, + 0xb4, 0x12, 0xd5, 0xc6, 0x35, 0xd8, 0x55, 0x6c, 0x48, 0x79, 0xa4, 0xec, 0xbe, 0xde, 0x2c, 0xcd, + 0xb8, 0xd6, 0x76, 0x62, 0x00, 0xe2, 0xb0, 0xa0, 0xbc, 0xd0, 0x3d, 0xa6, 0x34, 0x24, 0x3e, 0x1b, + 0x51, 0x2b, 0xee, 0x97, 0xef, 0x14, 0x2b, 0xa7, 0xe3, 0x85, 0x4f, 0x12, 0x46, 0x3c, 0xaf, 0xa6, + 0xbe, 0xca, 0xdf, 0xa6, 0x60, 0x7e, 0xda, 0x8c, 0xae, 0x43, 0x3e, 0x14, 0xbc, 0x4b, 0xe3, 0x53, + 0x2e, 0x60, 0xfb, 0x85, 0xee, 0x40, 0x56, 0x9f, 0xea, 0xf2, 0x23, 0x19, 0x37, 0xf4, 0x19, 0xcc, + 0xb2, 0x40, 0x51, 0x31, 0x22, 0x97, 0x27, 0x28, 0x1e, 0xbb, 0x96, 0x7f, 0x4d, 0xc1, 0xfc, 0xb4, + 0x26, 0xe8, 0x01, 0x94, 0xb5, 0x2a, 0x1b, 0xae, 0xd6, 0x20, 0xa4, 0x41, 0x4f, 0x5f, 0x25, 0x41, + 0xbf, 0x8e, 0xa8, 0x54, 0x89, 0x10, 0xff, 0x35, 0x1e, 0xfb, 0xe4, 0xa4, 0x15, 0xdb, 0xb1, 0x35, + 0xa3, 0x4f, 0x00, 0x69, 0xd3, 0xa6, 0x01, 0x8f, 0x41, 0x69, 0x03, 0x32, 0xe5, 0x65, 0x73, 0x9f, + 0x9c, 0x8c, 0xbd, 0x1f, 0xc2, 0xff, 0xa6, 0xfd, 0xdc, 0x90, 0x8a, 0x29, 0xd5, 0xcd, 0x29, 0x72, + 0xb8, 0x34, 0x9c, 0x20, 0x5a, 0x54, 0x4c, 0x82, 0x8f, 0x6e, 0x42, 0x21, 0x86, 0x2b, 0xc1, 0x68, + 0xfc, 0xb2, 0xc9, 0x61, 0x30, 0xee, 0x66, 0xa6, 0xf2, 0x7d, 0x1a, 0x8a, 0xaf, 0x36, 0x45, 0x74, + 0x07, 0x90, 0x2e, 0x87, 0xd4, 0x8b, 0x14, 0x1b, 0x51, 0x97, 0x0a, 0xc1, 0x45, 0x72, 0xae, 0xe5, + 0x29, 0xcb, 0xae, 0x31, 0x9c, 0x09, 0x6b, 0xfa, 0xad, 0xc3, 0x8a, 0x1e, 0x03, 0xea, 0x12, 0x49, + 0x5d, 0xfa, 0xcc, 0xbe, 0x10, 0x8c, 0x94, 0x97, 0xea, 0x52, 0xd4, 0xa0, 0x5d, 0x8b, 0xd1, 0x29, + 0x8a, 0x3e, 0x85, 0x15, 0x7d, 0xc8, 0x31, 0x4f, 0x48, 0x85, 0x47, 0x03, 0x65, 0x4f, 0x8b, 0x86, + 0xe4, 0x24, 0x71, 0x6f, 0xc5, 0x16, 0xad, 0xc1, 0x90, 0x05, 0xba, 0x8e, 0xfb, 0x6a, 0x30, 0xf6, + 0xcf, 0xc5, 0x1a, 0x0c, 0x59, 0x50, 0x37, 0x06, 0xeb, 0x5d, 0xf9, 0x59, 0x5f, 0xbe, 0x49, 0xb3, + 0x47, 0x35, 0xc8, 0x0e, 0x79, 0x2f, 0x69, 0x6d, 0xce, 0xdb, 0x3d, 0x11, 0xf4, 0x58, 0xa3, 0xb0, + 0xc1, 0x9a, 0x10, 0xfb, 0x4c, 0x37, 0x32, 0x8f, 0x0a, 0xc5, 0x8e, 0x98, 0x47, 0x54, 0xd2, 0x60, + 0x97, 0x63, 0xcb, 0xf6, 0xc4, 0xa0, 0x75, 0x0c, 0x05, 0x1b, 0x11, 0x45, 0x75, 0x95, 0x34, 0x41, + 0x9a, 0xc3, 0x60, 0xa7, 0x9e, 0xd0, 0x53, 0x5d, 0x10, 0x3c, 0x32, 0xcd, 0x15, 0x8b, 0x3d, 0x87, + 0x17, 0x3d, 0x32, 0x45, 0x24, 0x75, 0x07, 0x90, 0x51, 0x57, 0xc7, 0xc3, 0x25, 0xbe, 0x32, 0x3d, + 0x2c, 0x7e, 0xa7, 0xce, 0xe1, 0x25, 0x6b, 0xd8, 0xf2, 0x95, 0x6e, 0x61, 0x52, 0x3f, 0x05, 0x64, + 0xc0, 0x4a, 0xf9, 0xf8, 0x29, 0x20, 0x03, 0x56, 0x79, 0x04, 0xd7, 0xec, 0x39, 0x50, 0x01, 0xae, + 0xed, 0xec, 0xb5, 0xb7, 0x6a, 0x8d, 0xdd, 0xe2, 0x8c, 0xae, 0xc4, 0xed, 0xbd, 0xfd, 0x56, 0x63, + 0x37, 0xae, 0xca, 0xfb, 0x87, 0x9d, 0xc3, 0xad, 0x46, 0x31, 0x8d, 0x8a, 0x30, 0xbf, 0xd7, 0xee, + 0xec, 0x35, 0x5d, 0x3b, 0x93, 0xa9, 0x39, 0x3f, 0xbd, 0x5c, 0x4d, 0xfd, 0xf2, 0x72, 0x35, 0xf5, + 0xc7, 0xcb, 0xd5, 0xd4, 0xd3, 0xb5, 0x38, 0x76, 0x8c, 0x57, 0x49, 0xc8, 0xaa, 0xe7, 0xfc, 0x93, + 0x75, 0xf3, 0x26, 0x03, 0xee, 0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x4a, 0x6d, 0x05, 0x18, + 0x0e, 0x00, 0x00, } diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index 188fdc6a1a..a19091e2c3 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -351,15 +351,39 @@ message LoadBalancerSettings { // tcp: // maxConnections: 100 // connectTimeout: 30ms +// tcpKeepalive: +// time: 7200s +// interval: 75s // ``` message ConnectionPoolSettings { // Settings common to both HTTP and TCP upstream connections. message TCPSettings { + // TCP keepalive. + message TcpKeepalive { + // Maximum number of keepalive probes to send without response before + // deciding the connection is dead. Default is to use the OS level configuration + // (unless overridden, Linux defaults to 9.) + uint32 probes = 1; + + // The time duration a connection needs to be idle before keep-alive + // probes start being sent. Default is to use the OS level configuration + // (unless overridden, Linux defaults to 7200s (ie 2 hours.) + google.protobuf.Duration time = 2; + + // The time duration between keep-alive probes. + // Default is to use the OS level configuration + // (unless overridden, Linux defaults to 75s.) + google.protobuf.Duration interval = 3; + }; + // Maximum number of HTTP1 /TCP connections to a destination host. int32 max_connections = 1; // TCP connection timeout. google.protobuf.Duration connect_timeout = 2; + + // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. + TcpKeepalive tcp_keepalive = 3; }; // Settings applicable to HTTP1.1/HTTP2/GRPC connections. diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index 69a40b7a19..a812214010 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -6,7 +6,7 @@ generator: protoc-gen-docs aliases: - /docs/reference/config/istio.routing.v1alpha1/ -number_of_entries: 52 +number_of_entries: 53 ---

Configuration affecting traffic routing. Here are a few terms useful to define in the context of traffic routing.

@@ -59,6 +59,9 @@

ConnectionPoolSettings

tcp: maxConnections: 100 connectTimeout: 30ms + tcpKeepalive: + time: 7200s + interval: 75s @@ -166,6 +169,60 @@

ConnectionPoolSettings.TCPSettings

TCP connection timeout.

+ + +

+ + + + + +
tcpKeepaliveConnectionPoolSettings.TCPSettings.TcpKeepalive +

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

+ +
+ +

ConnectionPoolSettings.TCPSettings.TcpKeepalive

+
+

TCP keepalive.

+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proto.lock b/proto.lock index 3e8c8b2154..1602f9d220 100644 --- a/proto.lock +++ b/proto.lock @@ -731,6 +731,11 @@ "name": "connect_timeout", "type": "google.protobuf.Duration" }, + { + "id": 28, + "name": "tcp_keepalive", + "type": "istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive" + }, { "id": 7, "name": "ingress_class", @@ -2624,6 +2629,33 @@ "id": 2, "name": "connect_timeout", "type": "google.protobuf.Duration" + }, + { + "id": 3, + "name": "tcp_keepalive", + "type": "TcpKeepalive" + } + ], + "messages": [ + { + "name": "TcpKeepalive", + "fields": [ + { + "id": 1, + "name": "probes", + "type": "uint32" + }, + { + "id": 2, + "name": "time", + "type": "google.protobuf.Duration" + }, + { + "id": 3, + "name": "interval", + "type": "google.protobuf.Duration" + } + ] } ] }, diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index 28143969be..4a48e30acd 100644 --- a/python/istio_api/mesh/v1alpha1/config_pb2.py +++ b/python/istio_api/mesh/v1alpha1/config_pb2.py @@ -22,7 +22,7 @@ name='mesh/v1alpha1/config.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xfa\n\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xdd\x0b\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x1c \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mesh_dot_v1alpha1_dot_proxy__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_destination__rule__pb2.DESCRIPTOR,]) @@ -49,8 +49,8 @@ ], containing_type=None, options=None, - serialized_start=1327, - serialized_end=1405, + serialized_start=1426, + serialized_end=1504, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) @@ -75,8 +75,8 @@ ], containing_type=None, options=None, - serialized_start=1407, - serialized_end=1464, + serialized_start=1506, + serialized_end=1563, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -97,8 +97,8 @@ ], containing_type=None, options=None, - serialized_start=1466, - serialized_end=1504, + serialized_start=1565, + serialized_end=1603, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -119,8 +119,8 @@ ], containing_type=None, options=None, - serialized_start=1506, - serialized_end=1545, + serialized_start=1605, + serialized_end=1644, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING) @@ -152,8 +152,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1224, - serialized_end=1405, + serialized_start=1323, + serialized_end=1504, ) _MESHCONFIG = _descriptor.Descriptor( @@ -213,126 +213,133 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='ingress_class', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_class', index=7, + name='tcp_keepalive', full_name='istio.mesh.v1alpha1.MeshConfig.tcp_keepalive', index=7, + number=28, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ingress_class', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_class', index=8, number=7, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='ingress_service', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_service', index=8, + name='ingress_service', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_service', index=9, number=8, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='ingress_controller_mode', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_controller_mode', index=9, + name='ingress_controller_mode', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_controller_mode', index=10, number=9, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='auth_policy', full_name='istio.mesh.v1alpha1.MeshConfig.auth_policy', index=10, + name='auth_policy', full_name='istio.mesh.v1alpha1.MeshConfig.auth_policy', index=11, number=10, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='rds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.rds_refresh_delay', index=11, + name='rds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.rds_refresh_delay', index=12, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_tracing', full_name='istio.mesh.v1alpha1.MeshConfig.enable_tracing', index=12, + name='enable_tracing', full_name='istio.mesh.v1alpha1.MeshConfig.enable_tracing', index=13, number=12, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='access_log_file', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_file', index=13, + name='access_log_file', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_file', index=14, number=13, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='access_log_format', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_format', index=14, + name='access_log_format', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_format', index=15, number=24, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='access_log_encoding', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_encoding', index=15, + name='access_log_encoding', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_encoding', index=16, number=27, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=16, + name='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=17, number=14, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=17, + name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=18, number=16, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=18, + name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=19, number=17, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=19, + name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=20, number=19, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=20, + name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=21, number=20, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=21, + name='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=22, number=21, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=22, + name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=23, number=22, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=23, + name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=24, number=23, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=24, + name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=25, number=26, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, @@ -354,7 +361,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1557, + serialized_end=1656, ) @@ -391,14 +398,15 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1559, - serialized_end=1652, + serialized_start=1658, + serialized_end=1751, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.containing_type = _MESHCONFIG _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.containing_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY _MESHCONFIG.fields_by_name['connect_timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_MESHCONFIG.fields_by_name['tcp_keepalive'].message_type = networking_dot_v1alpha3_dot_destination__rule__pb2._CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE _MESHCONFIG.fields_by_name['ingress_controller_mode'].enum_type = _MESHCONFIG_INGRESSCONTROLLERMODE _MESHCONFIG.fields_by_name['auth_policy'].enum_type = _MESHCONFIG_AUTHPOLICY _MESHCONFIG.fields_by_name['rds_refresh_delay'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION diff --git a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py index 36effb9013..e352885f81 100644 --- a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py +++ b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py @@ -22,7 +22,7 @@ name='networking/v1alpha3/destination_rule.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\x14gogoproto/gogo.proto\"\x95\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x04\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\x99\x03\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1aZ\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xcc\x01\n\x10OutlierDetection\x12\x1a\n\x12\x63onsecutive_errors\x18\x01 \x01(\x05\x12+\n\x08interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12\x62\x61se_ejection_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14max_ejection_percent\x18\x04 \x01(\x05\x12\x1a\n\x12min_health_percent\x18\x05 \x01(\x05\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\x14gogoproto/gogo.proto\"\x95\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x04\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\xf3\x04\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1a\xb3\x02\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x03 \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x1at\n\x0cTcpKeepalive\x12\x0e\n\x06probes\x18\x01 \x01(\r\x12\'\n\x04time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xcc\x01\n\x10OutlierDetection\x12\x1a\n\x12\x63onsecutive_errors\x18\x01 \x01(\x05\x12+\n\x08interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12\x62\x61se_ejection_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14max_ejection_percent\x18\x04 \x01(\x05\x12\x1a\n\x12min_health_percent\x18\x05 \x01(\x05\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_virtual__service__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,]) @@ -83,8 +83,8 @@ ], containing_type=None, options=None, - serialized_start=2646, - serialized_end=2710, + serialized_start=2864, + serialized_end=2928, ) _sym_db.RegisterEnumDescriptor(_TLSSETTINGS_TLSMODE) @@ -473,6 +473,50 @@ ) +_CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE = _descriptor.Descriptor( + name='TcpKeepalive', + full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='probes', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.probes', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='time', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.time', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='interval', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.interval', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2208, + serialized_end=2324, +) + _CONNECTIONPOOLSETTINGS_TCPSETTINGS = _descriptor.Descriptor( name='TCPSettings', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings', @@ -494,10 +538,17 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='tcp_keepalive', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.tcp_keepalive', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], - nested_types=[], + nested_types=[_CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE, ], enum_types=[ ], options=None, @@ -506,8 +557,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2016, - serialized_end=2106, + serialized_start=2017, + serialized_end=2324, ) _CONNECTIONPOOLSETTINGS_HTTPSETTINGS = _descriptor.Descriptor( @@ -557,8 +608,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2109, - serialized_end=2245, + serialized_start=2327, + serialized_end=2463, ) _CONNECTIONPOOLSETTINGS = _descriptor.Descriptor( @@ -595,7 +646,7 @@ oneofs=[ ], serialized_start=1836, - serialized_end=2245, + serialized_end=2463, ) @@ -653,8 +704,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2248, - serialized_end=2452, + serialized_start=2466, + serialized_end=2670, ) @@ -720,8 +771,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2455, - serialized_end=2710, + serialized_start=2673, + serialized_end=2928, ) _DESTINATIONRULE.fields_by_name['traffic_policy'].message_type = _TRAFFICPOLICY @@ -762,7 +813,11 @@ _LOADBALANCERSETTINGS.oneofs_by_name['lb_policy'].fields.append( _LOADBALANCERSETTINGS.fields_by_name['consistent_hash']) _LOADBALANCERSETTINGS.fields_by_name['consistent_hash'].containing_oneof = _LOADBALANCERSETTINGS.oneofs_by_name['lb_policy'] +_CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE.fields_by_name['time'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE.fields_by_name['interval'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE.containing_type = _CONNECTIONPOOLSETTINGS_TCPSETTINGS _CONNECTIONPOOLSETTINGS_TCPSETTINGS.fields_by_name['connect_timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_CONNECTIONPOOLSETTINGS_TCPSETTINGS.fields_by_name['tcp_keepalive'].message_type = _CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE _CONNECTIONPOOLSETTINGS_TCPSETTINGS.containing_type = _CONNECTIONPOOLSETTINGS _CONNECTIONPOOLSETTINGS_HTTPSETTINGS.containing_type = _CONNECTIONPOOLSETTINGS _CONNECTIONPOOLSETTINGS.fields_by_name['tcp'].message_type = _CONNECTIONPOOLSETTINGS_TCPSETTINGS @@ -843,6 +898,13 @@ ConnectionPoolSettings = _reflection.GeneratedProtocolMessageType('ConnectionPoolSettings', (_message.Message,), dict( TCPSettings = _reflection.GeneratedProtocolMessageType('TCPSettings', (_message.Message,), dict( + + TcpKeepalive = _reflection.GeneratedProtocolMessageType('TcpKeepalive', (_message.Message,), dict( + DESCRIPTOR = _CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE, + __module__ = 'networking.v1alpha3.destination_rule_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive) + )) + , DESCRIPTOR = _CONNECTIONPOOLSETTINGS_TCPSETTINGS, __module__ = 'networking.v1alpha3.destination_rule_pb2' # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings) @@ -861,6 +923,7 @@ )) _sym_db.RegisterMessage(ConnectionPoolSettings) _sym_db.RegisterMessage(ConnectionPoolSettings.TCPSettings) +_sym_db.RegisterMessage(ConnectionPoolSettings.TCPSettings.TcpKeepalive) _sym_db.RegisterMessage(ConnectionPoolSettings.HTTPSettings) OutlierDetection = _reflection.GeneratedProtocolMessageType('OutlierDetection', (_message.Message,), dict(
FieldTypeDescription
probesuint32 +

Maximum number of keepalive probes to send without response before +deciding the connection is dead. Default is to use the OS level configuration +(unless overridden, Linux defaults to 9.)

+ +
timegoogle.protobuf.Duration +

The time duration a connection needs to be idle before keep-alive +probes start being sent. Default is to use the OS level configuration +(unless overridden, Linux defaults to 7200s (ie 2 hours.)

+ +
intervalgoogle.protobuf.Duration +

The time duration between keep-alive probes. +Default is to use the OS level configuration +(unless overridden, Linux defaults to 75s.)

+