From a0a4ffe3dd03e7ce564aa0da6fa5c5b567835fdc Mon Sep 17 00:00:00 2001 From: Shakti Date: Tue, 20 Nov 2018 14:07:22 +0530 Subject: [PATCH] API changes to enable TCP keepalive configuration. Signed-off-by: Shakti --- networking/v1alpha3/destination_rule.pb.go | 438 ++++++++++++++---- networking/v1alpha3/destination_rule.proto | 15 + .../istio.networking.v1alpha3.pb.html | 45 +- proto.lock | 22 + .../v1alpha3/destination_rule_pb2.py | 82 +++- 5 files changed, 501 insertions(+), 101 deletions(-) diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 5e36f5a482..fdf7990dd7 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 +// keepalive: +// 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"` + // TCP keepalive. + Keepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=keepalive" json:"keepalive,omitempty"` } func (m *ConnectionPoolSettings_TCPSettings) Reset() { *m = ConnectionPoolSettings_TCPSettings{} } @@ -927,6 +932,46 @@ func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *google_protobu return nil } +func (m *ConnectionPoolSettings_TCPSettings) GetKeepalive() *ConnectionPoolSettings_TCPSettings_TcpKeepalive { + if m != nil { + return m.Keepalive + } + return nil +} + +// TCP keepalive. +type ConnectionPoolSettings_TCPSettings_TcpKeepalive struct { + // TCP keepalive time. + Time *google_protobuf.Duration `protobuf:"bytes,1,opt,name=time" json:"time,omitempty"` + // TCP keepalive interval. + Interval *google_protobuf.Duration `protobuf:"bytes,2,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) 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 +1256,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 +1716,54 @@ func (m *ConnectionPoolSettings_TCPSettings) MarshalTo(dAtA []byte) (int, error) } i += n19 } + if m.Keepalive != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(m.Keepalive.Size())) + n20, err := m.Keepalive.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.Time != nil { + dAtA[i] = 0xa + 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] = 0x12 + 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 +1829,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 +2125,24 @@ func (m *ConnectionPoolSettings_TCPSettings) Size() (n int) { l = m.ConnectTimeout.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.Keepalive != nil { + l = m.Keepalive.Size() + n += 1 + l + sovDestinationRule(uint64(l)) + } + return n +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int) { + var l int + _ = l + 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 +3623,155 @@ 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 Keepalive", 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.Keepalive == nil { + m.Keepalive = &ConnectionPoolSettings_TCPSettings_TcpKeepalive{} + } + if err := m.Keepalive.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 != 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 2: + 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 +4416,90 @@ 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, + // 1358 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xdf, 0x6e, 0x1b, 0xc5, + 0x17, 0x8e, 0xff, 0x36, 0x3e, 0x4e, 0x1c, 0x67, 0x7e, 0xd1, 0x0f, 0xd7, 0x48, 0x69, 0xb0, 0x10, + 0x0d, 0x85, 0xae, 0x49, 0x2a, 0xa4, 0xd2, 0xaa, 0xa8, 0x71, 0x62, 0xd5, 0xa1, 0x4e, 0x6c, 0x8d, + 0x1d, 0x09, 0xf5, 0x66, 0x35, 0x5e, 0x4f, 0xec, 0x69, 0xd6, 0x3b, 0xcb, 0xce, 0xac, 0x49, 0xfa, + 0x20, 0x88, 0x5b, 0x6e, 0x78, 0x01, 0x5e, 0x02, 0x71, 0xc5, 0x2d, 0xbd, 0x01, 0xf5, 0x05, 0xb8, + 0x82, 0x6b, 0x34, 0xb3, 0xb3, 0xb6, 0xd3, 0xa6, 0x6e, 0x43, 0xe8, 0xdd, 0x78, 0xce, 0xf9, 0xbe, + 0x39, 0x73, 0xbe, 0x33, 0xe7, 0xac, 0xe1, 0x96, 0x47, 0xe5, 0xb7, 0x3c, 0x38, 0x61, 0xde, 0xa0, + 0x3a, 0xde, 0x22, 0xae, 0x3f, 0x24, 0x77, 0xaa, 0x7d, 0x2a, 0x24, 0xf3, 0x88, 0x64, 0xdc, 0xb3, + 0x83, 0xd0, 0xa5, 0x96, 0x1f, 0x70, 0xc9, 0xd1, 0x75, 0x26, 0x24, 0xe3, 0xd6, 0x14, 0x61, 0xc5, + 0x88, 0xf2, 0xfa, 0x80, 0xf3, 0x81, 0x4b, 0xab, 0xda, 0xb1, 0x17, 0x1e, 0x57, 0xfb, 0x61, 0xa0, + 0xf1, 0x11, 0xb4, 0xfc, 0xf1, 0x45, 0xc7, 0x8c, 0x59, 0x20, 0x43, 0xe2, 0xda, 0x82, 0x06, 0x63, + 0xe6, 0x98, 0x53, 0xca, 0x6b, 0x03, 0x3e, 0xe0, 0x7a, 0x59, 0x55, 0xab, 0x68, 0xb7, 0xf2, 0x53, + 0x02, 0x56, 0xf6, 0xa6, 0x61, 0xe1, 0xd0, 0xa5, 0x08, 0x41, 0x7a, 0xc8, 0x85, 0x2c, 0x25, 0x36, + 0x12, 0x9b, 0x39, 0xac, 0xd7, 0xa8, 0x05, 0x05, 0x19, 0x90, 0xe3, 0x63, 0xe6, 0xd8, 0x3e, 0x77, + 0x99, 0x73, 0x56, 0x4a, 0x6e, 0x24, 0x36, 0xf3, 0xdb, 0x9b, 0xd6, 0x6b, 0x83, 0xb7, 0xba, 0x11, + 0xa0, 0xad, 0xfd, 0xf1, 0xb2, 0x9c, 0xfd, 0x89, 0xee, 0xc3, 0x35, 0x11, 0xf6, 0x04, 0x95, 0xa2, + 0x94, 0xda, 0x48, 0x6d, 0xe6, 0xb7, 0x3f, 0x98, 0xc3, 0xd4, 0xd1, 0x9e, 0x38, 0x46, 0x54, 0x9e, + 0x67, 0x61, 0xf9, 0x1c, 0x3b, 0xea, 0xc2, 0xb2, 0xcb, 0x49, 0xdf, 0xee, 0x11, 0x97, 0x78, 0x0e, + 0x0d, 0x74, 0xf0, 0xf9, 0xed, 0xea, 0x1c, 0xd2, 0x26, 0x27, 0xfd, 0x9a, 0x71, 0xef, 0x50, 0x29, + 0x99, 0x37, 0x10, 0x78, 0xc9, 0x9d, 0xd9, 0x45, 0x4f, 0x60, 0xc5, 0xe1, 0x9e, 0x47, 0x1d, 0x2d, + 0x99, 0xcf, 0xb9, 0x6b, 0xae, 0xbd, 0x35, 0x87, 0x77, 0x77, 0x82, 0x68, 0x73, 0xee, 0x4e, 0x98, + 0x0b, 0xce, 0xb9, 0x7d, 0xf4, 0x35, 0xac, 0xf2, 0x50, 0xba, 0x8c, 0x06, 0x76, 0x9f, 0xca, 0xc8, + 0x50, 0x4a, 0x69, 0xf6, 0x4f, 0xe6, 0xb0, 0xb7, 0x22, 0xcc, 0x5e, 0x0c, 0xc1, 0x45, 0xfe, 0xd2, + 0x0e, 0xba, 0x0b, 0x29, 0xe9, 0x8a, 0x52, 0x5a, 0x73, 0x7d, 0x34, 0x4f, 0xa0, 0x66, 0x67, 0x12, + 0x9e, 0x82, 0xa0, 0xa7, 0xf0, 0x3f, 0x9f, 0x07, 0xd2, 0x76, 0xe9, 0x98, 0xaa, 0xfa, 0x89, 0x6c, + 0xa5, 0x8c, 0x16, 0xe8, 0xde, 0xdb, 0x4a, 0x6d, 0xb5, 0x79, 0x20, 0xcf, 0x8b, 0xbf, 0xaa, 0x68, + 0x9b, 0x8a, 0x35, 0x3e, 0xb0, 0xfc, 0x5d, 0x0a, 0x56, 0x5f, 0x71, 0x44, 0xf7, 0x21, 0xad, 0x5c, + 0x8d, 0x7c, 0x37, 0xe7, 0x1c, 0xa9, 0xb0, 0x1d, 0xea, 0x52, 0x47, 0xf2, 0x00, 0x6b, 0xd0, 0xab, + 0x45, 0x90, 0x7c, 0x47, 0x45, 0x90, 0x7a, 0xa7, 0x45, 0x90, 0xfe, 0x0f, 0x8b, 0x20, 0x73, 0xe9, + 0x22, 0xa8, 0xfc, 0x99, 0x80, 0x6c, 0xf4, 0xe0, 0x54, 0x27, 0xf0, 0xc8, 0x88, 0xc6, 0x9d, 0x40, + 0xad, 0x51, 0x1d, 0xb2, 0x2e, 0xe9, 0x51, 0x57, 0x94, 0x92, 0xba, 0x2c, 0x6e, 0xbf, 0xf1, 0xdd, + 0x5a, 0x4d, 0xed, 0x5f, 0xf7, 0x64, 0x70, 0x86, 0x0d, 0xf8, 0x82, 0x86, 0x92, 0xba, 0x52, 0x43, + 0x29, 0x7f, 0x01, 0xf9, 0x99, 0x73, 0x50, 0x11, 0x52, 0x27, 0xf4, 0xcc, 0x44, 0xae, 0x96, 0x68, + 0x0d, 0x32, 0x63, 0xe2, 0x86, 0x54, 0x57, 0x45, 0x0e, 0x47, 0x3f, 0xee, 0x25, 0xef, 0x26, 0x2a, + 0x3f, 0x66, 0x60, 0xed, 0xa2, 0x42, 0x40, 0x18, 0xb2, 0x82, 0x8d, 0x7c, 0x37, 0xca, 0x40, 0x61, + 0xfb, 0xee, 0x25, 0x2b, 0xc9, 0xea, 0x68, 0x74, 0xb3, 0xd6, 0x58, 0xc0, 0x86, 0x09, 0x9d, 0xe8, + 0x72, 0x12, 0x4c, 0x48, 0xea, 0x49, 0x7b, 0x48, 0xc4, 0xd0, 0x94, 0xe9, 0xc3, 0xcb, 0x92, 0xef, + 0x4e, 0x68, 0x1a, 0x44, 0x0c, 0xf5, 0x21, 0x05, 0xe7, 0xdc, 0x5e, 0xf9, 0xaf, 0x24, 0x14, 0x5f, + 0x76, 0x43, 0xb7, 0xa0, 0x38, 0x94, 0xd2, 0xb7, 0x87, 0x94, 0xf4, 0x69, 0x60, 0x4f, 0x15, 0x56, + 0x04, 0xca, 0xd2, 0xd0, 0x86, 0x43, 0xa5, 0xb6, 0x07, 0x79, 0xed, 0xeb, 0x70, 0x7e, 0xc2, 0xa8, + 0x89, 0xf4, 0xf1, 0x55, 0x23, 0xb5, 0x1a, 0xdd, 0x6e, 0x7b, 0x57, 0x53, 0x36, 0x16, 0x30, 0xa8, + 0x13, 0xa2, 0x5f, 0xe8, 0x43, 0x58, 0x0e, 0x05, 0xb5, 0x05, 0x0f, 0x03, 0x87, 0xda, 0xcc, 0xd7, + 0x55, 0xb1, 0xd8, 0x58, 0xc0, 0xf9, 0x50, 0xd0, 0x8e, 0xde, 0xdd, 0xf7, 0xd1, 0x2d, 0x58, 0x1d, + 0x31, 0x8f, 0x8d, 0xc2, 0x91, 0x1d, 0x30, 0x6f, 0x60, 0x0b, 0xf6, 0x8c, 0xea, 0x67, 0x93, 0xc6, + 0x2b, 0xc6, 0x80, 0x99, 0x37, 0xe8, 0xb0, 0x67, 0xb4, 0x3c, 0x00, 0x98, 0x9e, 0x76, 0x61, 0x45, + 0x23, 0x48, 0xfb, 0x44, 0x0e, 0x4d, 0x5d, 0xe8, 0x35, 0xda, 0x82, 0x94, 0x94, 0xf1, 0x43, 0xbf, + 0x6e, 0x45, 0x63, 0xd8, 0x8a, 0xc7, 0xb0, 0xb5, 0x67, 0xc6, 0x70, 0x2d, 0xfd, 0xfd, 0xef, 0x37, + 0x12, 0x58, 0xf9, 0xd6, 0x00, 0x16, 0x95, 0x9a, 0xf6, 0x09, 0x3d, 0xab, 0x34, 0x60, 0x31, 0x96, + 0x1e, 0xad, 0x40, 0x1e, 0xb7, 0x8e, 0x0e, 0xf7, 0x6c, 0xdc, 0xaa, 0xed, 0x1f, 0x16, 0x17, 0x50, + 0x01, 0xa0, 0x59, 0xdf, 0xe9, 0x74, 0xed, 0xdd, 0xd6, 0xe1, 0x61, 0x31, 0x81, 0x00, 0xb2, 0x78, + 0xe7, 0x70, 0xaf, 0x75, 0x50, 0x4c, 0x2a, 0xe7, 0xf6, 0x4e, 0xa7, 0xd3, 0x6d, 0xe0, 0xd6, 0xd1, + 0xa3, 0x46, 0x31, 0x55, 0xcb, 0x43, 0xce, 0xed, 0x99, 0x27, 0x52, 0xf9, 0x3b, 0x03, 0xff, 0xbf, + 0xb8, 0xb3, 0xa0, 0x16, 0xa4, 0xa4, 0xe3, 0x9b, 0xbe, 0xf9, 0xe0, 0xd2, 0x9d, 0xc9, 0xea, 0xee, + 0xb6, 0x67, 0xda, 0x80, 0xe3, 0x23, 0x0c, 0x69, 0xa5, 0x8b, 0x91, 0xfc, 0xcb, 0xcb, 0x33, 0xaa, + 0xac, 0x4f, 0x28, 0x35, 0x57, 0xf9, 0x79, 0x12, 0xf2, 0x33, 0x07, 0xa1, 0x9b, 0xb0, 0x32, 0x22, + 0xa7, 0xf6, 0xb4, 0x29, 0x0a, 0x7d, 0x81, 0x0c, 0x2e, 0x8c, 0xc8, 0xe9, 0x94, 0x56, 0xa0, 0xda, + 0xa4, 0x07, 0xdb, 0x92, 0x8d, 0x28, 0x0f, 0xa5, 0x89, 0xeb, 0xf5, 0xd2, 0x4c, 0x7a, 0x6d, 0x37, + 0x02, 0xa0, 0x21, 0xe4, 0x4e, 0x28, 0xf5, 0x89, 0xcb, 0xc6, 0xd4, 0x08, 0xfb, 0xd5, 0x95, 0xf2, + 0x64, 0x75, 0x1d, 0xff, 0x71, 0xcc, 0x88, 0xa7, 0xe4, 0x65, 0x09, 0x4b, 0xb3, 0x26, 0x74, 0x1b, + 0xd2, 0x2a, 0x6a, 0x23, 0xce, 0x9c, 0x90, 0xb5, 0x1b, 0xfa, 0x1c, 0x16, 0x99, 0x27, 0x69, 0x30, + 0x26, 0xee, 0x9b, 0x6f, 0x39, 0x71, 0x2d, 0xff, 0x96, 0x80, 0xa5, 0xd9, 0x9c, 0xa3, 0xfb, 0x50, + 0x56, 0x59, 0xdf, 0xb2, 0x55, 0x8e, 0x7d, 0xea, 0xf5, 0xd5, 0x53, 0x09, 0xe8, 0x37, 0x21, 0x15, + 0x32, 0x4e, 0xf4, 0x7b, 0xda, 0xe3, 0x80, 0x9c, 0xb6, 0x23, 0x3b, 0x36, 0x66, 0xf4, 0x29, 0x20, + 0x65, 0xda, 0xd6, 0xe0, 0x09, 0x28, 0xa9, 0x41, 0xba, 0x7d, 0x6c, 0x1f, 0x90, 0xd3, 0x89, 0xf7, + 0x03, 0x78, 0x7f, 0xd6, 0xcf, 0xf6, 0x69, 0x30, 0xa3, 0xaa, 0xce, 0x76, 0x06, 0x97, 0x46, 0x53, + 0x44, 0x9b, 0x06, 0xd3, 0x04, 0xa3, 0x1b, 0x90, 0x8f, 0xe0, 0x32, 0x60, 0x34, 0xfa, 0x72, 0xc9, + 0x60, 0xd0, 0xee, 0x7a, 0xa7, 0xf2, 0x43, 0x12, 0x8a, 0x2f, 0x0f, 0x3d, 0x74, 0x1b, 0x90, 0x6a, + 0x77, 0xd4, 0x09, 0x25, 0x1b, 0x53, 0x9b, 0x06, 0x01, 0x0f, 0xe2, 0x7b, 0xad, 0xce, 0x58, 0xea, + 0xda, 0xf0, 0x2f, 0xd3, 0x8a, 0x1e, 0x01, 0xea, 0x11, 0x41, 0x6d, 0xfa, 0xd4, 0x7c, 0x01, 0x68, + 0x29, 0xdf, 0xd4, 0x18, 0x70, 0x51, 0x81, 0xea, 0x06, 0xa3, 0x4a, 0x10, 0x7d, 0x06, 0x6b, 0xea, + 0x92, 0x13, 0x1e, 0x9f, 0x06, 0x0e, 0xf5, 0xa4, 0xb9, 0x2d, 0x1a, 0x91, 0xd3, 0xd8, 0xbd, 0x1d, + 0x59, 0x94, 0x06, 0x23, 0xe6, 0xa9, 0x3e, 0xed, 0xca, 0xe1, 0xc4, 0x3f, 0x13, 0x69, 0x30, 0x62, + 0x5e, 0x43, 0x1b, 0x8c, 0x77, 0xe5, 0x17, 0xf5, 0xb8, 0xa6, 0xc3, 0x1c, 0xd5, 0x20, 0x3d, 0xe2, + 0xfd, 0x78, 0x74, 0x59, 0x6f, 0xf7, 0x09, 0xa0, 0xd6, 0x0a, 0x85, 0x35, 0x56, 0xa7, 0xd8, 0x65, + 0x6a, 0x50, 0x39, 0x34, 0x90, 0xec, 0x98, 0x39, 0x44, 0xc6, 0x03, 0x74, 0x35, 0xb2, 0xec, 0x4e, + 0x0d, 0x4a, 0x47, 0x3f, 0x60, 0x63, 0x22, 0xa9, 0xea, 0x82, 0x3a, 0x49, 0x39, 0x0c, 0x66, 0xeb, + 0x31, 0x3d, 0x53, 0x0f, 0xde, 0x21, 0xb3, 0x5c, 0x91, 0xd8, 0x39, 0x5c, 0x70, 0xc8, 0x0c, 0x91, + 0x50, 0x1d, 0x5e, 0x84, 0x3d, 0x95, 0x0f, 0x9b, 0xb8, 0x52, 0xcf, 0xa8, 0xe8, 0x3b, 0x34, 0x87, + 0x57, 0x8c, 0x61, 0xc7, 0x95, 0x6a, 0x44, 0x09, 0x35, 0xea, 0x85, 0xc7, 0x4a, 0xd9, 0x68, 0xd4, + 0x0b, 0x8f, 0x55, 0x1e, 0xc2, 0x35, 0x73, 0x0f, 0x94, 0x87, 0x6b, 0x7b, 0xfb, 0x9d, 0x9d, 0x5a, + 0xb3, 0x5e, 0x5c, 0x50, 0x9d, 0xb6, 0xb3, 0x7f, 0xd0, 0x6e, 0xd6, 0xa3, 0xae, 0x7b, 0x70, 0xd4, + 0x3d, 0xda, 0x69, 0x16, 0x93, 0xa8, 0x08, 0x4b, 0xfb, 0x9d, 0xee, 0x7e, 0xcb, 0x36, 0x3b, 0xa9, + 0x9a, 0xf5, 0xf3, 0x8b, 0xf5, 0xc4, 0xaf, 0x2f, 0xd6, 0x13, 0x7f, 0xbc, 0x58, 0x4f, 0x3c, 0xd9, + 0x88, 0x72, 0xc7, 0x78, 0x95, 0xf8, 0xac, 0x7a, 0xc1, 0x7f, 0xae, 0x5e, 0x56, 0x57, 0xc0, 0x9d, + 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x93, 0xbb, 0x04, 0xe8, 0xf8, 0x0d, 0x00, 0x00, } diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index 188fdc6a1a..add3343d4f 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -351,15 +351,30 @@ message LoadBalancerSettings { // tcp: // maxConnections: 100 // connectTimeout: 30ms +// keepalive: +// time: 7200s +// interval: 75s // ``` message ConnectionPoolSettings { // Settings common to both HTTP and TCP upstream connections. message TCPSettings { + // TCP keepalive. + message TcpKeepalive { + // TCP keepalive time. + google.protobuf.Duration time = 1; + + // TCP keepalive interval. + google.protobuf.Duration interval = 2; + }; + // Maximum number of HTTP1 /TCP connections to a destination host. int32 max_connections = 1; // TCP connection timeout. google.protobuf.Duration connect_timeout = 2; + + // TCP keepalive. + TcpKeepalive 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..83cbd7c91c 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 + keepalive: + time: 7200s + interval: 75s @@ -166,6 +169,46 @@

