RBFS Redundancy Configurations

Configure RBFS Redundancy

To deploy RBFS in redundancy mode, you must complete the configuration of following on both of the C-BNG nodes.

  • Redundancy Profile

  • Redundancy Session

  • Link Aggregation Group for the Redundancy Session

  • Access for the Redundancy Session

The following steps provide you the commands to configure RBFS Redundancy on the both of the devices which make up the redundancy pair. For more detailed information about RBFS deployment, see RBFS Redundancy Solution Guide.

Redundancy Profile Configuration

Run the following commands to configure redundancy profile on both of the devices (CBNG1 and CBNG2). Redundancy profile configuration is required to enable the devices to identify the peer in the network.

set redundancy profile rd_ipoe_olt1
set redundancy profile rd_ipoe_olt1 switchover-hold-timer 0
set redundancy profile rd_ipoe_olt1 peer ipv4 remote-address 192.1.0.200
set redundancy profile rd_ipoe_olt1 peer ipv4 update-source 192.1.0.100
set redundancy profile rd_ipoe_olt1 peer ipv4 instance default

set redundancy profile rd_ipoe_olt2
set redundancy profile rd_ipoe_olt2 switchover-hold-timer 0
set redundancy profile rd_ipoe_olt2 peer ipv4 remote-address 192.1.0.20
set redundancy profile rd_ipoe_olt2 peer ipv4 update-source 192.1.0.10
set redundancy profile rd_ipoe_olt2 peer ipv4 instance default

Redundancy Session Configuration

Run the following commands to configure session for redundancy. Redundancy sessions can be uniquely identified by session IDs, which are used to store subscriber-specific data between active and standby devices.

set redundancy session 100
set redundancy session 100 priority 20
set redundancy session 100 profile rd_ipoe_olt1

set redundancy session 200
set redundancy session 200 priority 210
set redundancy session 200 profile rd_ipoe_olt2

Redundancy configuration from the node CBNG1 is shown below:

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show config redundancy
{
    "rtbrick-config:redundancy": {
      "profile": [
        {
          "name": "rd_ipoe_olt1",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "192.1.0.200",
              "update-source": "192.1.0.100",
              "instance": "default"
            }
          }
        },
        {
          "name": "rd_ipoe_olt2",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "192.1.0.20",
              "update-source": "192.1.0.10",
              "instance": "default"
            }
          }
        }
      ],
      "session": [
        {
          "session-id": 100,
          "priority": 20,
          "profile": "rd_ipoe_olt1"
        },
        {
          "session-id": 200,
          "priority": 210,
          "profile": "rd_ipoe_olt2"
        }
      ]
    }
  }

Redundancy configuration from the node CBNG2 is shown below:

supervisor@rtbrick>cbng2.rtbrick.net: cfg> show config redundancy
{
    "rtbrick-config:redundancy": {
      "profile": [
        {
          "name": "rd_ipoe_olt1",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "192.1.0.100",
              "update-source": "192.1.0.200",
              "instance": "default"
            }
          }
        },
        {
          "name": "rd_ipoe_olt2",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "192.1.0.10",
              "update-source": "192.1.0.20",
              "instance": "default"
            }
          }
        }
      ],
      "session": [
        {
          "session-id": 100,
          "priority": 10,
          "profile": "rd_ipoe_olt1"
        },
        {
          "session-id": 200,
          "priority": 220,
          "profile": "rd_ipoe_olt2"
        }
      ]
    }
  }

LAG Configuration for Redundancy

Run the following commands to configure LAG on both of the devices (CBNG1 and CBNG2) for redundancy. This configuration is required to associate the redundancy session to LAG.

set link-aggregation interface lag-1
set link-aggregation interface lag-1 mode lacp
set link-aggregation interface lag-1 minimum-link-count 2
set link-aggregation interface lag-1 redundancy-session-id 100
set link-aggregation interface lag-1 system-id a0:aa:aa:aa:aa:aa
set link-aggregation interface lag-1 member-interface ifp-0/1/40
set link-aggregation interface lag-1 member-interface ifp-0/1/41

set link-aggregation interface lag-11
set link-aggregation interface lag-11 mode lacp
set link-aggregation interface lag-11 minimum-link-count 2
set link-aggregation interface lag-11 redundancy-session-id 200
set link-aggregation interface lag-11 system-id a0:aa:aa:aa:aa:a0
set link-aggregation interface lag-11 member-interface ifp-0/1/42
set link-aggregation interface lag-11 member-interface ifp-0/1/43

