Geo Redundancy (Subscriber Redundancy Group)

This chapter provides information about the support of geographical redundancy through subscriber redundancy groups (SRGs).

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

Subscriber Redundancy Group on Cloud Native BNG

Release 7.8.1

You can now enable redundancy for subscriber sessions across two or more cnBNG user planes spread across different geographical locations by configuring redundancy for that subscriber group.

Subscriber Redundancy Group (SRG) provides flexible redundancy pairing on an access link by mirroring the subscriber session to a standby node.

When SRG is enabled, subscriber sessions are unaffected during the failure of the access link, and maintenance downtimes as the switchover happen from an active to a standby user plane automatically, or the BNG control plane assigns the active role to the user plane.

This feature introduces the following command:

subscriber-redundancy

Overview

Using Subscriber Redundancy Group (SRG), you can now provide redundancy for the subscriber sessions across multiple BNGs located in multiple geographical locations with L3 connectivity over a shared core network through IP or MPLS routing.

SRG provides flexible redundancy pairing on access-link and performs automatic switchovers during dynamic failures or planned events such as maintenance, upgrades, and transitions.

SRG also termed Geo redundancy is a powerful technology that allows session synchronization between two nodes. An active session on one node is mirrored on a standby node, so that when the active link fails, the standby BNG can take over and continue to forward the subscriber session information without any service interruption to the user.

When the subscriber session is up on cnBNG, the control plane BNG synchronizes the state from the active to the backup User Plane (UP) cnBNG. The sessions are mirrored on the standby UP for redundancy by transferring the relevant session state from active UP to standby UP, which can then help in failover (FO) or planned switchover (SO) of sessions from one UP to another. SRG, which is a set of access-interface (or a single access-interface) is introduced in cnBNG, and all subscribers in an SRG would FO or SO as a group.

For more information about the cnBNG control plane, refer to the Cloud Native BNG Control Plane Configuration Guide.

CPEs are agnostic to redundancy. When you enable SRG, CPE peers with the same MAC address and node ID to fall back when there is a failover.

Control plane cNBNG initiates the SRG switchover to the standby node during:

  • Access link failure

  • Core network link failure

  • RP failures

  • Chassis failure

SRG Modes

The SRG has two modes of operation:

  • Hot-standby

  • Warm-standby

However, we support only Hot-Standy mode.

The Hot-standby mode supports 1:1 and M:N submodes.

1:1 Hot-standby

In this mode, 50 percent of the groups are in the active state and 50 percent of the groups are in the standby state.

In this topology, access network AN1 is dual homed to UP1 and UP2. All subscribers from AN1 are grouped under the RG1 group. Access network AN2 is dual homed to UP1 and UP2 and all subscribers from AN2 are grouped under the RG2 group.

cnBNG CP elects RG1 group as active in UP1 and standby in UP2. SRG is configured such that each UP is active for 50 percent of the groups and back up 50 percent of the groups in this mode.

1:1 Hot-standby mode supports the following submodes:

Mode

Description

Illustration

Active-active

In this mode, one cnBNG UP is active for some SRGs and its peer cnBNG UP is active for other SRGs.

Active-standby

In this mode, a cnBNG UP can be a dedicated standby for multiple SRGs from different cnBNG UPs that are active for those respective SRGs.

M:N Hot-standby

In this mode, two nodes are active (M) and one node is standby (N) in the ratio M: N.

In this topology, access network AN1 is dual homed to UP1 and UP2. All subscribers from AN1 are grouped under the RG1 group. Access network AN2 is dual homed to UP1 and UP2 and all subscribers from AN2 are grouped under the RG2 group. Access network AN3 is dual homed to UP1 and UP3 and all subscribers from AN3 are grouped under RG3 group

cnBNG CP elects RG1 group as active in UP1 and standby in UP2. RG2 group is elected as active in UP2 and standby in UP3. Similarly, cnBNG elects RG3 as active in UP3 and standby in UP1.

In this example, we've three active nodes (M) and three standby nodes (N).

  • M denotes an active node. As there are two active nodes, it takes the value 3.

  • N denotes a standby node. As there is only one standby node, it takes the value 3.

