# ACS TPO Profile Configuration Mode Commands

The ACS TPO Profile Configuration Mode is used to configure Traffic Performance Optimization (TPO) profiles.

IMPORTANT:

The commands or keywords/variables that are available are dependent on platform type, product version, and installed license(s).
end

Exits the current configuration mode and returns to the Exec mode.
Product:

All
Privilege:

Security Administrator, Administrator
Syntax

    end

Usage:

Use this command to return to the Exec mode.
exit

Exits the current mode and returns to the parent configuration mode.
Product:

All
Privilege:

Security Administrator, Administrator
Syntax

    exit

Usage:

Use this command to return to the parent configuration mode.
http

This command allows you to configure the HTTP parameters.
Platform:

ASR 5000

ASR 5500
Product:

TPO
Privilege:

Security Administrator, Administrator
Syntax

    http { ad-filter
    display { no-text | text-only text_only_string | text-with-click text_with_click_string } | compression | optimize-compressed-page | params { ad-filter
    display bgcolor bg_color_code | compression
    level compression_level | url-rewrite prefix url_rewrite_prefix } | prevent-server-compression | url-rewrite }default http { ad-filter
    display | compression | optimize-compressed-page | params { ad-filter
    display bgcolor | compression level | url-rewrite
    prefix } | prevent-server-compression | url-rewrite }no http { compression | optimize-compressed-page | params ad-filter
    display bgcolor | prevent-server-compression | url-rewrite }

default

Configures this command with the default setting for the specified parameter.

Default:

- ad-filter display: none
- compression: Disabled
- optimize-compressed-page: Disabled
- params:
  - ad-filter display bgcolor: FFFFFF
  - compression level: 6
  - url-rewrite prefix: urlrewrite
- prevent-server-compression: Disabled
- url-rewrite: Disabled

no

Deletes TPO configuration for the specified parameter.
ad-filter display { no-text | text-only text_only_string | text-with-click text_with_click_string }

Enables HTTP Advertisement Filter, and configures the specified options:

- no-text: Blocks advertisements. Mobile client users see the “cannot display image” icon (usually an X mark) instead of a blocked advertisement. Users cannot view the blocked advertisements even if they want to.
- text-only text_only_string: Blocks advertisements. Mobile client users will see a placeholder frame instead of each blocked advertisement. Each placeholder frame contains the text specified here along with the advertisement’s URL. Users cannot view the blocked advertisements even if they want to.text_only_string must be an alphanumeric string of 1 through 255 characters.
- text-with-click text_with_click_string: Blocks advertisements. Mobile client users will see a placeholder frame instead of each blocked advertisement. Each placeholder frame contains the text specified here along with the advertisement’s URL. To view the blocked advertisements, users must click the placeholder frames.text_with_click_string must be an alphanumeric string of 1 through 255 characters.

compression

Enables HTTP compression for Web pages.

Default: Disabled
optimize-compressed-page

Enables uncompressing of compressed Web pages to apply other HTTP optimization techniques.

If the Web server responds to the mobile client with a compressed Web page, in order to apply other HTTP optimization techniques that maybe enabled, TPO can uncompress the Web page, apply the other HTTP optimizations, recompress the Web page, and then send it to the mobile client.

Default: Disabled
params { ad-filter display bgcolor bg_color_code | compression level compression_level | url-rewrite prefix url_rewrite_prefix }

Configures HTTP compression optimization parameters:

- ad-filter display bgcolor bg_color_code: For the HTTP Advertisement Filter feature, specifies color code for the advertisement placeholder frames’ background.bg_color_code must be a string of 1 through 6 hexadecimal characters.
- compression level compression_level: Enables HTTP compression, and specifies the compression level.compression_level specifies the HTTP compression level, and must be an integer from 1 through 9. The higher the compression level, the better the compression but with a higher CPU and memory utilization.Default: 6
- url-rewrite prefix url_rewrite_prefix: Enables HTTP URL rewrite, and specifies the HTTP URL rewrite prefix.url_rewrite_prefix specifies the HTTP URL rewrite prefix, and must be an alphanumeric string of 8 through 32 characters.When embedded URLs are returned, they are replaced. For example, when “http://www.foo.com/xxx” is in the response, the URL is replaced with “http://ip-address/<url_rewrite_prefix>/www.foo.com/xxx”. In this example, the DNS client resolves “www.foo.com” and puts that resolution as “ip-address”. When the subscriber later does a GET, that request is modified as:URL: STRING/www.foo.com/xxx — will be changed to be just xxxHost: ip-address — will be changed to be “www.foo.com”Default: urlrewrite