set link-aggregation interface lag-2
set link-aggregation interface lag-2 mode lacp
set link-aggregation interface lag-2 minimum-link-count 1
set link-aggregation interface lag-2 member-interface ifp-0/1/14
set link-aggregation interface lag-2 member-interface ifp-0/1/15

set link-aggregation interface lag-3
set link-aggregation interface lag-3 mode lacp
set link-aggregation interface lag-3 minimum-link-count 1
set link-aggregation interface lag-3 member-interface ifp-0/1/64
set link-aggregation interface lag-3 member-interface ifp-0/1/66

LAG configuration for redundancy is shown below:

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show config link-aggregation
{
    "rtbrick-config:link-aggregation": {
      "interface": [
        {
          "interface-name": "lag-1",
          "mode": "lacp",
          "minimum-link-count": 2,
          "redundancy-session-id": 100,
          "system-id": "a0:aa:aa:aa:aa:aa",
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/40"
            },
            {
              "member-interface-name": "ifp-0/1/41"
            }
          ]
        },
        {
          "interface-name": "lag-11",
          "mode": "lacp",
          "minimum-link-count": 2,
          "redundancy-session-id": 200,
          "system-id": "a0:aa:aa:aa:aa:a0",
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/42"
            },
            {
              "member-interface-name": "ifp-0/1/43"
            }
          ]
        },
        {
          "interface-name": "lag-2",
          "mode": "lacp",
          "minimum-link-count": 1,
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/14"
            },
            {
              "member-interface-name": "ifp-0/1/15"
            }
          ]
        },
        {
          "interface-name": "lag-3",
          "mode": "lacp",
          "minimum-link-count": 1,
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/64"
            },
            {
              "member-interface-name": "ifp-0/1/66"
            }
          ]
        }
      ]
    }
  }

Access Configuration for Redundancy

Run the following commands to configure access interfaces on both of the devices (CBNG1 and CBNG2) for enabling redundancy.

set access chassis-id 1

set access aaa-profile ipoe-aaa
set access aaa-profile ipoe-aaa session-timeout 0
set access aaa-profile ipoe-aaa idle-timeout 0
set access aaa-profile ipoe-aaa aaa-radius-profile aaa-radius1
set access aaa-profile ipoe-aaa authentication order RADIUS
set access aaa-profile ipoe-aaa accounting order RADIUS
set access aaa-profile ipoe-aaa accounting interim-interval 30
set access aaa-profile ipoe-aaa accounting session-id-format DEFAULT

set access radius-profile aaa-radius1
set access radius-profile aaa-radius1 nas-identifier 192.1.0.1
set access radius-profile aaa-radius1 nas-port-type Ethernet
set access radius-profile aaa-radius1 authentication radius-server-profile-name radius-srv1
set access radius-profile aaa-radius1 accounting radius-server-profile-name radius-srv1
set access radius-profile aaa-radius1 accounting radius-server-profile-name radius-srv1
set access radius-server radius-srv1
set access radius-server radius-srv1 address 192.168.100.2
set access radius-server radius-srv1 source-address 192.1.0.1
set access radius-server radius-srv1 secret-encrypted-text $2b2feb12f730107454b1be6a0f8242b0f
set access radius-server radius-srv1 routing-instance default
set access radius-server radius-srv1 authentication enable true
set access radius-server radius-srv1 authentication timeout 10
set access radius-server radius-srv1 accounting enable true
set access radius-server radius-srv1 accounting timeout 10
set access radius-server radius-srv1 coa enable true

set access access-profile ipoe
set access access-profile ipoe protocol dhcp enable true
set access access-profile ipoe protocol dhcp lease-time 3600
set access access-profile ipoe protocol dhcpv6 enable true
set access access-profile ipoe protocol dhcpv6 lifetime 3600
set access access-profile ipoe address-family ipv4 enable true
set access access-profile ipoe address-family ipv4 pool-name pool1
set access access-profile ipoe address-family ipv4 instance default
set access access-profile ipoe address-family ipv6 enable true
set access access-profile ipoe address-family ipv6 pool-name pool1
set access access-profile ipoe address-family ipv6 prefix-delegation-pool-name pool2
set access access-profile ipoe address-family ipv6 instance default

