You can create a QUIC profile and specify QUIC parameters for the QUIC service and associate it to the load balancing virtual server. You must either create a user-defined profile or use the in-built QUIC profile and bind the profile to the load balancing virtual server.
Step 1: configure a user-defined QUIC profile At the command prompt, type:
set quic profile <profile_name> -transport_param <value>
Example:
set quic profile quic_http3 -ackDelayExponent 10 -activeConnectionIDlimit 4
The different QUIC transport parameters are as follows:
-ackDelayExponent. An integer value advertised by the NetScaler to the remote QUIC endpoint, indicating an exponent that the remote QUIC endpoint should use, to decode the ACK Delay field in QUIC ACK frames sent by the NetScaler.
-activeConnectionIDlimit. An integer value advertised by the NetScaler to the remote QUIC endpoint. It specifies the maximum number of QUIC connection IDs from the remote QUIC endpoint, that the NetScaler is willing to store.
-activeConnectionMigration. Specify whether the NetScaler must allow the remote QUIC endpoint to perform active QUIC connection migration.
-congestionCtrlAlgorithm. Specify the congestion control algorithm to be used for QUIC connections.
-initialMaxData. An integer value advertised by the NetScaler to the remote QUIC endpoint, specifying the initial value, in bytes, for the maximum amount of data that can be sent on a QUIC connection.
-initialMaxStreamDataBidiLocal. An integer value advertised by the NetScaler to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for bi-directional QUIC streams initiated by the NetScaler.
-initialMaxStreamDataBidiRemote. An integer value advertised by the NetScaler to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for bi-directional QUIC streams initiated by the remote QUIC endpoint.
-initialMaxStreamDataUni. An integer value advertised by the NetScaler to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for uni-directional streams initiated by the remote QUIC endpoint.
-initialMaxStreamsBidi. An integer value advertised by the NetScaler to the remote QUIC endpoint, specifying the initial maximum number of bi-directional streams the remote QUIC endpoint must initiate.
-initialMaxStreamsUni. An integer value advertised by the NetScaler to the remote QUIC endpoint, specifying the initial maximum number of uni-directional streams the remote QUIC endpoint must initiate.
-maxAckDelay. An integer value advertised by the NetScaler to the remote QUIC endpoint, specifying the maximum amount of time, in milliseconds, by which the NetScaler delays sending acknowledgments.
-maxIdleTimeout. An integer value advertised by the NetScaler to the remote QUIC endpoint, specifying the maximum idle timeout, in seconds, for a QUIC connection. A QUIC connection that remains idle, for longer than the minimum of the idle timeout values advertised by the NetScaler and the remote QUIC endpoint, and three times the current Probe Timeout (PTO), will be silently discarded by the NetScaler.
-maxUDPPayloadSize. An integer value advertised by the NetScaler to the remote QUIC endpoint, specifying the size of the largest UDP datagram payload, in bytes, that the NetScaler is willing to receive on a QUIC connection.
-newTokenValidityPeriod. An integer value, specifying the validity period, in seconds, of address validation tokens issued through QUIC NEW_TOKEN frames sent by the NetScaler.
-retryTokenValidityPeriod. An integer value, specifying the validity period, in seconds, of address validation tokens issued through QUIC Retry packets sent by the NetScaler.
-statelessAddressValidation. Specify whether the NetScaler must perform stateless address validation for QUIC clients, by sending tokens in QUIC Retry packets during QUIC connection establishment, and by sending tokens in QUIC NEW_TOKEN frames after QUIC connection establishment.
Step 2: Associate the user-defined QUIC profile to a load balancing virtual server of type http_quic
At the command prompt, type:
set lb vserver <name>@ [-IPAddress <ip_addr|ipv6_addr|*>@] <serviceName>@] [-persistenceType <persistenceType>] [-quicProfileName <string>]
Example:
set lb vserver lb-http3 -quicProfileName quic_http3