So, M: N depicts the ratio 3: 3 (active: standby ratio).

Subscriber Session Set up Call Flow

The following section graphs out the call flow and messaging between cnBNG SRG devices and the session.

Subscriber Session Creation Call flow for SRG

The following call flow illustrates the SRG subscriber session, where UP1 is the active node and UP2 is the standby node.

  1. cnBNG CP triggers the session creation on UP1 after it receives the DHCP request from the CPE.

  2. After the subscriber session is established, UP1 sends a response back to cnBNG CP with the subscriber session details.

  3. cnBNG CP now sends the request to UP2 to mirror the subscriber session.

Figure 1. Subscriber Session Creation for SRG

Subscriber Session attributes Modification Call flow for SRG

RADIUS Co-A (Change of Authorization) allows a RADIUS server to adjust an active client session. The following is the flow for modifying the subscriber session attributes for SRG:

  1. When there’s a COA request from RADIUS, cnBNG CP triggers UP1 to modify the session attributes.

  2. After the subscribers session attributes are modified, UP1 sends a response back to cNBNG CP with the subscriber session attribute details.

  3. cnBNG CP now sends the COA response back to Radius and also triggers the UP2 that has a standby role.

  4. UP2 modifies the session attributes and sends back the response to cnBNG CP.

Figure 2. Subscriber Session attributes Modification for SRG

Subscriber Session Deletion Call flow for SRG

Figure 3. Subscriber Session Deletion Call flow for SRG

Benefits of BNG Geo Redundancy

  • Provides flexible redundancy pairing on access-link

  • Supports multiple access networks such as dual-home and OLT rings

  • Supports various types of subscribers such as IPv4, IPv6, and dual-stack IPoE sessions

  • Supports RP (bundle and virtual access-links) based subscribers

  • Provides failure protection to access link failures, LC failures, RP failures, and chassis failures

  • Performs automatic switchovers during dynamic failures or planned events such as maintenance, upgrades, and transitions

  • Provides fast convergence and rapid setup of sessions, with minimal subscriber impact during switchover

  • Provides automatic routing convergence towards core and efficient address pool management

  • Provides seamless switchover for subscriber CPE without the need for any signaling

Supported Features in BNG Geo Redundancy

These access topologies are supported:

  • SRG active–active mode without any access protocol.

  • Dual-home bundle interfaces with SRG vMAC using CFM or EFD fault detection

  • Ring bundle interfaces with SRG vMAC using CFM or EFD fault detection

  • Other access topologies and design variations may also be used for this feature.

These base geo redundancy features are supported:

  • RP subscribers with Bundle-Ether as access interfaces

  • Multiple SRG groups to different peer routers.

  • Dynamic failure detection using object tracking (link up-down).

  • Dampening timer supported

  • Full BNG scale support (that is, half the scale number with redundancy).

  • G.8032 (dual-home and ring) access technologies.

  • SRG for ambiguous VLAN BNG session is supported only for IPoE subscriber sessions over bundle interface.

Unsupported Features and Restrictions for cnBNG Geo Redundancy

cnBNG Geo Redundancy does not support the following:

  • Warm-standby mode.

  • PWHE

  • PPPOE-PTA

  • MC-LAG

  • IPoE packet-triggered sessions

  • Routed (L3 connected) sessions

  • Multicast

  • LC subscriber sessions with/with out SRG is not supported with PPPoE-PTA, LAC, IPoE Dual stack sessions

  • RP (Bundle Ether or PWHE) based subscriber sessions with SRG is not supported with PPPoE-PTA and LAC sessions