set access interface double-tagged lag-1 1001 1100 1001 1100
set access interface double-tagged lag-1 1001 1100 1001 1100 access-type IPoE
set access interface double-tagged lag-1 1001 1100 1001 1100 access-profile-name ipoe
set access interface double-tagged lag-1 1001 1100 1001 1100 aaa-profile-name ipoe-aaa
set access interface double-tagged lag-1 1001 1100 1001 1100 gateway-ifl lo-0/0/0/10
set access interface double-tagged lag-1 1001 1100 1001 1100 redundancy-session-id 100
set access interface double-tagged lag-11 1101 1200 1001 1100
set access interface double-tagged lag-11 1101 1200 1001 1100 access-type IPoE
set access interface double-tagged lag-11 1101 1200 1001 1100 access-profile-name ipoe
set access interface double-tagged lag-11 1101 1200 1001 1100 aaa-profile-name ipoe-aaa
set access interface double-tagged lag-11 1101 1200 1001 1100 gateway-ifl lo-0/0/0/10
set access interface double-tagged lag-11 1101 1200 1001 1100 redundancy-session-id 200

set access pool pool1
set access pool pool1 ipv4-address low 10.100.128.1
set access pool pool1 ipv4-address high 15.100.128.255
set access pool pool1 ipv6-prefix low fc55:100:1:1::1/128
set access pool pool1 ipv6-prefix high fc55:100:1:2::5555/128

set access pool pool2
set access pool pool2 ipv6-prefix low fc56:100:1::/56
set access pool pool2 ipv6-prefix high fc56:100:5000::/56

Access Configuration for Redundancy is shown below:

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show config access
{
    "rtbrick-config:access": {
      "chassis-id": 1,
      "aaa-profile": [
        {
          "profile-name": "ipoe-aaa",
          "session-timeout": 0,
          "idle-timeout": 0,
          "aaa-radius-profile": "aaa-radius1",
          "authentication": {
            "order": "RADIUS"
          },
          "accounting": {
            "order": "RADIUS",
            "interim-interval": 30,
            "session-id-format": "DEFAULT"
          }
        }
      ],
      "radius-profile": [
        {
          "profile-name": "aaa-radius1",
          "nas-identifier": "192.1.0.1",
          "nas-port-type": "Ethernet",
          "authentication": {
            "radius-server-profile-name": [
              "radius-srv1"
              ]
          },
          "accounting": {
            "radius-server-profile-name": [
              "radius-srv1"
              ]
          }
        }
      ],
      "radius-server": [
        {
          "server-name": "radius-srv1",
          "address": "192.168.100.2",
          "source-address": "192.1.0.1",
          "secret-encrypted-text": "$2b2feb12f730107454b1be6a0f8242b0f",
          "routing-instance": "default",
          "authentication": {
            "enable": "true",
            "timeout": 10
          },
          "accounting": {
            "enable": "true",
            "timeout": 10
          },
          "coa": {
            "enable": "true"
          }
        }
      ],
      "access-profile": [
        {
          "profile-name": "ipoe",
          "protocol": {
            "dhcp": {
              "enable": "true",
              "lease-time": 3600
            },
            "dhcpv6": {
              "enable": "true",
              "lifetime": 3600
            }
          },
          "address-family": {
            "ipv4": {
              "enable": "true",
              "pool-name": "pool1",
              "instance": "default"
            },
            "ipv6": {
              "enable": "true",
              "pool-name": "pool1",
              "prefix-delegation-pool-name": "pool2",
              "instance": "default"
            }
          }
        }
      ],
      "interface": {
        "double-tagged": [
          {
            "interface-name": "lag-1",
            "outer-vlan-min": 1001,
            "outer-vlan-max": 1100,
            "inner-vlan-min": 1001,
            "inner-vlan-max": 1100,
            "access-type": "IPoE",
            "access-profile-name": "ipoe",
            "aaa-profile-name": "ipoe-aaa",
            "gateway-ifl": "lo-0/0/0/10",
            "redundancy-session-id": 100
          },
          {
            "interface-name": "lag-11",
            "outer-vlan-min": 1101,
            "outer-vlan-max": 1200,
            "inner-vlan-min": 1001,
            "inner-vlan-max": 1100,
            "access-type": "IPoE",
            "access-profile-name": "ipoe",
            "aaa-profile-name": "ipoe-aaa",
            "gateway-ifl": "lo-0/0/0/10",
            "redundancy-session-id": 200
          }
        ]
      },
      "pool": [
        {
          "pool-name": "pool1",
          "ipv4-address": {
            "low": "10.100.128.1",
            "high": "15.100.128.255"
          },
          "ipv6-prefix": {
            "low": "fc55:100:1:1::1/128",
            "high": "fc55:100:1:2::5555/128"
          }
        },
        {
          "pool-name": "pool2",
          "ipv6-prefix": {
            "low": "fc56:100:1::/56",
            "high": "fc56:100:5000::/56"
          }
        }
      ]
    }
  }

BNG Blaster Configuration