prevent-server-compression

Specifies TPO (to manipulate the HTTP request) to prevent server compression at the Web server.

TPO receives uncompressed data from the Web server, on which it can apply other HTTP optimization techniques, and then compresses and sends the data to the mobile client.

Default: Disabled
url-rewrite

Enables the URL Rewrite feature.

The URLs that are embedded in response pages are rewritten. This eliminates the need for the subscriber to perform DNS to resolve those URLs. See the url-rewrite option.

Default: Disabled
Usage:

Use this command to configure TPO’s HTTP parameters.
Example:
The following command configures HTTP compression optimization parameter to level 3:

    http params compression
    level 3

p2p-detected

This command allows you to disable/continue TPO optimizations when a P2P flow is detected.
Platform:

ASR 5000

ASR 5500
Product:

TPO
Privilege:

Security Administrator, Administrator
Syntax

    p2p-detected { cease-tpo | continue-tpo }default p2p-detected

default

Configures this command with its default setting.

Default: continue-tpo
cease-tpo

Specifies to disable TPO optimizations when a flow is detected as P2P.

IMPORTANT:

In this release, only TPO TCP optimizations are disabled. Disabling HTTP optimizations will be supported in a future release.
continue-tpo

Specifies to continue TPO optimizations when a flow is detected as P2P.
Usage:

Use this command to disable/continue TPO optimizations when a P2P flow is detected.

While switching TPO profiles, if P2P flow is detected, TPO optimizations will be ceased/allowed based on the current TPO profile’s configuration.
Example:
The following command disables all TPO TCP optimizations when a P2P flow is detected:

    p2p-detected cease-tpo

tcp

This command allows you to configure the TCP parameters.
Platform:

ASR 5000

ASR 5500
Product:

TPO
Privilege:

Security Administrator, Administrator
Syntax

    tcp { bandwidth { bandwidth_kbps | dynamic } | buffer-size { downlink | uplink } buffer_size_kb | congestion-control { basic | vegas | westwood-plus } | fast-retransmit-dupacks { duplicate_acks | dynamic } | handoff-optimization | initial-window { initial_window | dynamic
    bdp-percent bdp_percent | rfc5681 } | mss mss | pacing | rto { retrans-backoff { 1.0 | 1.5 | 2.0 } | rttvar-scaling scaling_factor } }default tcp { bandwidth | buffer-size { downlink | uplink } | congestion-control | fast-retransmit-dupacks | handoff-optimization | initial-window | mss | pacing | rto { retrans-backoff | rttvar-scaling } }no tcp { bandwidth | handoff-optimization | pacing }

no

Removes/disables the specified configuration.
default

Configures this command with the default setting for the specified parameter.

Default:

- bandwidth: No known bandwidth limit
- buffer-size:
  - downlink: 128 KB
  - uplink: 32 KB
- congestion-control: basic
- fast-retransmit-dupacks: 3
- handoff-optimization: Disabled
- initial-window: rfc5681
- mss: 536 bytes
- pacing: Disabled
- rto:
  - retrans-backoff: 2.0
  - rttvar-scaling: 2

bandwidth { bandwidth_kbps | dynamic }

Specifies bandwidth, which is used by TCP to optimize the data transfer rate.

- bandwidth_kbps specifies the maximum available bandwidth for a TCP flow, in kbps, and must be an integer from 1 through 100000.
- dynamic specifies the use of a value that is computed dynamically at runtime.

Default: No known bandwidth limit, same as no tcp bandwidth command.
buffer-size { downlink | uplink } buffer_size_kb

Specifies the socket send and receive buffer size for uplink/downlink traffic.

- downlink: Specifies the maximum amount of data that can be buffered inside TCP Proxy in downlink direction for each TCP connection. When the amount of data buffered in TCP Proxy in downlink direction reaches this limit, TCP Proxy sets receive window size in TCP header to 0 towards TCP server.
- uplink: Specifies the maximum amount of data that can be buffered inside TCP Proxy in uplink direction for each TCP connection. When the amount of data buffered in TCP Proxy in uplink direction reaches this limit, TCP Proxy sets receive window size in TCP header to 0 towards TCP client.

