TCP MSS Adjustment
About TCP MSS Adjustment
Beginning in the Cisco Application Policy Infrastructure Controller (APIC) 6.0(3) release, the Transmission Control Protocol (TCP) Maximum Segment Size (MSS) Ajustment feature enables you to configure the maximum segment size for transient packets forwarded by the leaf switches. Only transient packets sent or received over the fabric VXLAN tunnels will be adjusted. When two devices establish a TCP session, they negotiate the MSS in their initial SYN packets. This MSS value should be less than the MTU supported by the underlying network to avoid packet fragmentation or drops. The Cisco ACI fabric supports a Layer 2 MTU size of 9216 bytes. Devices connected to the Cisco ACI fabric can negotiate an MTU as high as 9104 bytes. However, features such as Cisco ACI Multi-Pod, Cisco ACI Multi-Site, and remote leaf switches in the Cisco ACI fabric involve traffic flowing over external networks, where the supported MTU can be smaller than what is supported by the Cisco ACI fabric.
Using the TCP MSS Adjustment feature, users can adjust the TCP MSS value inside TCP SYN/SYN-ACK packets to a predefined value. Only TCP SYN/SYN-ACK packets are punted to the CPU for this adjustment. Users can provide separate MSS values for IPv4 and IPv6. MSS adjustment can be done for a maximum of 2000 TCP connections per second per leaf switch.
TCP MSS adjustment provides four knobs to address different topologies:
-
Disable: The feature is disabled.
-
RL Only: Traffic sent to or from remote leaf switches are adjusted. Traffic between two remote leaf switches using back-to-back links is not adjusted.
-
RL and Multi-Site: Traffic sent across sites in Cisco ACI Multi-Site is adjusted, in addition to remote leaf switch traffic.
-
Global: Traffic sent to or from leaf switches in different TEP pools.
Examples:
-
Traffic sent to or from remote leaf switches in different remote leaf switch TEP pools
-
Traffic sent to or from remote leaf switches and local leaf switches
-
Traffic sent to or from leaf switches in different pods in Cisco ACI Multi-Pod
-
Traffic sent to or from switches in different sites in Cisco ACI Multi-Site
Traffic sent to or from remote leaf switches in the same remote leaf switch TEP pool is not adjusted.
-
Guidelines and Limitations for TCP MSS Adjustment
The Transmission Control Protocol (TCP) Maximum Segment Size (MSS) adjustment feature has the following guidelines and restrictions:
-
Do not use rogue endpoint control and endpoint loop protection with TCP MSS adjustment.
-
Do not use a CoPP pre-filter policy with TCP MSS adjustment.
-
With Cisco ACI Multi-Site, all sites must support the TCP MSS adjustment feature for correct operation. Both sides should use the same type, either Global or RL and Multi-Site.
-
CoPP rate limiter allows a maximum of 4,000 packets per second to be punted to the CPU for TCP MSS adjustment.
-
Supervisor-generated TCP packets are not adjusted.
-
Intra-leaf packet flows are not adjusted.
-
When the TCP MSS adjustment feature is enabled, the maximum segment size cannot be adjusted for traffic destined to a leaf node. For correct operation, CP MTU must be configured 58 bytes lower than the value the IPN can support.
Configuring TCP MSS Adjustment Using the GUI
This procedure configures the Transmission Control Protocol (TCP) Maximum Segment Size (MSS) adjustment feature using the GUI.
Procedure
Step 1 |
Log in to the Cisco Application Policy Infrastructure Controller (APIC). |
Step 2 |
Go to |
Step 3 |
In the Navigation pane, choose TCP MSS Adjust Policy. |
Step 4 |
For the Type buttons, choose one of the following types:
|
Step 5 |
In the IPv4 and IPv6 fields, enter the maximum segment size (MSS) for your MTU. Set the IPv6 TCP MSS adjustment value to 20 bytes less than the IPv4 TCP MSS value. This difference is to accommodate the different minimum IP header length between IPv4 (20 bytes) and IPv6 (40 bytes). |
Step 6 |
Click Submit. |