BNG Blaster is an open-source network testing platform for access and routing protocols. It can emulate massive PPPoE and IPoE (DHCP) subscribers including IPTV, and L2TP (LNS). One can use this platform for end-to-end BNG and non-BNG router testing. For more information about BNG Blaster, see https://github.com/rtbrick/bngblaster

Configure LAG on BNG Blaster for Redundancy Validation

With BNG blaster, you can validate the C-BNG - IPoE with Redundancy solution implementation and validate the traffic streams. The following is a configuration file that is used in BNG Blaster for validating C-BNG - IPoE with Redundancy.

{
  "interfaces": {
    "tx-interval": 1,
    "rx-interval": 1,
    "lag": [
      {
        "interface": "lag1",
        "lacp": true,
        "lacp-timeout-short": true
      }
    ],
    "links": [
      {
        "interface": "SN-5-C1",
        "lag-interface": "lag1"
      },
      {
        "interface": "SN-6-C1",
        "lag-interface": "lag1"
      },
      {
        "interface": "SN-7-C1",
        "lag-interface": "lag1"
      },
      {
        "interface": "SN-11-C2",
        "lag-interface": "lag1"
      },
      {
        "interface": "SN-12-C2",
        "lag-interface": "lag1"
      },
      {
        "interface": "SN-13-C2",
        "lag-interface": "lag1"
      }
    ],
    "network": [
      {
        "interface": "SN-15-R1",
        "address": "36.1.1.2/24",
        "gateway": "36.1.1.1",
        "isis-instance-id": 1,
        "ldp-instance-id": 1,
        "isis-level": 1
      },
      {
        "interface": "SN-17-R2",
        "address": "46.1.1.2/24",
        "gateway": "46.1.1.1",
        "isis-instance-id": 2,
        "ldp-instance-id": 2,
        "isis-level": 1
      },
      {
        "interface": "SN-19-RR",
        "address": "131.0.0.2/24",
        "gateway": "131.0.0.1",
        "address-ipv6": "fc66:1337:7331::2",
        "gateway-ipv6": "fc66:1337:7331::1",
        "isis-instance-id": 3,
        "ldp-instance-id": 3,
        "isis-level": 1
      }
    ],
    "access": [
      {
        "interface": "lag1",
        "type": "ipoe",
        "outer-vlan-min": 1001,
        "outer-vlan-max": 1100,
        "inner-vlan-min": 1001,
        "inner-vlan-max": 1100
      }
    ]
  },
  "sessions": {
    "count": 10,
    "session-time": 0,
    "max-outstanding": 800,
    "start-rate": 400,
    "stop-rate": 100
  },
  "access-line": {
    "agent-remote-id": "DEU.RTBRICK.{session-global}",
    "agent-circuit-id": "0.0.0.0/0.0.0.0 eth 0:{session-global}",
    "rate-up": 2000,
    "rate-down": 16384,
    "dsl-type": 5
  },
  "dhcp": {
    "enable": true
  },
  "dhcpv6": {
    "enable": true
  },
  "session-traffic": {
    "ipv4-pps": 1,
    "ipv6-pps": 1,
    "ipv6pd-pps": 1,
    "autostart": true
  },
  "isis": [
    {
      "instance-id": 1,
      "area": [
        "49.0002/24"
      ],
      "system-id": "0204.0000.0001",
      "router-id": "192.1.0.36",
      "hostname": "BBL-LSR1",
      "hello-padding": true,
      "teardown-time": 30,
      "external": {
        "mrt-file": "/home/supervisor/isis.mrt",
        "connections": [
          {
            "system-id": "1921.6800.1003",
            "l1-metric": 10
          }
        ]
      }
    },
    {
      "instance-id": 2,
      "area": [
        "49.0002/24"
      ],
      "system-id": "0204.0000.0002",
      "router-id": "192.1.0.46",
      "hostname": "BBL-LSR2",
      "hello-padding": true,
      "teardown-time": 30,
      "external": {
        "mrt-file": "/home/supervisor/isis.mrt",
        "connections": [
          {
            "system-id": "1921.6800.1004",
            "l1-metric": 10
          }
        ]
      }
    },
    {
      "instance-id": 3,
      "area": [
        "49.0002/24"
      ],
      "system-id": "0204.0000.0003",
      "router-id": "192.1.0.56",
      "hostname": "BBL-RR",
      "hello-padding": true,
      "teardown-time": 30,
      "sr-base": 1000,
      "sr-range": 100,
      "sr-node-sid": 56,
      "external": {
        "mrt-file": "/home/supervisor/isis.mrt",
        "connections": [
          {
            "system-id": "1921.6800.1005",
            "l1-metric": 10
          }
        ]
      }
    }
  ],
  "ldp": [
    {
      "instance-id": 1,
      "lsr-id": "192.168.0.36",
      "raw-update-file": "/home/supervisor/out.ldp"
    },
    {
      "instance-id": 2,
      "lsr-id": "192.168.0.46",
      "raw-update-file": "/home/supervisor/out.ldp"
    },
    {
      "instance-id": 3,
      "lsr-id": "192.168.0.56",
      "raw-update-file": "/home/supervisor/out.ldp"
    }
  ],
  "bgp": [
    {
      "__comment__": "RR-IPv4",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "192.1.0.56",
      "peer-ipv4-address": "192.1.0.51",
      "raw-update-file": "/home/supervisor/ipv4_nlri.bgp",
      "local-as": 4200000000,
      "peer-as": 4200000000
    },
    {
      "__comment__": "RR-IPv6",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "192.1.0.56",
      "peer-ipv4-address": "192.1.0.52",
      "raw-update-file": "/home/supervisor/ipv6_nlri.bgp",
      "local-as": 4200000000,
      "peer-as": 4200000000
    }
  ]
}