ConnectionPoolSettings.TCPSettings

TCP connection timeout.

+ + +

+ + + + + +
keepaliveConnectionPoolSettings.TCPSettings.TcpKeepalive +

TCP keepalive.

+ +
+ +

ConnectionPoolSettings.TCPSettings.TcpKeepalive

+
+

TCP keepalive.

+ + + + + + + + + + + + + + + + + + + diff --git a/proto.lock b/proto.lock index 17752c00c6..be0a8708ad 100644 --- a/proto.lock +++ b/proto.lock @@ -2606,6 +2606,28 @@ "id": 2, "name": "connect_timeout", "type": "google.protobuf.Duration" + }, + { + "id": 3, + "name": "keepalive", + "type": "TcpKeepalive" + } + ], + "messages": [ + { + "name": "TcpKeepalive", + "fields": [ + { + "id": 1, + "name": "time", + "type": "google.protobuf.Duration" + }, + { + "id": 2, + "name": "interval", + "type": "google.protobuf.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..ada4fb446d 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\"\xdf\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\x9f\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]\n\tkeepalive\x18\x03 \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x1a\x64\n\x0cTcpKeepalive\x12\'\n\x04time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08interval\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') , 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=2844, + serialized_end=2908, ) _sym_db.RegisterEnumDescriptor(_TLSSETTINGS_TLSMODE) @@ -473,6 +473,43 @@ ) +_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='time', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.time', index=0, + number=1, 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=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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2204, + serialized_end=2304, +) + _CONNECTIONPOOLSETTINGS_TCPSETTINGS = _descriptor.Descriptor( name='TCPSettings', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings', @@ -494,10 +531,17 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='keepalive', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.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 +550,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2016, - serialized_end=2106, + serialized_start=2017, + serialized_end=2304, ) _CONNECTIONPOOLSETTINGS_HTTPSETTINGS = _descriptor.Descriptor( @@ -557,8 +601,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2109, - serialized_end=2245, + serialized_start=2307, + serialized_end=2443, ) _CONNECTIONPOOLSETTINGS = _descriptor.Descriptor( @@ -595,7 +639,7 @@ oneofs=[ ], serialized_start=1836, - serialized_end=2245, + serialized_end=2443, ) @@ -653,8 +697,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2248, - serialized_end=2452, + serialized_start=2446, + serialized_end=2650, ) @@ -720,8 +764,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2455, - serialized_end=2710, + serialized_start=2653, + serialized_end=2908, ) _DESTINATIONRULE.fields_by_name['traffic_policy'].message_type = _TRAFFICPOLICY @@ -762,7 +806,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['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 +891,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 +916,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
timegoogle.protobuf.Duration +

TCP keepalive time.

+ +
intervalgoogle.protobuf.Duration +

TCP keepalive interval.

+