Guidelines to Configure SRG

  • arp-scale-mode should not be configured with SRG.

  • Atleast one VLAN group must be configured to create SRG.

  • For successful synchronization and setup of subscriber sessions between the two BNGs, it is mandatory that the relevant BNG configurations must be identical on the two routers and on the access-interfaces pairs in the SRG.

  • While the access-interfaces or their types (or both) may vary between the paired BNGs, their outer-VLAN tag (that is, S-VLAN imposed by the access or aggregation devices) must be identical.

  • Inconsistencies in base BNG or SRG configurations may result in synchronization failure and improper setup of sessions on the subordinate.

  • You must use only those dual-homing techniques where one side is up or active, and the other side is down or standby. Both sides must not be up and forwarding traffic at the same time.

  • You must use the access-tracking mechanism under the SRG to ensure that its BNG role is always in synchronization with its access-link. Without this, the data or control traffic may get dropped.

  • The access-tracking object used by the SRG must be same as the one used in the routing configuration for conditional advertisement of one or more subscriber summary routes corresponding to that SRG's subscriber address or subnet pools.

  • Including multiple access-links (which do not fail or switchover their roles) together into a single SRG may be challenging, unless mechanisms are implemented to ensure that all these links change state even when one of them fails.

  • Synchronization of the framed IPv6 prefix addresses in the SRG scenario is not supported on satellite bundle access interfaces in dual-homed satellite topology.

  • Redistribution of individual subscriber routes into the routing protocol is not recommended because it slows convergence in failure or switchover events.

  • Recommended design option is to conditionally advertise the summary static route for the subscriber address or subnet pool of the SRG into the core routing protocol, through access-tracking.

  • You can also advertise from both routers with different preferences and use various fast-reroute techniques.

  • To avoid core routing changes in certain failure conditions, there are options to reroute the traffic from the subordinate to the primary (for example, a tunnel or interchassis link) for transient or prolonged intervals.

  • Routing convergence and its correlation with access failures or convergence is a key to the overall end-to-end service impact for subscribers. Multiple options exist to achieve subsecond intervals.

Configure SRG

Perform the following task to configure SRG:


/* Configure SRG and associate it with the access interface */
Router#configure
Router(config)#cnbng-nal location 0/0/CPU0
Router(config-cnbng-nal-local)#subscriber-redundancy
Router(config-cnbng-nal-sub-red)#group group1
Router(config-cnbng-nal-srg-grp)#virtual-mac 0aaa.0bbb.0c01
Router(config-cnbng-nal-srg-grp)# core-tracking core1
Router(config-cnbng-nal-srg-grp)#access-tracking track1
Router(config-cnbng-nal-srg-grp)#access-interface-list
Router(config-cfg-srg-grp-intf)#interface Bundle-Ether1.1
Router(config-cfg-srg-grp-intf)# exit
Router(config-cfg-srg-grp)# fast-switchover-disable
Router(config-cfg-srg-grp)# exit

Router(config-cnbng-nal-sub-red)#group group2
Router(config-cnbng-nal-srg-grp)#virtual-mac 0aaa.0bbb.0a02
Router(config-cnbng-nal-srg-grp)#core-tracking core1
Router(config-cnbng-nal-srg-grp)#access-tracking track1
Router(config-cnbng-nal-srg-grp)#access-interface-list
Router(config-cfg-srg-grp-intf)#interface Bundle-Ether1.2
Router(config-cfg-srg-grp-intf)# exit
Router(config-cfg-srg-grp)# fast-switchover-disable
Router(config-cfg-srg-grp)# exit

Router(config-cnbng-nal-srg-grp-red)#group group3
Router(config-cnbng-nal-srg-grp)#virtual-mac 0aaa.0bba.0a03
Router(config-cnbng-nal-srg-grp)#core-tracking core1
Router(config-cnbng-nal-srg-grp)#access-tracking track1
Router(config-cnbng-nal-srg-grp)#access-interface-list
Router(config-cfg-srg-grp-intf)#interface Bundle-Ether1.3
Router(config-cfg-srg-grp-intf)#exit
Router(config-cfg-srg-grp)#fast-switchover-disable
Router(config-cfg-srg-grp)#exit

Router#show running-config cnbng-nal location 0/0/CPU0
cnbng-nal location 0/0/CPU0
hostidentifier RTR1
up-server ipv4 10.11.11.1 gtp-port 15002 pfcp-port 15003 vrf default
cp-server primary ipv4 10.11.11.2
auto-loopback vrf test
  interface Loopback1
  !
!
auto-loopback vrf default
  interface Loopback0
  !