Validating C-BNG Redundancy and Reachability

The following command line string shows how to start a BNG Blaster instance:

sudo bngblaster -C <filename> -I -c5000

Redundancy Session Data on Active and Standby Nodes

The following data shows a redundancy session status on the active and standby RBFS nodes.

Active C-BNG

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.1.0.200    192.1.0.100    down           stand-alone    52                  52
  200            lag-11         192.1.0.20     192.1.0.10     standby        active         51                  51

Standby C-BNG

supervisor@rtbrick>cbng2.rtbrick.net: cfg> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.1.0.100    192.1.0.200    stand-alone    down           58                  58
  200            lag-11         192.1.0.10     192.1.0.20     active         standby        57                  57

Subscriber State on Active and Standby Nodes

The following configuration data shows the subscriber state in the active and standby RBFS C-BNG nodes.

Active C-BNG:

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1006:1041 IPoE   ESTABLISHED
1369375761697341442    lag-1            1006:1036 IPoE   ESTABLISHED
1369375761697341443    lag-1            1006:1031 IPoE   ESTABLISHED
1369375761697341444    lag-1            1006:1026 IPoE   ESTABLISHED
1369375761697341445    lag-1            1006:1046 IPoE   ESTABLISHED
1369375761697341446    lag-1            1006:1018 IPoE   ESTABLISHED
1369375761697341447    lag-1            1006:1013 IPoE   ESTABLISHED
1369375761697341448    lag-1            1006:1008 IPoE   ESTABLISHED
1369375761697341449    lag-1            1006:1003 IPoE   ESTABLISHED
1369375761697341450    lag-1            1006:1021 IPoE   ESTABLISHED

Standby C-BNG:

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1006:1041 IPoE   STANDBY
1369375761697341442    lag-1            1006:1036 IPoE   STANDBY
1369375761697341443    lag-1            1006:1031 IPoE   STANDBY
1369375761697341444    lag-1            1006:1026 IPoE   STANDBY
1369375761697341445    lag-1            1006:1046 IPoE   STANDBY
1369375761697341446    lag-1            1006:1018 IPoE   STANDBY
1369375761697341447    lag-1            1006:1013 IPoE   STANDBY
1369375761697341448    lag-1            1006:1008 IPoE   STANDBY
1369375761697341449    lag-1            1006:1003 IPoE   STANDBY
1369375761697341450    lag-1            1006:1021 IPoE   STANDBY

The following sections provide the different states before switchover and after switchover in case of a link failure between active C-BNG node and access (OLT) device.

Before Switchover

The following cbng1 state is shown as active and the peer device state is as standby.

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.1.0.200    192.1.0.100    down           stand-alone    52                  52
  200            lag-11         192.1.0.20     192.1.0.10     standby        active         51                  51

cbng1 subscriber state is shown as established:

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1006:1041 IPoE   ESTABLISHED
1369375761697341442    lag-1            1006:1036 IPoE   ESTABLISHED
1369375761697341443    lag-1            1006:1031 IPoE   ESTABLISHED
1369375761697341444    lag-1            1006:1026 IPoE   ESTABLISHED
1369375761697341445    lag-1            1006:1046 IPoE   ESTABLISHED
1369375761697341446    lag-1            1006:1018 IPoE   ESTABLISHED
1369375761697341447    lag-1            1006:1013 IPoE   ESTABLISHED
1369375761697341448    lag-1            1006:1008 IPoE   ESTABLISHED
1369375761697341449    lag-1            1006:1003 IPoE   ESTABLISHED
1369375761697341450    lag-1            1006:1021 IPoE   ESTABLISHED

