{ "additionalProperties": false, "description": "Advanced load balancer TCPProxyProfile object", "id": "ALBTCPProxyProfile", "module_id": "PolicyAdvancedLoadBalancer", "properties": { "aggressive_congestion_avoidance": { "default": false, "description": "Controls the our congestion window to send, normally it's 1 mss, If this option is turned on, we use 10 msses. Default value when not specified in API or module is interpreted by ALB Controller as false.", "required": false, "title": "Aggressive congestion avoidance", "type": "boolean" }, "auto_window_growth": { "default": true, "description": "Controls whether the windows are static or supports autogrowth. Maximum that it can grow to is limited to 4MB. Default value when not specified in API or module is interpreted by ALB Controller as true.", "required": false, "title": "Auto window growth", "type": "boolean" }, "automatic": { "default": true, "description": "Dynamically pick the relevant parameters for connections. Default value when not specified in API or module is interpreted by ALB Controller as true.", "required": false, "title": "Automatic", "type": "boolean" }, "cc_algo": { "$ref": "ALBCongestionAlgo, "default": "CC_ALGO_NEW_RENO", "description": "Controls the congestion control algorithm we use. Enum options - CC_ALGO_NEW_RENO, CC_ALGO_CUBIC, CC_ALGO_HTCP. Default value when not specified in API or module is interpreted by ALB Controller as CC_ALGO_NEW_RENO.", "required": false, "title": "Cc algo" }, "congestion_recovery_scaling_factor": { "default": 2, "description": "Congestion window scaling factor after recovery. Allowed values are 0-8. Default value when not specified in API or module is interpreted by ALB Controller as 2.", "maximum": 8, "minimum": 0, "required": false, "title": "Congestion recovery scaling factor", "type": "integer" }, "idle_connection_timeout": { "default": 600, "description": "The duration for keepalive probes or session idle timeout. Max value is 3600 seconds, min is 5. Set to 0 to allow infinite idle time. Allowed values are 5-14400. Special values are 0 - 'infinite'. Unit is SEC. Default value when not specified in API or module is interpreted by ALB Controller as 600.", "maximum": 14400, "minimum": 0, "required": false, "title": "Idle connection timeout", "type": "integer" }, "idle_connection_type": { "$ref": "ALBIdleConnectionType, "default": "KEEP_ALIVE", "description": "Controls the behavior of idle connections. Enum options - KEEP_ALIVE, CLOSE_IDLE. Default value when not specified in API or module is interpreted by ALB Controller as KEEP_ALIVE.", "required": false, "title": "Idle connection type" }, "ignore_time_wait": { "default": false, "description": "A new SYN is accepted from the same 4-tuple even if there is already a connection in TIME_WAIT state. This is equivalent of setting Time Wait Delay to 0. Default value when not specified in API or module is interpreted by ALB Controller as false.", "required": false, "title": "Ignore time wait", "type": "boolean" }, "ip_dscp": { "default": 0, "description": "Controls the value of the Differentiated Services Code Point field inserted in the IP header. This has two options Set to a specific value, or Pass Through, which uses the incoming DSCP value. Allowed values are 0-63. Special values are MAX - 'Passthrough'. Default value when not specified in API or module is interpreted by ALB Controller as 0.", "maximum": 63, "minimum": 0, "required": false, "title": "Ip dscp", "type": "integer" }, "keepalive_in_halfclose_state": { "default": true, "description": "Controls whether to keep the connection alive with keepalive messages in the TCP half close state. The interval for sending keepalive messages is 30s. If a timeout is already configured in the network profile, this will not override it. Default value when not specified in API or module is interpreted by ALB Controller as true.", "required": false, "title": "Keepalive in halfclose state", "type": "boolean" }, "max_retransmissions": { "default": 8, "description": "The number of attempts at retransmit before closing the connection. Allowed values are 3-8. Default value when not specified in API or module is interpreted by ALB Controller as 8.", "maximum": 8, "minimum": 3, "required": false, "title": "Max retransmissions", "type": "integer" }, "max_segment_size": { "description": "Maximum TCP segment size. Allowed values are 512-9000. Special values are 0 - 'Use Interface MTU'. Unit is BYTES.", "maximum": 9000, "minimum": 0, "required": false, "title": "Max segment size", "type": "integer" }, "max_syn_retransmissions": { "default": 8, "description": "The maximum number of attempts at retransmitting a SYN packet before giving up. Allowed values are 3-8. Default value when not specified in API or module is interpreted by ALB Controller as 8.", "maximum": 8, "minimum": 3, "required": false, "title": "Max syn retransmissions", "type": "integer" }, "min_rexmt_timeout": { "description": "The minimum wait time (in millisec) to retransmit packet. Allowed values are 50-5000. Unit is MILLISECONDS.", "maximum": 5000, "minimum": 50, "required": false, "title": "Min rexmt timeout", "type": "integer" }, "nagles_algorithm": { "default": false, "description": "Consolidates small data packets to send clients fewer but larger packets. Adversely affects real time protocols such as telnet or SSH. Default value when not specified in API or module is interpreted by ALB Controller as false.", "required": false, "title": "Nagles algorithm", "type": "boolean" }, "reassembly_queue_size": { "default": 0, "description": "Maximum number of TCP segments that can be queued for reassembly. Configuring this to 0 disables the feature and provides unlimited queuing. Default value when not specified in API or module is interpreted by ALB Controller as 0.", "required": false, "title": "Reassembly queue size", "type": "integer" }, "receive_window": { "default": 64, "description": "Size of the receive window. Allowed values are 2-65536. Unit is KB. Default value when not specified in API or module is interpreted by ALB Controller as 64.", "maximum": 65536, "minimum": 2, "required": false, "title": "Receive window", "type": "integer" }, "reorder_threshold": { "description": "Controls the number of duplicate acks required to trigger retransmission. Setting a higher value reduces retransmission caused by packet reordering. A larger value is recommended in public cloud environments where packet reordering is quite common. The default value is 8 in public cloud platforms (AWS, Azure, GCP), and 3 in other environments. Allowed values are 1-100.", "maximum": 100, "minimum": 1, "required": false, "title": "Reorder threshold", "type": "integer" }, "slow_start_scaling_factor": { "default": 1, "description": "Congestion window scaling factor during slow start. Allowed values are 0-8. Default value when not specified in API or module is interpreted by ALB Controller as 1.", "maximum": 8, "minimum": 0, "required": false, "title": "Slow start scaling factor", "type": "integer" }, "time_wait_delay": { "default": 2000, "description": "The time (in millisec) to wait before closing a connection in the TIME_WAIT state. Allowed values are 500-2000. Special values are 0 - 'immediate'. Unit is MILLISECONDS. Default value when not specified in API or module is interpreted by ALB Controller as 2000.", "maximum": 2000, "minimum": 0, "required": false, "title": "Time wait delay", "type": "integer" }, "use_interface_mtu": { "default": true, "description": "Use the interface MTU to calculate the TCP max segment size. Default value when not specified in API or module is interpreted by ALB Controller as true.", "required": false, "title": "Use interface mtu", "type": "boolean" } }, "title": "TCPProxyProfile", "type": "object" }