buffer_size_kb specifies the buffer size, in kilobytes, an must be an integer from 4 through 8192.
congestion-control { basic | vegas | westwood-plus }

Specifies the TCP congestion-control algorithm to use.

- basic: Use the basic TCP congestion-control algorithm.
- vegas: Use the Vegas TCP congestion-control algorithm.
- westwood-plus: Use the Westwood-plus TCP congestion-control algorithm.

Default: basic
fast-retransmit-dupacks { duplicate_acks | dynamic }

Specifies the number of duplicate ACKs required for fast retransmission.

- duplicate_acks: Specifies the number of duplicate ACKs that will trigger a fast-retransmit of the missing segment. After the specified number of duplicate ACKs is received, it is assumed that the segment was lost and is retransmitted.duplicate_acks must be an integer from 1 through 10. Default: 3
- dynamic: In 12.0 and earlier releases, this keyword dynamically changes the number of duplicate ACKs required for fast retransmission based on the number of in-flight packets (one-third of the in-flight packets, subject to a minimum of two). This helps to eliminate spurious retransmissions when packet reordering in the network is high.

In 12.2 and later releases, this keyword dynamically changes the number of duplicate ACKs required for fast retransmission based on the number of in-flight packets, and controls the actions taken on D-SACK detection.

If the dynamic keyword is not configured, D-SACK detection takes place, but no action is taken.

IMPORTANT:

If the client does not support SACK, the behavior falls back to the behavior as described for earlier releases.

For information on D-SACK Support, refer to the Traffic Performance Optimization Administration Guide.
handoff-optimization

Enables handoff detection and relevant processing by TCP.

Default: Disabled
initial-window { initial_window | dynamic bdp-percent bdp_percent | rfc5681 }

Specifies the initial window size for a TCP session.

- initial_window: Specifies the initial-window as Maximum Segment Size (MSS), and must be an integer from 1 through 255.
- dynamic bdp-percent bdp_percent: Use a dynamically computed value at runtime, that is calculated as a percentage of bandwidth-delay product (BDP).bdp_percent must be an integer from 1 through 100.Bandwidth information is dynamically derived from the bandwidth command. The delay is calculated using the SYN-ACK exchange. If bandwidth information is not available, this configuration has no effect (behavior will be same as the default setting).
- rfc5681: Use a value recommended by RFC 5681, which will vary from 2 through 4 based on MSS.

Default: rfc5681
mss mss

Specifies the Maximum Segment Size (MSS), in bytes.

mss must be an integer from 248 through 65535.

Default: 536 bytes
pacing

Enables TCP Pacing.

Under some conditions (typically at the end of fast-recovery) a single ACK is received, which acknowledges huge amounts of data. Because of this, the sliding-window suddenly shifts to the right, causing the sender to burst huge amount of data into the network at one shot; this typically triggers a tail-drop (loss of series of packets) at the bottleneck router. Huge data bursts can also occur due to other factors, such as ACK compression. TCP Pacing causes the sender to evenly distribute the window of data over an entire round-trip time (RTT).

Default: Disabled
rto { retrans-backoff { 1.0 | 1.5 | 2.0 } | rttvar-scaling scaling_factor }

Specifies Retransmission Timeout (RTO) settings.

- retrans-backoff { 1.0 | 1.5 | 2.0 }Specifies the RTO back-off factor. Once retransmission timeout RTO fires for a packet, TCP will retransmit that packet and set the RTO to be a factor X, specified here, of the previous RTO.Default: 2.0 1.0: Use backoff factor 1.0. 1.5: Use backoff factor 1.5. 2.0: Use backoff factor 2.0.
- rttvar-scaling scaling_factorSpecifies the scaling factor for Round Trip Time Variation (RTTVAR).The configured scaling factor is used as a power of 2, so values of 0 through 4 correspond to 1, 2, 4, 8, and 16. RTO is calculated in TCP using following formula:RTO = SRTT + K*RTTVARwhere:
  - SRTT = mean Round Trip Time (RTT)
  - RTTVAR = Round Trip Time Variation
  As wireless networks exhibit high RTT variation, the value of K is made configurable. The value of K decides the extent to which RTO timer depends on RTT variance. If RTT variance is higher, then K should be higher.scaling_factor must be an integer from 0 through 4.Default: 2

Usage:

Use this command to configure TPO TCP parameters.
Example:
The following command configures the initial window size for a TCP session to 100:

    tcp initial-window 100