Address Hold Timer Support

Feature Summary and Revision History

Summary Data

Applicable Product(s) or Functional Area

P-GW

Applicable Platform(s)

  • ASR 5500

  • VPC-DI

  • VPC-SI

Feature Default

Disabled - Configuration Required

Related Changes in This Release

Not Applicable

Related Documentation

  • P-GW Administration Guide

  • Command Line Interface Reference

Revision History

Revision Details

Release

P-GW supports configuring of Address Hold Timer for IPv6.

21.28.m14

Feature Description

In P-GW, if the IPv4 address-hold-timer parameter is enabled and an active subscriber is disconnected, the IP address becomes held or considered still in use. The IP address does not return to the Release state until the address-hold-timer expires.

This enables subscribers who reconnect within the specified length of time (in seconds) to obtain the same IP address from the IP pool.

With this release, the Address Hold Timer feature supports IPv6 pools through a CLI configuration.

Using show CLI configuration commands, you can view the following:

  • The address in USED, HOLD, FREE, and RELEASE state and list of addresses.

  • The busyout states with the address hold timer state.

  • The cumulative number of IP addresses in each state.

Upgrade and Downgrade Process

If the Address Hold Timer CLI is configured, post upgrade this feature works for the IPv6 pool.

If you have enabled the Address Hold Timer for IPv6, post downgrade, where AHT for IPv6 was not supported, the complete IPv6 pool configuration gets ignored. Ensure that the Address Hold Timer for IPv6 gets removed from the configuration before the downgrade procedure.

Configuring Address Hold Timer

Use the following sample configuration to enable the IPv6 address hold timer.


configure 
   context context_name 
      [ no ] ipv6 pool pool_name prefix ip_address/len public priority address-hold-timer address_hold_timer_value 
   end 

NOTES:

  • ipv6 pool pool_name prefix ip_address/len public priority address-hold-timer address_hold_timer_value: Enables address hold timer support for an IPv6 pool.

    If the address-hold-timer is enabled and an active subscriber is disconnected, the IP address is held or considered in use and is not returned to the Free state until the address-hold-timer expires. This enables subscribers who reconnect within the length of time specified (in seconds) to obtain the same IP address from the IP pool.

    For example, Ipv6 pool PUBLIC1V6 prefix 5001::aaaa/48 public 0 address-hold-timer 120


    Note


    • You can configure the address-hold-timer value under different keywords and under the IPv6 pool. However, the address hold timer gets configured with the latest address-hold-timer value configured.

    • The address-hold-timer value is configured in seconds and the value of 0 represents that the address hold timer is disabled.

    • In P-GW, the On the fly change of Address Hold Timer(AHT) is not supported. If the AHT is configured, then ongoing calls do not move to the Hold state. If the AHT is configured and then the call is connected then, the IP moves to the Hold state.

      The On-the-fly Address Hold Timer(AHT) behavior is similar for IPv4 and IPv6 pools.


  • no : Removes the configured address hold timer for a specific pool. For example, no ipv6 pool PUBLIC1V6 address-hold-timer

View IPv6 Pool Values with Address Hold Timer Disabled

Table 1. Feature History

Feature Name

Release Information

Feature Description

View IPv6 Pool Values with Address Hold Timer Disabled

2025.04.0

This feature allows network administrators to view the used and free IPv6 address pool values using show CLI commands, even when the Address Hold Timer (AHT) is disabled for those pools.

This feature allows network administrators to view the used and free IPv6 address pool values using show CLI commands, even when the Address Hold Timer (AHT) is disabled for those pools.

The Address Hold Timer (AHT) is a mechanism that controls how IPv6 addresses are handled after a subscriber disconnects.

  • When AHT is enabled

    If an active subscriber disconnects, their assigned IPv6 address is held in a "hold" state for a configurable duration. This allows the subscriber to potentially reconnect within that timer period and be reassigned the same IP address. The address is not returned to the free pool until the timer expires.

  • When AHT is disabled

    If the address-hold-timer is set to 0, the timer is disabled. This means that IPv6 addresses are immediately released back to the free pool upon subscriber disconnection, making them available for reassignment without any delay.

Previously, when AHT was disabled, the show ipv6 pool command did not display the used and free states of addresses within the pool. This feature enhances the show ipv6 pool command to provide visibility into these states, ensuring that administrators can always see the current allocation status of their IPv6 pools regardless of the AHT setting.

Information About Show IPv6 Pool Values with AHT Disabled

This feature addresses the limitation where the show ipv6 pool command, when used without the Address Hold Timer (AHT) enabled flag, could not display the used and free IPv6 pool values. While the command could show used, free, hold, and release values when AHT was configured, it lacked the ability to show used and free specifically when AHT was disabled.

This enhancement ensures that if AHT is disabled for an IPv6 pool, the show ipv6 pool <pool-name> command, along with keywords like used and free, will correctly display the corresponding IPv6 pool values. The functionality of this feature is designed to be consistent with the behavior of the existing IPv6 Address Hold Timer used command.