cbng2 the session state is shown as standby and cbng1 state is shown as active.

supervisor@rtbrick>cbng2.rtbrick.net: cfg> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.1.0.100    192.1.0.200    stand-alone    down           58                  58
  200            lag-11         192.1.0.10     192.1.0.20     active         standby        57                  57

The subscriber state is shown as standby for the cbng2.

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1006:1041 IPoE   STANDBY
1369375761697341442    lag-1            1006:1036 IPoE   STANDBY
1369375761697341443    lag-1            1006:1031 IPoE   STANDBY
1369375761697341444    lag-1            1006:1026 IPoE   STANDBY
1369375761697341445    lag-1            1006:1046 IPoE   STANDBY
1369375761697341446    lag-1            1006:1018 IPoE   STANDBY
1369375761697341447    lag-1            1006:1013 IPoE   STANDBY
1369375761697341448    lag-1            1006:1008 IPoE   STANDBY
1369375761697341449    lag-1            1006:1003 IPoE   STANDBY
1369375761697341450    lag-1            1006:1021 IPoE   STANDBY

After Switchover

After the link failure between the cbng1 (active) and access (OLT) device, cbng1 device goes down and the standby (cbng2) takes over. Now, the cbng2 device comes into the active state. The cbng1 session state is shown as down and the peer device state is stand-alone (active, with no peer).

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.1.0.100    192.1.0.200    stand-alone    invalid        127                 129
  200            lag-11         192.1.0.10     192.1.0.20     stand-alone    invalid        125                 128

The cbng1 subscriber state is shown as standby after the switchover.

supervisor@rtbrick>ufi08.q2c.u23.r4.nbg.rtbrick.net: cfg> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1006:1041 IPoE   STANDBY
1369375761697341442    lag-1            1006:1036 IPoE   STANDBY
1369375761697341443    lag-1            1006:1031 IPoE   STANDBY
1369375761697341444    lag-1            1006:1026 IPoE   STANDBY
1369375761697341445    lag-1            1006:1046 IPoE   STANDBY
1369375761697341446    lag-1            1006:1018 IPoE   STANDBY
1369375761697341447    lag-1            1006:1013 IPoE   STANDBY
1369375761697341448    lag-1            1006:1008 IPoE   STANDBY
1369375761697341449    lag-1            1006:1003 IPoE   STANDBY
1369375761697341450    lag-1            1006:1021 IPoE   STANDBY

The cbng2 state is shown as stand-alone (active, with no peer) and the peer state is down.

supervisor@rtbrick>cbng2.rtbrick.net: cfg> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.1.0.100    192.1.0.200    stand-alone    down           80                  78
  200            lag-11         192.1.0.10     192.1.0.20     active         standby        79                  78

The cbng2 subscriber state is shown as established after the switchover.

supervisor@rtbrick>cbng2.rtbrick.net: cfg> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1006:1041 IPoE   ESTABLISHED
1369375761697341442    lag-1            1006:1036 IPoE   ESTABLISHED
1369375761697341443    lag-1            1006:1031 IPoE   ESTABLISHED
1369375761697341444    lag-1            1006:1026 IPoE   ESTABLISHED
1369375761697341445    lag-1            1006:1046 IPoE   ESTABLISHED
1369375761697341446    lag-1            1006:1018 IPoE   ESTABLISHED
1369375761697341447    lag-1            1006:1013 IPoE   ESTABLISHED
1369375761697341448    lag-1            1006:1008 IPoE   ESTABLISHED
1369375761697341449    lag-1            1006:1003 IPoE   ESTABLISHED
1369375761697341450    lag-1            1006:1021 IPoE   ESTABLISHED
After the link is established between the cbng1 and the access node, the cbng2 device (now active) continues to be active and serves the subscribers. If required, RBFS redundancy supports a manual rollback or revert.

Switchover Scenario for Active C-BNG Node Failure

The following sections provide you the different states before switchover and after switchover in case of a active C-BNG node failure.

Before Switchover

The following cbng1 data shows that the session ID as 100, state is as active and the peer device state is standby before the active node (cbng1) failure and the switchover.

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.1.0.200    192.1.0.100    standby        active         108                 109
  200            lag-11         192.1.0.20     192.1.0.10     standby        active         107                 107

The subscriber state is shown as standby for the cbng1 before failure and the subsequent switchover.