!
disconnect-history file-logging-enable
spa-req-resp-history file-logging-enable
disable-secondary-address-notification
cp-association retry-count 5
ipoe fsol-flow-control 60
pppoe fsol-flow-control 60
subscriber-redundancy
  group group1
   virtual-mac 0aaa.0bbb.0c01
   core-tracking core1
   access-tracking track1
   access-interface-list
    interface Bundle-Ether1.1
   !
   fast-switchover-disable
  !
  group group2
   virtual-mac 0aaa.0bbb.0a02
   core-tracking core1
   access-tracking track1
   access-interface-list
    interface Bundle-Ether1.2
   !
   fast-switchover-disable
  !
 

Verification

The following show output shows the list of SRG groups that you created and its role:

Router#show cnbng-nal srg-group 
 
====================
Location: 0/0/CPU0
====================
 
Group-name               SRG role  Access OT  Core OT  Subs Count V4 routes V6 routes
----------               --------  ---------  -------- ---------- --------- ---------
group1                   Active    Up         Up       1          2         2        
group2                   Active    Up         Up       1          2         2        
group3                   Active    Up         Up       1          2         2        
 
Total Entries : 3
 
Summary
-------
 
Category                  Total      Active     Standby    None     
------------------------------------------------------------------
Groups                    3          3          0          0        
Subscribers               4          4          0          0        
V4 subnet routes          16         16         0          0        
V6 subnet routes          16         16         0          0        
 

The following show output displays the detailed information about SRG that includes group name, role, ID, subscriber count, and so on.

Router#show cnbng-nal srg-group detail
 
====================
Location: 0/0/CPU0
====================
 
SRG group name                    : group1
SRG group admin state             : UP_CP_Configured
SRG group state                   : Up
SRG role                          : Active
SRG ID                            : 0x00000001
SRG VRF name                      : -NA- (fast-switchover disabled)
Last SRG role update time         : Oct 18 14:38:56.290388
Virtual mac                       : 0AAA.0BBB.0C01
V4 Table Id                       : 0x00000000
V6 Table Id                       : 0x00000000
V4 Proto Id                       : 0x0000ffff
V6 Proto Id                       : 0x0000ffff
Subscriber count                  : 1
IPV4 route count                  : 2
IPV6 route count                  : 2
Damping timer interval            : 120 Sec
Subnet route tag                  : 0
Route export on Standby enable    : False
Fast switchover enable            : False
Ready for role change             : Yes [Success]
FSM State                         : UNKNOWN
Update Request State              : IDLE
Sub disconnect resp pend          : NA
 
Access tracking object
----------------------
    Object name                     : track1
    Tracking state                  : Up
    Last tracking state update time : Oct 18 14:38:39.822489
 
Core tracking object
--------------------
    Object name                     : core1
    Tracking state                  : Up
    Last tracking state update time : Oct 18 14:38:39.821638
 
Access Interfaces
-----------------
    Bundle-Ether1.1
 
IM counters
------------
    Total entries                   : 1
    Pending                         : 0
    On-hold                         : 0
    Total errors                    : 0
 
RIB counters
------------
    Total entries                   : 0
    Pending                         : 0
    Total errors                    : 0
 
STATS counters
------------
    Total entries                   : 0
    Pending                         : 0
    Total errors                    : 0
    Stats state                     : IDLE
 
Flags
-----
Value: [0x00000000]
None
 
Checkpoint Flags
----------------
Value: [0x00000000]
None
 
CP Recon data
-------------
    Duration                        : 0 secs
    Replay reqs in progress         : 0
    Replay subs in progress         : 0
    CP Recon Flags                  : 0x0
 
Subscriber transaction Info
---------------------------
    Subscribers in transaction      : 0
    Subscribers in AF down queue    : 0
    Subscribers in disc queue       : 0
 
Group role switchover stats Info
---------------------------
    Last stats interaction time(A->S):  : 0.0 secs
    Last stats interaction time(S->A):  : 0.0 secs
    Max stats interaction time(A->S):  : 0.0 secs (NA)
    Max stats interaction time(S->A):  : 0.0 secs (NA)
 