Benefits of Show IPv6 Pool Values with AHT Disabled

  • Enables customers to obtain information regarding used and free IPv6 addresses even when the Address Hold Timer (AHT) is disabled.

  • Provides comprehensive visibility into IPv6 address pool utilization under all AHT configuration

Restrictions for Show IPv6 Pool Values with AHT Disabled

  • CUPS Support:

    CUPS (Control and User Plane Separation) is not supported for this feature.

  • Bulkstats:

    Bulkstats are not supported for this feature.

  • Impact Regression:

    Impact regression testing is required.

Configuration Overview

The feature works by enhancing existing show CLI commands. The primary configuration aspect for this feature is ensuring that the Address Hold Timer (AHT) is disabled for the relevant IPv6 pools. This is done by setting the address-hold-timer value to 0 within the IPv6 pool configuration.

configure
   context context_name
      ipv6 pool pool_name prefix ip_address/len public priority address-hold-timer 0
end

Verify Show IPv6 Pool Values with AHT Disabled

After ensuring AHT is disabled for your IPv6 pool, you can use the following show CLI commands to verify the free and used address states:

Example show ipv6 pool command output with free keyword:

[local]laas-setup# show ipv6 pool pool-name PUBLIC1V6 free
+-------- (B) Busyout
|
|+------- (F)-FREE (U)-USED (H)-HOLD (R)-RELEASE
||
|| Address                  NAI/MSID Hash    Hold Timer/           Session Start/Disconnect
||                                           Session ID
vv ======================== ================ ================      =========================
Pool Name: PUBLIC1V6
 F 5001:0:0:1::/64          0000000000000000         -                          -
 F 5001:0:0:2::/64          0000000000000000         -                          -
 F 5001:0:0:3::/64          0000000000000000         -                          -

Example show ipv6 pool command output with used keyword:

[local]laas-setup# show ipv6 pool pool-name PUBLIC1V6 used
+-------- (B) Busyout
|
|+------- (F)-FREE (U)-USED (H)-HOLD (R)-RELEASE
||
|| Address                  NAI/MSID Hash    Hold Timer/           Session Start/Disconnect
||                                           Session ID
vv ======================== ================ ================      =========================
Pool Name: PUBLIC1V6
 U 5001::/64                0000000000000000 15                     Tue Nov 05 07:09:47 2024

Other relevant show commands for validation

  • show ipv6 pool pool-name pool-name-value {USED, HOLD, RELEASE, FREE}

  • show subscribers full all

  • show ip pool summary

  • show config context <context_name> | grep pool

Monitoring and Troubleshooting

This section provides information regarding the CLI command available in support of the Address Hold Timer feature.

Show Command(s) and/or Outputs

This section provides information regarding show commands and/or their outputs in support of this feature.

show ipv6 pool pool_name

The output of the show ipv6 pool pool_name PUBLIC1V6 { free | used | release | hold | limit | wide } command is modified to display the Address hold timer CLI statistics. For example:

 show ipv6 pool pool-name PUBLIC1V6
    Pool Name:     PUBLIC1V6
    Group Name:
    Pool Type:     Public        Priority: 0
    Pool Id:       2001          Vrf: n/a
    Pool Status:   Good
    Start Prefix:  5001::/64
    End Prefix:    5001:0:0:ffff::/64
        Addr-Hold-Timer: 100
        Total Prefix:  65536        Used Prefix: 0      Free Prefix: 65533       On-Hold Prefix: 1       Released Prefix: 2
        Pool Address Type: Normal
    Configured Prefix: 5001::aaaa/48
    User-Plane  ID   : N/A
    Virtual-FE  ID   : N/A
                 Nexthop Forwarding Address: Disabled
      Network Reachability Detection Server: Disabled
                   Suppress-Switchover-ADVS: Disabled
                    Allow-Static-Allocation: Disabled
                   Duplicate-Addr-Detection: Disabled
                          Send-Pilot-Packet: Enabled
                          Advertise-if-used: Disabled
      Addr-Hold-Timer-IPV6: 202                         Group Available Threshold: Disabled    Clear: Disabled
                        Pool-Free Threshold: Disabled    Clear: Disabled
                        Pool-Used Threshold: Disabled    Clear: Disabled
              cip-local-pool-used Threshold: Disabled    Clear: Disabled
       cip-local-pool-in-use-addr Threshold: Disabled    Clear: Disabled

Where:

  • used - An address in the used state is one that is currently in use by a connected subscriber.

  • hold – An address in the hold state is one that has recently been released from the pool, but for which the address-hold timer has not yet expired.

  • free – An address in the free state is one that in not currently in use by a subscriber and has no NAI and IMSI data that are stored from a previous user of this address.

  • release – An address in the released state is one that has been released from the pool, and the address-hold timer has expired for this address. This address has NAI and IMSI data that are stored for the previous subscriber.

  • limit – An address in the limit state displays default 100 IP addresses information, if no limit value is specified.

  • wide – An address in the wide state is one that displays information potentially formatted to greater than 80 columns.