supervisor@rtbrick>cbng1.rtbrick.net: op> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1006:1041 IPoE   STANDBY
1369375761697341442    lag-1            1006:1036 IPoE   STANDBY
1369375761697341443    lag-1            1006:1031 IPoE   STANDBY
1369375761697341444    lag-1            1006:1026 IPoE   STANDBY
1369375761697341445    lag-1            1006:1046 IPoE   STANDBY
1369375761697341446    lag-1            1006:1018 IPoE   STANDBY
1369375761697341447    lag-1            1006:1013 IPoE   STANDBY
1369375761697341448    lag-1            1006:1008 IPoE   STANDBY
1369375761697341449    lag-1            1006:1003 IPoE   STANDBY
1369375761697341450    lag-1            1006:1021 IPoE   STANDBY

The following cbng2 data shows that the session ID as 100, state is as standby and the peer device (cbng1) state is as active before the active node failure and the subsequent switchover.

supervisor@rtbrick>cbng2.rtbrick.net: cfg> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.1.0.100    192.1.0.200    active         standby        111                 110
  200            lag-11         192.1.0.10     192.1.0.20     active         standby        109                 109

The subscriber state is shown as standby for the cbng2 before failure and the subsequent switchover.

supervisor@rtbrick>cbng2.rtbrick.net: cfg> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1002:1034 IPoE   STANDBY
1369375761697341442    lag-1            1002:1035 IPoE   STANDBY
1369375761697341443    lag-1            1002:1036 IPoE   STANDBY
1369375761697341444    lag-1            1002:1037 IPoE   STANDBY
1369375761697341445    lag-1            1002:1038 IPoE   STANDBY
1369375761697341446    lag-1            1002:1039 IPoE   STANDBY
1369375761697341447    lag-1            1002:1040 IPoE   STANDBY

The following cbng2 data shows that the session ID as 100, state is as stand-alone (active, but no peer) and the peer device (cbng1) state is as invalid (as the node went down) after active node failure and the subsequent switchover.

supervisor@rtbrick>cbng2.rtbrick.net: cfg> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.1.0.100    192.1.0.200    stand-alone    invalid        127                 129
  200            lag-11         192.1.0.10     192.1.0.20     stand-alone    invalid        125                 128
supervisor@rt

The subscriber state is shown as established for the cbng2 after the switchover.

supervisor@rtbrick>cbng2.rtbrick.net: cfg> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1006:1041 IPoE   ESTABLISHED
1369375761697341442    lag-1            1006:1036 IPoE   ESTABLISHED
1369375761697341443    lag-1            1006:1031 IPoE   ESTABLISHED
1369375761697341444    lag-1            1006:1026 IPoE   ESTABLISHED
1369375761697341445    lag-1            1006:1046 IPoE   ESTABLISHED
1369375761697341446    lag-1            1006:1018 IPoE   ESTABLISHED
1369375761697341447    lag-1            1006:1013 IPoE   ESTABLISHED
1369375761697341448    lag-1            1006:1008 IPoE   ESTABLISHED
1369375761697341449    lag-1            1006:1003 IPoE   ESTABLISHED
1369375761697341450    lag-1            1006:1021 IPoE   ESTABLISHED

The following cbng1 data shows that the session ID as 100, state is as down and the peer device (cbng2) state is as stand-alone (now active, but no peer) after active node failure and the subsequent switchover.

supervisor@rtbrick>cbng1.rtbrick.net: op> show redundancy session
Instance: default
  Session ID     Peer           Update source  State          Peer state     Keep alive rcvd     Keep alive sent
  100            198.51.100.2      198.51.100.1      down           stand-alone    62523               62524
supervisor@rtbrick>cbng1.rtbrick.net: cfg> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.1.0.200    192.1.0.100    down        stand-alone         108                 109
  200            lag-11         192.1.0.20     192.1.0.10     down        stand-alone         107                 107

The subscriber state is shown as standby for the cbng1 after the recovery from the failure. The cbng1 node will continue as standby even after recovery and there is no automated rollback or reversion.

supervisor@rtbrick>cbng1.rtbrick.net: cfg> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.1.0.200    192.1.0.100    standby        active         6                   5
  200            lag-11         192.1.0.20     192.1.0.10     standby        active         6                   5

Appendix A: RBFS C-BNG Redundancy Configuration

The configuration below shows the redundancy configuration in the CBNG1.

CBNG1: Redundancy Configuration

 "rtbrick-config:redundancy": {
      "profile": [
        {
          "name": "rd_ipoe_olt1",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "198.51.100.200",
              "update-source": "198.51.100.100",
              "instance": "default"
            }
          }
        },
        {
          "name": "rd_ipoe_olt2",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "198.51.100.20",
              "update-source": "198.51.100.10",
              "instance": "default"
            }
          }
        }
      ],
      "session": [
        {
          "session-id": 100,
          "priority": 20,
          "profile": "rd_ipoe_olt1"
        },
        {
          "session-id": 200,
          "priority": 210,
          "profile": "rd_ipoe_olt2"
        }
      ]
    }