Event history
-------------
| Event Name                               | Time Stamp              | S, M
| Group create                             | Oct 18 14:38:39.820086  | 0, 0
| V4 backup vrf create                     | Oct 18 14:38:39.820245  | 0, 0
| V6 backup vrf create                     | Oct 18 14:38:39.820271  | 0, 0
| Role active                              | Oct 18 14:38:56.290385  | 0, 0
| Role active start                        | Oct 18 14:38:56.290388  | 0, 0
| Role active end                          | Oct 18 14:38:56.290446  | 0, 0
| CP action add                            | Oct 18 14:38:56.290447  | 0, 0
| Notify: State Up                         | Oct 18 14:38:56.341312  | 0, 0
| State change ack'ed                      | Oct 18 14:38:56.341434  | 0, 0
 
=======================================================================
 
SRG group name                    : group2
SRG group admin state             : UP_CP_Configured
SRG group state                   : Up
SRG role                          : Active
SRG ID                            : 0x00000002
SRG VRF name                      : -NA- (fast-switchover disabled)
Last SRG role update time         : Oct 18 14:38:57.804402
Virtual mac                       : 0AAA.0BBB.0A02
V4 Table Id                       : 0x00000000
V6 Table Id                       : 0x00000000
V4 Proto Id                       : 0x0000ffff
V6 Proto Id                       : 0x0000ffff
Subscriber count                  : 1
IPV4 route count                  : 2
IPV6 route count                  : 2
Damping timer interval            : 120 Sec
Subnet route tag                  : 0
Route export on Standby enable    : False
Fast switchover enable            : False
Ready for role change             : Yes [Success]
FSM State                         : UNKNOWN
Update Request State              : IDLE
Sub disconnect resp pend          : NA
 
Access tracking object
----------------------
    Object name                     : track1
    Tracking state                  : Up
    Last tracking state update time : Oct 18 14:38:39.823154
 
Core tracking object
--------------------
    Object name                     : core1
    Tracking state                  : Up
    Last tracking state update time : Oct 18 14:38:39.823144
 
Access Interfaces
-----------------
    Bundle-Ether1.2
 
IM counters
------------
    Total entries                   : 1
    Pending                         : 0
    On-hold                         : 0
    Total errors                    : 0
 
RIB counters
------------
    Total entries                   : 0
    Pending                         : 0
    Total errors                    : 0
 
STATS counters
------------
    Total entries                   : 0
    Pending                         : 0
    Total errors                    : 0
    Stats state                     : IDLE
 
Flags
-----
Value: [0x00000000]
None
 
Checkpoint Flags
----------------
Value: [0x00000000]
None
 
CP Recon data
-------------
    Duration                        : 0 secs
    Replay reqs in progress         : 0
    Replay subs in progress         : 0
    CP Recon Flags                  : 0x0
 
Subscriber transaction Info
---------------------------
    Subscribers in transaction      : 0
    Subscribers in AF down queue    : 0
    Subscribers in disc queue       : 0
 
Group role switchover stats Info
---------------------------
    Last stats interaction time(A->S):  : 0.0 secs
    Last stats interaction time(S->A):  : 0.0 secs
    Max stats interaction time(A->S):  : 0.0 secs (NA)
    Max stats interaction time(S->A):  : 0.0 secs (NA)
 
Event history
-------------
| Event Name                               | Time Stamp              | S, M
| Group create                             | Oct 18 14:38:39.822756  | 0, 0
| V4 backup vrf create                     | Oct 18 14:38:39.822846  | 0, 0
| V6 backup vrf create                     | Oct 18 14:38:39.822937  | 0, 0
| Role active                              | Oct 18 14:38:57.804399  | 0, 0
| Role active start                        | Oct 18 14:38:57.804402  | 0, 0
| Role active end                          | Oct 18 14:38:57.804448  | 0, 0
| CP action add                            | Oct 18 14:38:57.804448  | 0, 0
| Notify: State Up                         | Oct 18 14:38:57.855062  | 0, 0
| State change ack'ed                      | Oct 18 14:38:57.855170  | 0, 0
 
=======================================================================