CBNG1: LAG association with Redundancy session ID:

"rtbrick-config:link-aggregation": {
      "interface": [
        {
          "interface-name": "lag-1",
          "mode": "lacp",
          "minimum-link-count": 2,
          "redundancy-session-id": 100,
          "system-id": "a0:aa:aa:aa:aa:aa",
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/40"
            },
            {
              "member-interface-name": "ifp-0/1/41"
            }
          ]
        },
        {
          "interface-name": "lag-11",
          "mode": "lacp",
          "minimum-link-count": 2,
          "redundancy-session-id": 200,
          "system-id": "a0:aa:aa:aa:aa:a0",
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/42"
            },
            {
              "member-interface-name": "ifp-0/1/43"
            }
          ]
        }
      ]
    }

CBNG1: Access Interface Association with Redundancy Session ID

"rtbrick-config:access": {
      "interface": {
        "double-tagged": [
          {
            "interface-name": "lag-1",
            "outer-vlan-min": 1001,
            "outer-vlan-max": 1100,
            "inner-vlan-min": 1001,
            "inner-vlan-max": 1100,
            "access-type": "IPoE",
            "access-profile-name": "ipoe",
            "aaa-profile-name": "ipoe-aaa",
            "gateway-ifl": "lo-0/0/0/10",
            "redundancy-session-id": 100
          },
          {
            "interface-name": "lag-11",
            "outer-vlan-min": 1101,
            "outer-vlan-max": 1200,
            "inner-vlan-min": 1001,
            "inner-vlan-max": 1100,
            "access-type": "IPoE",
            "access-profile-name": "ipoe",
            "aaa-profile-name": "ipoe-aaa",
            "gateway-ifl": "lo-0/0/0/10",
            "redundancy-session-id": 200
          }
        ]
      }
   }

Appendix B: RBFS C-BNG2 Redundancy Configuration

The configuration below shows the redundancy configuration in the CBNG2.

CBNG2: Redundancy Configuration

"rtbrick-config:redundancy": {
      "profile": [
        {
          "name": "rd_ipoe_olt1",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "198.51.100.100",
              "update-source": "198.51.100.200",
              "instance": "default"
            }
          }
        },
        {
          "name": "rd_ipoe_olt2",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "198.51.100.10",
              "update-source": "198.51.100.20",
              "instance": "default"
            }
          }
        }
      ],
      "session": [
        {
          "session-id": 100,
          "priority": 10,
          "profile": "rd_ipoe_olt1"
        },
        {
          "session-id": 200,
          "priority": 220,
          "profile": "rd_ipoe_olt2"
        }
      ]
    }

CBNG2: LAG Association with Redundancy Session ID

"rtbrick-config:link-aggregation": {
      "interface": [
        {
          "interface-name": "lag-1",
          "mode": "lacp",
          "minimum-link-count": 2,
          "redundancy-session-id": 100,
          "system-id": "a0:aa:aa:aa:aa:aa",
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/40"
            },
            {
              "member-interface-name": "ifp-0/1/41"
            }
          ]
        },
        {
          "interface-name": "lag-11",
          "mode": "lacp",
          "minimum-link-count": 2,
          "redundancy-session-id": 200,
          "system-id": "a0:aa:aa:aa:aa:a0",
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/42"
            },
            {
              "member-interface-name": "ifp-0/1/43"
            }
          ]
        }
     ]
   }

CBNG2: Access Interface Association with Redundancy Session ID

"rtbrick-config:access": {
      "interface": {
        "double-tagged": [
          {
            "interface-name": "lag-1",
            "outer-vlan-min": 1001,
            "outer-vlan-max": 1100,
            "inner-vlan-min": 1001,
            "inner-vlan-max": 1100,
            "access-type": "IPoE",
            "access-profile-name": "ipoe",
            "aaa-profile-name": "ipoe-aaa",
            "gateway-ifl": "lo-0/0/0/10",
            "redundancy-session-id": 100
          },
          {
            "interface-name": "lag-11",
            "outer-vlan-min": 1101,
            "outer-vlan-max": 1200,
            "inner-vlan-min": 1001,
            "inner-vlan-max": 1100,
            "access-type": "IPoE",
            "access-profile-name": "ipoe",
            "aaa-profile-name": "ipoe-aaa",
            "gateway-ifl": "lo-0/0/0/10",
            "redundancy-session-id": 200
          }
        ]
      }
   }