RBFS Redundancy Configurations

Configure RBFS Redundancy

To deploy RBFS in redundancy mode, you must complete the following configuration on both C-BNG nodes on top of the configuration explained in the RBFS C-BNG for IPoE Subscribers: Reference Design Guide.

  • Redundancy Profile

  • Redundancy Session

  • Link Aggregation Group for the Redundancy Session

  • Access for the Redundancy Session

The following steps provide the commands to configure RBFS Redundancy on both devices, which comprise the redundancy pair. For more detailed information about RBFS Redundancy Deployment, see RBFS Redundancy Solution Guide.

Redundancy Profile Configuration

Run the following commands to configure the redundancy profile on both 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.0.2.200
set redundancy profile rd_ipoe_olt1 peer ipv4 update-source 192.0.2.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.0.2.20
set redundancy profile rd_ipoe_olt2 peer ipv4 update-source 192.0.2.10
set redundancy profile rd_ipoe_olt2 peer ipv4 instance default

Redundancy Session Configuration

Run the following commands to configure the 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.0.2.200",
            "update-source": "192.0.2.100",
            "instance": "default"
          }
        }
      },
      {
        "name": "rd_ipoe_olt2",
        "switchover-hold-timer": 0,
        "peer": {
          "ipv4": {
            "remote-address": "192.0.2.20",
            "update-source": "192.0.2.10",
            "instance": "default"
          }
        }
      }
    ],
    "session": [
      {
        "session-id": 100,
        "priority": 20,
        "profile": "rd_ipoe_olt1"
      },
      {
        "session-id": 200,
        "priority": 210,
        "profile": "rd_ipoe_olt2"
      }
    ]
  }
}

The 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.0.2.100",
            "update-source": "192.0.2.200",
            "instance": "default"
          }
        }
      },
      {
        "name": "rd_ipoe_olt2",
        "switchover-hold-timer": 0,
        "peer": {
          "ipv4": {
            "remote-address": "192.0.2.10",
            "update-source": "192.0.2.20",
            "instance": "default"
          }
        }
      }
    ],
    "session": [
      {
        "session-id": 100,
        "priority": 10,
        "profile": "rd_ipoe_olt1"
      },
      {
        "session-id": 200,
        "priority": 220,
        "profile": "rd_ipoe_olt2"
      }
    ]
  }
}
The session priority value determines the active/standby nodes for a session.

LAG Configuration for Redundancy

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

Run the following commands to configure LAG on CBNG1 for redundancy.

set link-aggregation interface lag-1
set link-aggregation interface lag-1 mode lacp
set link-aggregation interface lag-1 minimum-link-count 3
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/26
set link-aggregation interface lag-1 member-interface ifp-0/1/27
set link-aggregation interface lag-1 member-interface ifp-0/1/28
set link-aggregation interface lag-11
set link-aggregation interface lag-11 mode lacp
set link-aggregation interface lag-11 minimum-link-count 3
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/31
set link-aggregation interface lag-11 member-interface ifp-0/1/33
set link-aggregation interface lag-11 member-interface ifp-0/1/35
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/23
set link-aggregation interface lag-3 member-interface ifp-0/1/24

LAG configuration for redundancy on CBNG1 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": 3,
        "redundancy-session-id": 100,
        "system-id": "a0:aa:aa:aa:aa:aa",
        "member-interface": [
          {
            "member-interface-name": "ifp-0/1/26"
          },
          {
            "member-interface-name": "ifp-0/1/27"
          },
          {
            "member-interface-name": "ifp-0/1/28"
          }
        ]
      },
      {
        "interface-name": "lag-11",
        "mode": "lacp",
        "minimum-link-count": 3,
        "redundancy-session-id": 200,
        "system-id": "a0:aa:aa:aa:aa:a0",
        "member-interface": [
          {
            "member-interface-name": "ifp-0/1/31"
          },
          {
            "member-interface-name": "ifp-0/1/33"
          },
          {
            "member-interface-name": "ifp-0/1/35"
          }
        ]
      },
      {
        "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/23"
          },
          {
            "member-interface-name": "ifp-0/1/24"
          }
        ]
      }
    ]
  }
}

Run the following commands to configure LAG on CBNG2 for redundancy.

set link-aggregation interface lag-1
set link-aggregation interface lag-1 mode lacp
set link-aggregation interface lag-1 minimum-link-count 3
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/26
set link-aggregation interface lag-1 member-interface ifp-0/1/27
set link-aggregation interface lag-1 member-interface ifp-0/1/28
set link-aggregation interface lag-11
set link-aggregation interface lag-11 mode lacp
set link-aggregation interface lag-11 minimum-link-count 3
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/31
set link-aggregation interface lag-11 member-interface ifp-0/1/33
set link-aggregation interface lag-11 member-interface ifp-0/1/35
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/23
set link-aggregation interface lag-3 member-interface ifp-0/1/24

LAG configuration for redundancy on CBNG2 is shown below:

supervisor@rtbrick>cbng2.rtbrick.net: cfg> show config link-aggregation
{
  "rtbrick-config:link-aggregation": {
    "interface": [
      {
        "interface-name": "lag-1",
        "mode": "lacp",
        "minimum-link-count": 3,
        "redundancy-session-id": 100,
        "system-id": "a0:aa:aa:aa:aa:aa",
        "member-interface": [
          {
            "member-interface-name": "ifp-0/1/30"
          },
          {
            "member-interface-name": "ifp-0/1/32"
          },
          {
            "member-interface-name": "ifp-0/1/33"
          }
        ]
      },
      {
        "interface-name": "lag-11",
        "mode": "lacp",
        "minimum-link-count": 3,
        "redundancy-session-id": 200,
        "system-id": "a0:aa:aa:aa:aa:a0",
        "member-interface": [
          {
            "member-interface-name": "ifp-0/1/34"
          },
          {
            "member-interface-name": "ifp-0/1/35"
          },
          {
            "member-interface-name": "ifp-0/1/47"
          }
        ]
      },
      {
        "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/25"
          },
          {
            "member-interface-name": "ifp-0/1/26"
          }
        ]
      }
    ]
  }
}

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.0.2.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-server radius-srv1
set access radius-server radius-srv1 address 198.51.100.98
set access radius-server radius-srv1 source-address 192.0.2.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 2000 1001 1100
set access interface double-tagged lag-1 1001 2000 1001 1100 access-type IPoE
set access interface double-tagged lag-1 1001 2000 1001 1100 access-profile-name ipoe
set access interface double-tagged lag-1 1001 2000 1001 1100 aaa-profile-name ipoe-aaa
set access interface double-tagged lag-1 1001 2000 1001 1100 gateway-ifl lo-0/0/0/10
set access interface double-tagged lag-1 1001 2000 1001 1100 redundancy-session-id 100
set access interface double-tagged lag-11 2001 3000 1001 1100
set access interface double-tagged lag-11 2001 3000 1001 1100 access-type IPoE
set access interface double-tagged lag-11 2001 3000 1001 1100 access-profile-name ipoe
set access interface double-tagged lag-11 2001 3000 1001 1100 aaa-profile-name ipoe-aaa
set access interface double-tagged lag-11 2001 3000 1001 1100 gateway-ifl lo-0/0/0/10
set access interface double-tagged lag-11 2001 3000 1001 1100 redundancy-session-id 200
set access pool pool1
set access pool pool1 ipv4-address low 11.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::/56set redundancy profile rd_ipoe_olt1

Access Configuration for Redundancy on CBNG-1 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.0.2.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": "198.51.100.98",
        "source-address": "192.0.2.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": 2000,
          "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": 2001,
          "outer-vlan-max": 3000,
          "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": "11.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"
        }
      }
    ]
  }
}

Access Configuration for Redundancy on CBNG-2 is shown below:

supervisor@rtbrick>cbng2.rtbrick.net: cfg> show config access
{
  "rtbrick-config:access": {
    "chassis-id": 2,
    "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.0.2.2",
        "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": "198.51.100.98",
        "source-address": "192.0.2.2",
        "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": 2000,
          "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": 2001,
          "outer-vlan-max": 3000,
          "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": "16.100.128.1",
          "high": "20.100.128.255"
        },
        "ipv6-prefix": {
          "low": "fc66:100:1:1::1/128",
          "high": "fc66:100:1:2::5555/128"
        }
      },
      {
        "pool-name": "pool2",
        "ipv6-prefix": {
          "low": "fc67:100:1::/56",
          "high": "fc67:100:5000::/56"
        }
      }
    ]
  }
}
supervisor@rtbrick>ufi09.q2c.u19.r4.nbg.rtbrick.net: cfg>

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 the traffic streams. BNG Blaster uses the following configuration file to validate C-BNG - IPoE with Redundancy.

{
  "interfaces": {
    "tx-interval": 1,
    "rx-interval": 1,
    "lag": [
      {
        "interface": "lag1",
        "lacp": true,
        "lacp-timeout-short": true
      },
      {
        "interface": "lag11",
        "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"
      },
      {
        "interface": "SN-20-C1",
        "lag-interface": "lag11"
      },
      {
        "interface": "SN-21-C1",
        "lag-interface": "lag11"
      },
      {
        "interface": "SN-22-C1",
        "lag-interface": "lag11"
      },
      {
        "interface": "SN-23-C2",
        "lag-interface": "lag11"
      },
      {
        "interface": "SN-24-C2",
        "lag-interface": "lag11"
      },
      {
        "interface": "SN-25-C2",
        "lag-interface": "lag11"
      }
    ],
    "network": [
      {
        "interface": "SN-19-RR",
        "address": "192.0.2.130/30",
        "gateway": "192.0.2.129",
        "address-ipv6": "2001:db8::130",
        "gateway-ipv6": "2001:db8::129",
        "isis-instance-id": 1,
        "isis-level": 1,
        "ldp-instance-id": 1
      }
    ],
    "access": [
      {
        "interface": "lag1",
        "type": "ipoe",
        "agent-remote-id": "CBNG1.RTBRICK.{session-global}",
        "outer-vlan-min": 1001,
        "outer-vlan-max": 2000,
        "inner-vlan-min": 1001,
        "inner-vlan-max": 1100
      },
      {
        "interface": "lag11",
        "type": "ipoe",
        "agent-remote-id": "CBNG2.RTBRICK.{session-global}",
        "outer-vlan-min": 2001,
        "outer-vlan-max": 3000,
        "inner-vlan-min": 1001,
        "inner-vlan-max": 1100
      }
    ]
  },
  "sessions": {
    "count": 20000,
    "max-outstanding": 800,
    "start-rate": 400,
    "stop-rate": 400
  },
  "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": {
    "ldra": true,
    "enable": true
  },
  "session-traffic": {
    "ipv4-pps": 1,
    "ipv6-pps": 1,
    "ipv6pd-pps": 1,
    "autostart": false
  },
  "ldp": [
    {
      "instance-id": 1,
      "lsr-id": "192.0.2.6",
      "keepalive-time": 30,
      "raw-update-file": "/home/supervisor/ldp_1000.ldp"
    }
  ],
  "isis": [
    {
      "instance-id": 1,
      "area": [
        "49.0002/24"
      ],
      "system-id": "0204.0000.0001",
      "router-id": "192.0.2.6",
      "hostname": "BBL-RR",
      "hello-padding": true,
      "teardown-time": 30,
      "external": {
        "mrt-file": "/home/supervisor/isis_1000.mrt",
        "connections": [
          {
            "system-id": "0300.1001.0001",
            "l1-metric": 10
          }
        ]
      }
    }
  ],
  "bgp": [
    {
      "__comment__": "RR1-C1-IPv4",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.10",
      "peer-ipv4-address": "192.0.2.1",
      "raw-update-file": "/home/supervisor/ipv4_nlri_nh1.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR1-C1-IPv6",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.20",
      "peer-ipv4-address": "192.0.2.1",
      "raw-update-file": "/home/supervisor/ipv6_nlri_nh1.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR1-C2-IPv4",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.10",
      "peer-ipv4-address": "192.0.2.2",
      "raw-update-file": "/home/supervisor/ipv4_nlri_nh1.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR1-C2-IPv6",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.20",
      "peer-ipv4-address": "192.0.2.2",
      "raw-update-file": "/home/supervisor/ipv6_nlri_nh1.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR2-C1-IPv4",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.30",
      "peer-ipv4-address": "192.0.2.1",
      "raw-update-file": "/home/supervisor/ipv4_nlri_nh2.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR2-C1-IPv6",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.40",
      "peer-ipv4-address": "192.0.2.1",
      "raw-update-file": "/home/supervisor/ipv6_nlri_nh2.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR2-C2-IPv4",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.30",
      "peer-ipv4-address": "192.0.2.2",
      "raw-update-file": "/home/supervisor/ipv4_nlri_nh2.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR2-C2-IPv6",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.40",
      "peer-ipv4-address": "192.0.2.2",
      "raw-update-file": "/home/supervisor/ipv6_nlri_nh2.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    }
  ]
}

Validating C-BNG Redundancy and Reachability

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

sudo bngblaster -C <filename> -I -c10

Redundancy Session Data and Subscriber States on Active and Standby Nodes

CBNG-1: Before switchover, which is the actual state

supervisor@rtbrick>cbng1.rtbrick.net: op> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.0.2.200    192.0.2.100    active         standby        91                  92
  200            lag-11         192.0.2.20     192.0.2.10     standby        active         91                  91
supervisor@rtbrick>cbng1.rtbrick.net: op>
supervisor@rtbrick>cbng1.rtbrick.net: op> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1001:1001 IPoE   ESTABLISHED
1369375761697341442    lag-1            1001:1002 IPoE   ESTABLISHED
1369375761697341443    lag-1            1001:1003 IPoE   ESTABLISHED
1369375761697341444    lag-1            1001:1004 IPoE   ESTABLISHED
1369375761697341445    lag-1            1001:1005 IPoE   ESTABLISHED
2522297266304188417    lag-11           2001:1001 IPoE   STANDBY
2522297266304188418    lag-11           2001:1002 IPoE   STANDBY
2522297266304188419    lag-11           2001:1003 IPoE   STANDBY
2522297266304188420    lag-11           2001:1004 IPoE   STANDBY
2522297266304188421    lag-11           2001:1005 IPoE   STANDBY
supervisor@rtbrick>cbng1.rtbrick.net: op>

CBNG-2: Before switchover, which is the actual state

supervisor@rtbrick>cbng2.rtbrick.net: op>  show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.0.2.100    192.0.2.200    standby        active         94                  93
  200            lag-11         192.0.2.10     192.0.2.20     active         standby        93                  93
supervisor@rtbrick>cbng2.rtbrick.net: op>
supervisor@rtbrick>cbng2.rtbrick.net: op> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1001:1001 IPoE   STANDBY
1369375761697341442    lag-1            1001:1002 IPoE   STANDBY
1369375761697341443    lag-1            1001:1003 IPoE   STANDBY
1369375761697341444    lag-1            1001:1004 IPoE   STANDBY
1369375761697341445    lag-1            1001:1005 IPoE   STANDBY
2522297266304188417    lag-11           2001:1001 IPoE   ESTABLISHED
2522297266304188418    lag-11           2001:1002 IPoE   ESTABLISHED
2522297266304188419    lag-11           2001:1003 IPoE   ESTABLISHED
2522297266304188420    lag-11           2001:1004 IPoE   ESTABLISHED
2522297266304188421    lag-11           2001:1005 IPoE   ESTABLISHED
supervisor@rtbrick>cbng2.rtbrick.net: op>

After link (connecting OLT1 to CBNG1) is brought down, the state becomes down for the RD session 100 and for the same session, the other CBNG becomes stand-alone.

CBNG-1:

supervisor@rtbrick>cbng1.rtbrick.net: op> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.0.2.200    192.0.2.100    down           stand-alone    113                 114
  200            lag-11         192.0.2.20     192.0.2.10     standby        active         114                 114
supervisor@rtbrick>cbng1.rtbrick.net: op>
supervisor@rtbrick>cbng1.rtbrick.net: op> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1001:1001 IPoE   STANDBY
1369375761697341442    lag-1            1001:1002 IPoE   STANDBY
1369375761697341443    lag-1            1001:1003 IPoE   STANDBY
1369375761697341444    lag-1            1001:1004 IPoE   STANDBY
1369375761697341445    lag-1            1001:1005 IPoE   STANDBY
2522297266304188417    lag-11           2001:1001 IPoE   STANDBY
2522297266304188418    lag-11           2001:1002 IPoE   STANDBY
2522297266304188419    lag-11           2001:1003 IPoE   STANDBY
2522297266304188420    lag-11           2001:1004 IPoE   STANDBY
2522297266304188421    lag-11           2001:1005 IPoE   STANDBY
supervisor@rtbrick>cbng1.rtbrick.net: op>

CBNG-2:

supervisor@rtbrick>cbng2.rtbrick.net: op> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.0.2.100    192.0.2.200    stand-alone    down           115                 114
  200            lag-11         192.0.2.10     192.0.2.20     active         standby        115                 115
supervisor@rtbrick>cbng2.rtbrick.net: op>
supervisor@rtbrick>cbng2.rtbrick.net: op> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1001:1001 IPoE   ESTABLISHED
1369375761697341442    lag-1            1001:1002 IPoE   ESTABLISHED
1369375761697341443    lag-1            1001:1003 IPoE   ESTABLISHED
1369375761697341444    lag-1            1001:1004 IPoE   ESTABLISHED
1369375761697341445    lag-1            1001:1005 IPoE   ESTABLISHED
2522297266304188417    lag-11           2001:1001 IPoE   ESTABLISHED
2522297266304188418    lag-11           2001:1002 IPoE   ESTABLISHED
2522297266304188419    lag-11           2001:1003 IPoE   ESTABLISHED
2522297266304188420    lag-11           2001:1004 IPoE   ESTABLISHED
2522297266304188421    lag-11           2001:1005 IPoE   ESTABLISHED
supervisor@rtbrick>cbng2.rtbrick.net: op>

CBNG-1:

supervisor@rtbrick>cbng1.rtbrick.net: op> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.0.2.200    192.0.2.100    standby        active         163                 164
  200            lag-11         192.0.2.20     192.0.2.10     standby        active         163                 163
supervisor@rtbrick>cbng1.rtbrick.net: op>
supervisor@rtbrick>cbng1.rtbrick.net: op> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1001:1001 IPoE   STANDBY
1369375761697341442    lag-1            1001:1002 IPoE   STANDBY
1369375761697341443    lag-1            1001:1003 IPoE   STANDBY
1369375761697341444    lag-1            1001:1004 IPoE   STANDBY
1369375761697341445    lag-1            1001:1005 IPoE   STANDBY
2522297266304188417    lag-11           2001:1001 IPoE   STANDBY
2522297266304188418    lag-11           2001:1002 IPoE   STANDBY
2522297266304188419    lag-11           2001:1003 IPoE   STANDBY
2522297266304188420    lag-11           2001:1004 IPoE   STANDBY
2522297266304188421    lag-11           2001:1005 IPoE   STANDBY
supervisor@rtbrick>cbng1.rtbrick.net: op>

CBNG-2:

supervisor@rtbrick>cbng2.rtbrick.net: op> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.0.2.100    192.0.2.200    active         standby        166                 165
  200            lag-11         192.0.2.10     192.0.2.20     active         standby        165                 165
supervisor@rtbrick>cbng2.rtbrick.net: op>
supervisor@rtbrick>cbng2.rtbrick.net: op> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1001:1001 IPoE   ESTABLISHED
1369375761697341442    lag-1            1001:1002 IPoE   ESTABLISHED
1369375761697341443    lag-1            1001:1003 IPoE   ESTABLISHED
1369375761697341444    lag-1            1001:1004 IPoE   ESTABLISHED
1369375761697341445    lag-1            1001:1005 IPoE   ESTABLISHED
2522297266304188417    lag-11           2001:1001 IPoE   ESTABLISHED
2522297266304188418    lag-11           2001:1002 IPoE   ESTABLISHED
2522297266304188419    lag-11           2001:1003 IPoE   ESTABLISHED
2522297266304188420    lag-11           2001:1004 IPoE   ESTABLISHED
2522297266304188421    lag-11           2001:1005 IPoE   ESTABLISHED
supervisor@rtbrick>cbng2.rtbrick.net: op>
To revert to the original active-standby mode based on the priority, a manual switchover can be performed using the switch-over session 100 confirm command.

Switchover Scenario for Active C-BNG Node Failure

CBNG-2’s Session State and Subscriber State After node failure

supervisor@rtbrick>cbng2.rtbrick.net: op> show redundancy session
Instance: default
  Session ID     Interface      Peer           Source         State          Peer state     Keepalive rcvd      Keepalive sent
  100            lag-1          192.0.2.100    192.0.2.200    stand-alone    invalid        194                 196
  200            lag-11         192.0.2.10     192.0.2.20     stand-alone    invalid        193                 196
supervisor@rtbrick>cbng2.rtbrick.net: op>
supervisor@rtbrick>cbng2.rtbrick.net: op> show subscriber
Subscriber-Id          Interface        VLAN      Type   State
1369375761697341441    lag-1            1001:1001 IPoE   ESTABLISHED
1369375761697341442    lag-1            1001:1002 IPoE   ESTABLISHED
1369375761697341443    lag-1            1001:1003 IPoE   ESTABLISHED
1369375761697341444    lag-1            1001:1004 IPoE   ESTABLISHED
1369375761697341445    lag-1            1001:1005 IPoE   ESTABLISHED
2522297266304188417    lag-11           2001:1001 IPoE   ESTABLISHED
2522297266304188418    lag-11           2001:1002 IPoE   ESTABLISHED
2522297266304188419    lag-11           2001:1003 IPoE   ESTABLISHED
2522297266304188420    lag-11           2001:1004 IPoE   ESTABLISHED
2522297266304188421    lag-11           2001:1005 IPoE   ESTABLISHED
supervisor@rtbrick>cbng2.rtbrick.net: op>

Appendix A: CBNG1 Configuration

Show CBNG1 Configuration
{
  "ietf-restconf:data": {
    "rtbrick-config:system": {
      "load-last-config": "true",
      "host": {
        "element-name": "ufi08.q2c.u23.r4.nbg.rtbrick.net",
        "pod-name": "nbg4"
      }
    },
    "rtbrick-config:redundancy": {
      "profile": [
        {
          "name": "rd_ipoe_olt1",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "192.0.2.200",
              "update-source": "192.0.2.100",
              "instance": "default"
            }
          }
        },
        {
          "name": "rd_ipoe_olt2",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "192.0.2.20",
              "update-source": "192.0.2.10",
              "instance": "default"
            }
          }
        }
      ],
      "session": [
        {
          "session-id": 100,
          "priority": 20,
          "profile": "rd_ipoe_olt1"
        },
        {
          "session-id": 200,
          "priority": 210,
          "profile": "rd_ipoe_olt2"
        }
      ]
    },
    "rtbrick-config:interface": [
      {
        "name": "ifp-0/1/23",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/24",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/25",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/26",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/27",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/28",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/31",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/33",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/35",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/37",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/40",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/41",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/42",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/43",
        "speed": "10G"
      },
      {
        "name": "lag-2",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.61/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::61/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "lag-3",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.69/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::69/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "lo-0/0/0",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.1/32"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::1/128"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "lo-0/0/1",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.100/32"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::100/128"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "lo-0/0/2",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.10/32"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::10/128"
                }
              ]
            }
          }
        ]
      }
    ],
    "rtbrick-config:forwarding-options": {
      "class-of-service": {
        "classifier": [
          {
            "classifier-name": "subs-exp-class",
            "match-type": [
              {
                "match-type": "exp",
                "codepoint": [
                  {
                    "codepoint": 1,
                    "class": "class-0"
                  },
                  {
                    "codepoint": 2,
                    "class": "class-1"
                  },
                  {
                    "codepoint": 3,
                    "class": "class-2"
                  },
                  {
                    "codepoint": 4,
                    "class": "class-3"
                  }
                ]
              }
            ]
          },
          {
            "classifier-name": "subs-pbit-class",
            "match-type": [
              {
                "match-type": "ieee-802.1",
                "codepoint": [
                  {
                    "codepoint": 1,
                    "class": "class-0"
                  },
                  {
                    "codepoint": 2,
                    "class": "class-1"
                  },
                  {
                    "codepoint": 3,
                    "class": "class-2"
                  },
                  {
                    "codepoint": 4,
                    "class": "class-3"
                  }
                ]
              }
            ]
          }
        ],
        "class-policer-map": [
          {
            "class-policer-map-name": "policer-map-residential",
            "class": [
              {
                "class": "class-0",
                "policer-level": "level-1"
              },
              {
                "class": "class-1",
                "policer-level": "level-2"
              },
              {
                "class": "class-2",
                "policer-level": "level-3"
              },
              {
                "class": "class-3",
                "policer-level": "level-4"
              }
            ]
          }
        ],
        "class-queue-map": [
          {
            "class-queue-map-name": "subs-4queues",
            "class": [
              {
                "class-type": "class-0",
                "queue-name": "BE_SUBS"
              },
              {
                "class-type": "class-1",
                "queue-name": "LD_SUBS"
              },
              {
                "class-type": "class-2",
                "queue-name": "LL_SUBS"
              },
              {
                "class-type": "class-3",
                "queue-name": "VO_SUBS"
              }
            ]
          }
        ],
        "global": {
          "multifield-classifier-name": "global_udpmfc"
        },
        "interface": [
          {
            "name": "lag-1",
            "ingress-header-compensation": {
              "bytes": 34,
              "decrement": "true"
            },
            "scheduler-map-name": "schedmap-olt"
          },
          {
            "name": "lag-11",
            "ingress-header-compensation": {
              "bytes": 34,
              "decrement": "true"
            },
            "scheduler-map-name": "schedmap-olt"
          }
        ],
        "policer": [
          {
            "policer-name": "policer-residential",
            "level1-rates": {
              "cir": 2000,
              "cbs": 1000,
              "pir": 2500,
              "pbs": 1000
            },
            "level2-rates": {
              "cir": 3000,
              "cbs": 1000,
              "pir": 3500,
              "pbs": 1000
            },
            "level3-rates": {
              "cir": 4000,
              "cbs": 1000,
              "pir": 4500,
              "pbs": 1000
            },
            "level4-rates": {
              "cir": 1000,
              "cbs": 1000,
              "pir": 1500,
              "pbs": 1000
            },
            "levels": 4,
            "type": "two-rate-three-color"
          },
          {
            "policer-name": "policer-residential-gold",
            "level1-rates": {
              "cir": 1000,
              "cbs": 1000,
              "pir": 1500,
              "pbs": 1000
            },
            "level2-rates": {
              "cir": 2000,
              "cbs": 1000,
              "pir": 2500,
              "pbs": 1000
            },
            "level3-rates": {
              "cir": 3000,
              "cbs": 1000,
              "pir": 3500,
              "pbs": 1000
            },
            "level4-rates": {
              "cir": 1000,
              "cbs": 1000,
              "pir": 1500,
              "pbs": 1000
            },
            "levels": 4,
            "type": "two-rate-three-color"
          },
          {
            "policer-name": "policer-residential-platinum",
            "level1-rates": {
              "cir": 5000,
              "cbs": 1000,
              "pir": 5500,
              "pbs": 1000
            },
            "level2-rates": {
              "cir": 6000,
              "cbs": 1000,
              "pir": 6500,
              "pbs": 1000
            },
            "level3-rates": {
              "cir": 5000,
              "cbs": 1000,
              "pir": 5500,
              "pbs": 1000
            },
            "level4-rates": {
              "cir": 6000,
              "cbs": 1000,
              "pir": 6500,
              "pbs": 1000
            },
            "levels": 4,
            "type": "two-rate-three-color"
          }
        ],
        "profile": [
          {
            "profile-name": "subs-triple-play",
            "classifier-name": "subs-pbit-class",
            "class-queue-map-name": "subs-4queues",
            "remark-map-name": "subs-remarking-triple-play",
            "class-policer-map-name": "policer-map-residential",
            "policer-name": "policer-residential",
            "scheduler-map-name": "subs-4queues-triple-play"
          },
          {
            "profile-name": "subs-triple-play-gold",
            "classifier-name": "subs-pbit-class",
            "class-queue-map-name": "subs-4queues",
            "remark-map-name": "subs-remarking-triple-play",
            "class-policer-map-name": "policer-map-residential",
            "policer-name": "policer-residential-gold",
            "scheduler-map-name": "subs-4queues-triple-play-gold"
          },
          {
            "profile-name": "subs-triple-play-platinum",
            "classifier-name": "subs-pbit-class",
            "class-queue-map-name": "subs-4queues",
            "remark-map-name": "subs-remarking-triple-play",
            "class-policer-map-name": "policer-map-residential",
            "policer-name": "policer-residential-platinum",
            "scheduler-map-name": "subs-4queues-triple-play-platinum"
          }
        ],
        "queue": [
          {
            "queue-name": "BE_SUBS",
            "queue-size": 375000,
            "header-compensation": {
              "bytes": 22,
              "decrement": "true"
            }
          },
          {
            "queue-name": "LD_SUBS",
            "queue-size": 625000,
            "header-compensation": {
              "bytes": 22,
              "decrement": "true"
            }
          },
          {
            "queue-name": "LL_SUBS",
            "queue-size": 625000,
            "header-compensation": {
              "bytes": 22,
              "decrement": "true"
            }
          },
          {
            "queue-name": "VO_SUBS",
            "queue-size": 156250,
            "shaper-name": "shaper_VO",
            "header-compensation": {
              "bytes": 22,
              "decrement": "true"
            }
          }
        ],
        "queue-group": [
          {
            "queue-group-name": "subs-4queues",
            "queue-numbers": 4
          }
        ],
        "remark-map": [
          {
            "remark-map-name": "subs-remarking-triple-play",
            "remark-type": [
              {
                "remark-type": "ieee-802.1",
                "match-codepoint": [
                  {
                    "match-codepoint": 1,
                    "color": [
                      {
                        "color": "all",
                        "remark-codepoint": 3
                      }
                    ]
                  },
                  {
                    "match-codepoint": 2,
                    "color": [
                      {
                        "color": "all",
                        "remark-codepoint": 4
                      }
                    ]
                  },
                  {
                    "match-codepoint": 3,
                    "color": [
                      {
                        "color": "all",
                        "remark-codepoint": 5
                      }
                    ]
                  },
                  {
                    "match-codepoint": 224,
                    "color": [
                      {
                        "color": "all",
                        "remark-codepoint": 6
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "scheduler": [
          {
            "scheduler-name": "pon0",
            "shaper-name": "pon_shaper",
            "type": "fair_queueing"
          },
          {
            "scheduler-name": "pon1",
            "type": "fair_queueing"
          },
          {
            "scheduler-name": "subs-4queues",
            "shaper-name": "shaper_session",
            "type": "strict_priority",
            "composite": "false"
          },
          {
            "scheduler-name": "subs-4queues-gold",
            "shaper-name": "shaper_session_gold",
            "type": "strict_priority",
            "composite": "false"
          },
          {
            "scheduler-name": "subs-4queues-platinum",
            "shaper-name": "shaper_session_platinum",
            "type": "strict_priority",
            "composite": "false"
          }
        ],
        "scheduler-map": [
          {
            "scheduler-map-name": "schedmap-olt",
            "scheduler-name": [
              {
                "name": "pon0",
                "port-connection": "scheduler_to_port"
              },
              {
                "name": "pon1",
                "port-connection": "scheduler_to_port"
              }
            ]
          },
          {
            "scheduler-map-name": "subs-4queues-triple-play",
            "queue-group-name": [
              {
                "group-name": "subs-4queues",
                "queue-name": [
                  {
                    "name": "BE_SUBS",
                    "parent-flow": "low-flow",
                    "parent-scheduler-name": "subs-4queues",
                    "connection-point": "strict_priority_3"
                  },
                  {
                    "name": "LD_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues",
                    "connection-point": "strict_priority_1"
                  },
                  {
                    "name": "LL_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues",
                    "connection-point": "strict_priority_2"
                  },
                  {
                    "name": "VO_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues",
                    "connection-point": "strict_priority_0"
                  }
                ]
              }
            ],
            "scheduler-name": [
              {
                "name": "subs-4queues",
                "port-connection": "scheduler_to_port"
              }
            ]
          },
          {
            "scheduler-map-name": "subs-4queues-triple-play-gold",
            "queue-group-name": [
              {
                "group-name": "subs-4queues",
                "queue-name": [
                  {
                    "name": "BE_SUBS",
                    "parent-flow": "low-flow",
                    "parent-scheduler-name": "subs-4queues-gold",
                    "connection-point": "strict_priority_3"
                  },
                  {
                    "name": "LD_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-gold",
                    "connection-point": "strict_priority_1"
                  },
                  {
                    "name": "LL_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-gold",
                    "connection-point": "strict_priority_2"
                  },
                  {
                    "name": "VO_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-gold",
                    "connection-point": "strict_priority_0"
                  }
                ]
              }
            ],
            "scheduler-name": [
              {
                "name": "subs-4queues-gold",
                "port-connection": "scheduler_to_port"
              }
            ]
          },
          {
            "scheduler-map-name": "subs-4queues-triple-play-platinum",
            "queue-group-name": [
              {
                "group-name": "subs-4queues",
                "queue-name": [
                  {
                    "name": "BE_SUBS",
                    "parent-flow": "low-flow",
                    "parent-scheduler-name": "subs-4queues-platinum",
                    "connection-point": "strict_priority_3"
                  },
                  {
                    "name": "LD_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-platinum",
                    "connection-point": "strict_priority_1"
                  },
                  {
                    "name": "LL_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-platinum",
                    "connection-point": "strict_priority_2"
                  },
                  {
                    "name": "VO_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-platinum",
                    "connection-point": "strict_priority_0"
                  }
                ]
              }
            ],
            "scheduler-name": [
              {
                "name": "subs-4queues-platinum",
                "port-connection": "scheduler_to_port"
              }
            ]
          }
        ],
        "shaper": [
          {
            "shaper-name": "pon_shaper",
            "shaping-rate-high": 1000000,
            "shaping-rate-low": 1000000
          },
          {
            "shaper-name": "shaper_VO",
            "shaping-rate-high": 1000,
            "shaping-rate-low": 0
          },
          {
            "shaper-name": "shaper_session",
            "shaping-rate-high": 10000,
            "shaping-rate-low": 2000
          },
          {
            "shaper-name": "shaper_session_gold",
            "shaping-rate-high": 13000,
            "shaping-rate-low": 1000
          },
          {
            "shaper-name": "shaper_session_platinum",
            "shaping-rate-high": 15000,
            "shaping-rate-low": 1000
          }
        ],
        "multifield-classifier": {
          "acl": {
            "l3v4": {
              "rule": [
                {
                  "rule-name": "global_mfc",
                  "ordinal": [
                    {
                      "ordinal-value": 101,
                      "match": {
                        "ipv4-tos": 128,
                        "source-ipv4-prefix": "192.0.2.132/32"
                      },
                      "action": {
                        "forward-class": "class-0"
                      }
                    },
                    {
                      "ordinal-value": 102,
                      "match": {
                        "ipv4-tos": 64,
                        "source-ipv4-prefix": "192.0.2.132/32"
                      },
                      "action": {
                        "forward-class": "class-1"
                      }
                    },
                    {
                      "ordinal-value": 103,
                      "match": {
                        "ipv4-tos": 96,
                        "source-ipv4-prefix": "192.0.2.132/32"
                      },
                      "action": {
                        "forward-class": "class-2"
                      }
                    },
                    {
                      "ordinal-value": 104,
                      "match": {
                        "ipv4-tos": 32,
                        "source-ipv4-prefix": "192.0.2.132/32"
                      },
                      "action": {
                        "forward-class": "class-3"
                      }
                    }
                  ]
                },
                {
                  "rule-name": "global_udpmfc",
                  "ordinal": [
                    {
                      "ordinal-value": 101,
                      "match": {
                        "source-ipv4-prefix": "192.0.2.132/32",
                        "source-l4-port": 65001
                      },
                      "action": {
                        "forward-class": "class-0"
                      }
                    },
                    {
                      "ordinal-value": 102,
                      "match": {
                        "source-ipv4-prefix": "192.0.2.132/32",
                        "source-l4-port": 65002
                      },
                      "action": {
                        "forward-class": "class-1"
                      }
                    },
                    {
                      "ordinal-value": 103,
                      "match": {
                        "source-ipv4-prefix": "192.0.2.132/32",
                        "source-l4-port": 65003
                      },
                      "action": {
                        "forward-class": "class-2"
                      }
                    },
                    {
                      "ordinal-value": 104,
                      "match": {
                        "source-ipv4-prefix": "192.0.2.132/32",
                        "source-l4-port": 65004
                      },
                      "action": {
                        "forward-class": "class-3"
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      }
    },
    "rtbrick-config:link-aggregation": {
      "interface": [
        {
          "interface-name": "lag-1",
          "mode": "lacp",
          "minimum-link-count": 3,
          "redundancy-session-id": 100,
          "system-id": "a0:aa:aa:aa:aa:aa",
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/26"
            },
            {
              "member-interface-name": "ifp-0/1/27"
            },
            {
              "member-interface-name": "ifp-0/1/28"
            }
          ]
        },
        {
          "interface-name": "lag-11",
          "mode": "lacp",
          "minimum-link-count": 3,
          "redundancy-session-id": 200,
          "system-id": "a0:aa:aa:aa:aa:a0",
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/31"
            },
            {
              "member-interface-name": "ifp-0/1/33"
            },
            {
              "member-interface-name": "ifp-0/1/35"
            }
          ]
        },
        {
          "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/23"
            },
            {
              "member-interface-name": "ifp-0/1/24"
            }
          ]
        }
      ]
    },
    "rtbrick-config:lldp": {
      "system-name": "ufi08.q2c.u23.r4.nbg.rtbrick.net"
    },
    "rtbrick-config:instance": [
      {
        "name": "default",
        "protocol": {
          "isis": {
            "system-id": "1921.6800.1001",
            "area": [
              "49.0002/24"
              ],
            "interface": [
              {
                "name": "lag-2/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "lag-3/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "lo-0/0/0/10",
                "type": "point-to-point",
                "passive": "true"
              }
            ]
          },
          "bgp": {
            "domain-name": "CBNG1",
            "enforce-first-as": "disable",
            "hostname": "CBNG1",
            "local-as": 4200000001,
            "router-id": "192.1.0.1",
            "address-family": [
              {
                "afi": "ipv4",
                "safi": "unicast",
                "multipath": 10,
                "resolve-nexthop": {
                  "safi": "labeled-unicast"
                },
                "redistribute": [
                  {
                    "source": "static",
                    "policy": "SEND_AGGREGATED_V4"
                  }
                ]
              },
              {
                "afi": "ipv6",
                "safi": "labeled-unicast"
              },
              {
                "afi": "ipv6",
                "safi": "unicast",
                "multipath": 10,
                "resolve-nexthop": {
                  "safi": "labeled-unicast"
                },
                "redistribute": [
                  {
                    "source": "static",
                    "policy": "SEND_AGGREGATED_V6"
                  }
                ]
              }
            ],
            "peer": {
              "ipv4": [
                {
                  "peer-address": "192.0.2.51",
                  "update-source": "192.0.2.1",
                  "peer-group": "send_aggregated"
                },
                {
                  "peer-address": "198.51.100.10",
                  "update-source": "192.0.2.1",
                  "peer-group": "reflector"
                },
                {
                  "peer-address": "198.51.100.20",
                  "update-source": "192.0.2.1",
                  "peer-group": "reflector"
                },
                {
                  "peer-address": "198.51.100.30",
                  "update-source": "192.0.2.1",
                  "peer-group": "reflector"
                },
                {
                  "peer-address": "198.51.100.40",
                  "update-source": "192.0.2.1",
                  "peer-group": "reflector"
                }
              ]
            },
            "peer-group": [
              {
                "pg-name": "reflector",
                "remote-as": 4200000001,
                "address-family": [
                  {
                    "afi": "ipv4",
                    "safi": "unicast"
                  },
                  {
                    "afi": "ipv6",
                    "safi": "labeled-unicast"
                  },
                  {
                    "afi": "ipv6",
                    "safi": "unicast",
                    "send-label": "true"
                  }
                ]
              },
              {
                "pg-name": "send_aggregated",
                "remote-as": 4200000001,
                "address-family": [
                  {
                    "afi": "ipv4",
                    "safi": "unicast"
                  },
                  {
                    "afi": "ipv6",
                    "safi": "labeled-unicast"
                  },
                  {
                    "afi": "ipv6",
                    "safi": "unicast",
                    "send-label": "true"
                  }
                ]
              }
            ]
          },
          "ldp": {
            "router-id": "192.0.2.1",
            "interface": [
              {
                "name": "lag-2/10"
              },
              {
                "name": "lag-3/10"
              },
              {
                "name": "lo-0/0/0/10"
              }
            ]
          }
        },
        "static": {
          "route": {
            "ipv4": [
              {
                "prefix4": "11.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "12.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "13.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "14.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "15.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "16.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "17.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "18.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "19.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "192.0.2.20/32",
                "safi": "unicast",
                "nexthop-profile": "rd_route"
              },
              {
                "prefix4": "192.0.2.200/32",
                "safi": "unicast",
                "nexthop-profile": "rd_route"
              },
              {
                "prefix4": "198.51.100.96/30",
                "safi": "unicast",
                "nexthop-profile": "radius"
              },
              {
                "prefix4": "20.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              }
            ],
            "ipv6": [
              {
                "prefix6": "fc55::/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix6": "fc56::/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix6": "fc66::/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix6": "fc67::/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              }
            ]
          },
          "nexthop-profile": [
            {
              "name": "radius",
              "nexthop": "192.0.2.51",
              "lookup-instance": "default",
              "lookup-afi": "ipv4",
              "lookup-safi": "labeled-unicast"
            },
            {
              "name": "rd_route",
              "nexthop": "192.0.2.2",
              "lookup-instance": "default",
              "lookup-afi": "ipv4",
              "lookup-safi": "labeled-unicast"
            },
            {
              "name": "subscriber",
              "exit-interface": "null0"
            }
          ]
        }
      }
    ],
    "rtbrick-config:policy": {
      "statement": [
        {
          "name": "SEND_AGGREGATED_V4",
          "ordinal": [
            {
              "ordinal": 1,
              "match": {
                "rule": [
                  {
                    "rule": 1,
                    "type": "ipv4-prefix",
                    "value-type": "discrete",
                    "match-type": "regex",
                    "value": [
                      ".*/16"
                      ]
                  }
                ]
              }
            }
          ]
        },
        {
          "name": "SEND_AGGREGATED_V6",
          "ordinal": [
            {
              "ordinal": 1,
              "match": {
                "rule": [
                  {
                    "rule": 1,
                    "type": "ipv6-prefix",
                    "value-type": "discrete",
                    "match-type": "regex",
                    "value": [
                      ".*/16"
                      ]
                  }
                ]
              }
            }
          ]
        }
      ]
    },
    "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.0.2.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": "198.51.100.98",
          "source-address": "192.0.2.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": 2000,
            "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": 2001,
            "outer-vlan-max": 3000,
            "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": "11.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"
          }
        }
      ]
    }
  }
}

Appendix B: CBNG2 Configuration

Show CBNG2 Configuration
{
  "ietf-restconf:data": {
    "rtbrick-config:system": {
      "load-last-config": "true",
      "host": {
        "element-name": "ufi09.q2c.u19.r4.nbg.rtbrick.net",
        "pod-name": "nbg4"
      }
    },
    "rtbrick-config:redundancy": {
      "profile": [
        {
          "name": "rd_ipoe_olt1",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "192.0.2.100",
              "update-source": "192.0.2.200",
              "instance": "default"
            }
          }
        },
        {
          "name": "rd_ipoe_olt2",
          "switchover-hold-timer": 0,
          "peer": {
            "ipv4": {
              "remote-address": "192.0.2.10",
              "update-source": "192.0.2.20",
              "instance": "default"
            }
          }
        }
      ],
      "session": [
        {
          "session-id": 100,
          "priority": 10,
          "profile": "rd_ipoe_olt1"
        },
        {
          "session-id": 200,
          "priority": 220,
          "profile": "rd_ipoe_olt2"
        }
      ]
    },
    "rtbrick-config:interface": [
      {
        "name": "ifp-0/1/25",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/26",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/28",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/30",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/32",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/33",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/34",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/35",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/40",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/41",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/42",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/43",
        "speed": "10G"
      },
      {
        "name": "ifp-0/1/47",
        "speed": "10G"
      },
      {
        "name": "lag-2",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.62/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::62/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "lag-3",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.77/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::77/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "lo-0/0/0",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.2/32"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::2/128"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "lo-0/0/1",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.200/32"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::200/128"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "lo-0/0/2",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.20/32"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::20/128"
                }
              ]
            }
          }
        ]
      }
    ],
    "rtbrick-config:forwarding-options": {
      "class-of-service": {
        "classifier": [
          {
            "classifier-name": "subs-exp-class",
            "match-type": [
              {
                "match-type": "exp",
                "codepoint": [
                  {
                    "codepoint": 1,
                    "class": "class-0"
                  },
                  {
                    "codepoint": 2,
                    "class": "class-1"
                  },
                  {
                    "codepoint": 3,
                    "class": "class-2"
                  },
                  {
                    "codepoint": 4,
                    "class": "class-3"
                  }
                ]
              }
            ]
          },
          {
            "classifier-name": "subs-pbit-class",
            "match-type": [
              {
                "match-type": "ieee-802.1",
                "codepoint": [
                  {
                    "codepoint": 1,
                    "class": "class-0"
                  },
                  {
                    "codepoint": 2,
                    "class": "class-1"
                  },
                  {
                    "codepoint": 3,
                    "class": "class-2"
                  },
                  {
                    "codepoint": 4,
                    "class": "class-3"
                  }
                ]
              }
            ]
          }
        ],
        "class-policer-map": [
          {
            "class-policer-map-name": "policer-map-residential",
            "class": [
              {
                "class": "class-0",
                "policer-level": "level-1"
              },
              {
                "class": "class-1",
                "policer-level": "level-2"
              },
              {
                "class": "class-2",
                "policer-level": "level-3"
              },
              {
                "class": "class-3",
                "policer-level": "level-4"
              }
            ]
          }
        ],
        "class-queue-map": [
          {
            "class-queue-map-name": "subs-4queues",
            "class": [
              {
                "class-type": "class-0",
                "queue-name": "BE_SUBS"
              },
              {
                "class-type": "class-1",
                "queue-name": "LD_SUBS"
              },
              {
                "class-type": "class-2",
                "queue-name": "LL_SUBS"
              },
              {
                "class-type": "class-3",
                "queue-name": "VO_SUBS"
              }
            ]
          }
        ],
        "global": {
          "multifield-classifier-name": "global_udpmfc"
        },
        "interface": [
          {
            "name": "lag-1",
            "ingress-header-compensation": {
              "bytes": 34,
              "decrement": "true"
            },
            "scheduler-map-name": "schedmap-olt"
          },
          {
            "name": "lag-11",
            "ingress-header-compensation": {
              "bytes": 34,
              "decrement": "true"
            },
            "scheduler-map-name": "schedmap-olt"
          }
        ],
        "policer": [
          {
            "policer-name": "policer-residential",
            "level1-rates": {
              "cir": 2000,
              "cbs": 1000,
              "pir": 2500,
              "pbs": 1000
            },
            "level2-rates": {
              "cir": 3000,
              "cbs": 1000,
              "pir": 3500,
              "pbs": 1000
            },
            "level3-rates": {
              "cir": 4000,
              "cbs": 1000,
              "pir": 4500,
              "pbs": 1000
            },
            "level4-rates": {
              "cir": 1000,
              "cbs": 1000,
              "pir": 1500,
              "pbs": 1000
            },
            "levels": 4,
            "type": "two-rate-three-color"
          },
          {
            "policer-name": "policer-residential-gold",
            "level1-rates": {
              "cir": 1000,
              "cbs": 1000,
              "pir": 1500,
              "pbs": 1000
            },
            "level2-rates": {
              "cir": 2000,
              "cbs": 1000,
              "pir": 2500,
              "pbs": 1000
            },
            "level3-rates": {
              "cir": 3000,
              "cbs": 1000,
              "pir": 3500,
              "pbs": 1000
            },
            "level4-rates": {
              "cir": 1000,
              "cbs": 1000,
              "pir": 1500,
              "pbs": 1000
            },
            "levels": 4,
            "type": "two-rate-three-color"
          },
          {
            "policer-name": "policer-residential-platinum",
            "level1-rates": {
              "cir": 5000,
              "cbs": 1000,
              "pir": 5500,
              "pbs": 1000
            },
            "level2-rates": {
              "cir": 6000,
              "cbs": 1000,
              "pir": 6500,
              "pbs": 1000
            },
            "level3-rates": {
              "cir": 5000,
              "cbs": 1000,
              "pir": 5500,
              "pbs": 1000
            },
            "level4-rates": {
              "cir": 6000,
              "cbs": 1000,
              "pir": 6500,
              "pbs": 1000
            },
            "levels": 4,
            "type": "two-rate-three-color"
          }
        ],
        "profile": [
          {
            "profile-name": "subs-triple-play",
            "classifier-name": "subs-pbit-class",
            "class-queue-map-name": "subs-4queues",
            "remark-map-name": "subs-remarking-triple-play",
            "class-policer-map-name": "policer-map-residential",
            "policer-name": "policer-residential",
            "scheduler-map-name": "subs-4queues-triple-play"
          },
          {
            "profile-name": "subs-triple-play-gold",
            "classifier-name": "subs-pbit-class",
            "class-queue-map-name": "subs-4queues",
            "remark-map-name": "subs-remarking-triple-play",
            "class-policer-map-name": "policer-map-residential",
            "policer-name": "policer-residential-gold",
            "scheduler-map-name": "subs-4queues-triple-play-gold"
          },
          {
            "profile-name": "subs-triple-play-platinum",
            "classifier-name": "subs-pbit-class",
            "class-queue-map-name": "subs-4queues",
            "remark-map-name": "subs-remarking-triple-play",
            "class-policer-map-name": "policer-map-residential",
            "policer-name": "policer-residential-platinum",
            "scheduler-map-name": "subs-4queues-triple-play-platinum"
          }
        ],
        "queue": [
          {
            "queue-name": "BE_SUBS",
            "queue-size": 375000,
            "header-compensation": {
              "bytes": 22,
              "decrement": "true"
            }
          },
          {
            "queue-name": "LD_SUBS",
            "queue-size": 625000,
            "header-compensation": {
              "bytes": 22,
              "decrement": "true"
            }
          },
          {
            "queue-name": "LL_SUBS",
            "queue-size": 625000,
            "header-compensation": {
              "bytes": 22,
              "decrement": "true"
            }
          },
          {
            "queue-name": "VO_SUBS",
            "queue-size": 156250,
            "shaper-name": "shaper_VO",
            "header-compensation": {
              "bytes": 22,
              "decrement": "true"
            }
          }
        ],
        "queue-group": [
          {
            "queue-group-name": "subs-4queues",
            "queue-numbers": 4
          }
        ],
        "remark-map": [
          {
            "remark-map-name": "subs-remarking-triple-play",
            "remark-type": [
              {
                "remark-type": "ieee-802.1",
                "match-codepoint": [
                  {
                    "match-codepoint": 1,
                    "color": [
                      {
                        "color": "all",
                        "remark-codepoint": 3
                      }
                    ]
                  },
                  {
                    "match-codepoint": 2,
                    "color": [
                      {
                        "color": "all",
                        "remark-codepoint": 4
                      }
                    ]
                  },
                  {
                    "match-codepoint": 3,
                    "color": [
                      {
                        "color": "all",
                        "remark-codepoint": 5
                      }
                    ]
                  },
                  {
                    "match-codepoint": 224,
                    "color": [
                      {
                        "color": "all",
                        "remark-codepoint": 6
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "scheduler": [
          {
            "scheduler-name": "pon0",
            "shaper-name": "pon_shaper",
            "type": "fair_queueing"
          },
          {
            "scheduler-name": "pon1",
            "type": "fair_queueing"
          },
          {
            "scheduler-name": "subs-4queues",
            "shaper-name": "shaper_session",
            "type": "strict_priority",
            "composite": "false"
          },
          {
            "scheduler-name": "subs-4queues-gold",
            "shaper-name": "shaper_session_gold",
            "type": "strict_priority",
            "composite": "false"
          },
          {
            "scheduler-name": "subs-4queues-platinum",
            "shaper-name": "shaper_session_platinum",
            "type": "strict_priority",
            "composite": "false"
          }
        ],
        "scheduler-map": [
          {
            "scheduler-map-name": "schedmap-olt",
            "scheduler-name": [
              {
                "name": "pon0",
                "port-connection": "scheduler_to_port"
              },
              {
                "name": "pon1",
                "port-connection": "scheduler_to_port"
              }
            ]
          },
          {
            "scheduler-map-name": "subs-4queues-triple-play",
            "queue-group-name": [
              {
                "group-name": "subs-4queues",
                "queue-name": [
                  {
                    "name": "BE_SUBS",
                    "parent-flow": "low-flow",
                    "parent-scheduler-name": "subs-4queues",
                    "connection-point": "strict_priority_3"
                  },
                  {
                    "name": "LD_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues",
                    "connection-point": "strict_priority_1"
                  },
                  {
                    "name": "LL_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues",
                    "connection-point": "strict_priority_2"
                  },
                  {
                    "name": "VO_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues",
                    "connection-point": "strict_priority_0"
                  }
                ]
              }
            ],
            "scheduler-name": [
              {
                "name": "subs-4queues",
                "port-connection": "scheduler_to_port"
              }
            ]
          },
          {
            "scheduler-map-name": "subs-4queues-triple-play-gold",
            "queue-group-name": [
              {
                "group-name": "subs-4queues",
                "queue-name": [
                  {
                    "name": "BE_SUBS",
                    "parent-flow": "low-flow",
                    "parent-scheduler-name": "subs-4queues-gold",
                    "connection-point": "strict_priority_3"
                  },
                  {
                    "name": "LD_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-gold",
                    "connection-point": "strict_priority_1"
                  },
                  {
                    "name": "LL_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-gold",
                    "connection-point": "strict_priority_2"
                  },
                  {
                    "name": "VO_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-gold",
                    "connection-point": "strict_priority_0"
                  }
                ]
              }
            ],
            "scheduler-name": [
              {
                "name": "subs-4queues-gold",
                "port-connection": "scheduler_to_port"
              }
            ]
          },
          {
            "scheduler-map-name": "subs-4queues-triple-play-platinum",
            "queue-group-name": [
              {
                "group-name": "subs-4queues",
                "queue-name": [
                  {
                    "name": "BE_SUBS",
                    "parent-flow": "low-flow",
                    "parent-scheduler-name": "subs-4queues-platinum",
                    "connection-point": "strict_priority_3"
                  },
                  {
                    "name": "LD_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-platinum",
                    "connection-point": "strict_priority_1"
                  },
                  {
                    "name": "LL_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-platinum",
                    "connection-point": "strict_priority_2"
                  },
                  {
                    "name": "VO_SUBS",
                    "parent-flow": "high-flow",
                    "parent-scheduler-name": "subs-4queues-platinum",
                    "connection-point": "strict_priority_0"
                  }
                ]
              }
            ],
            "scheduler-name": [
              {
                "name": "subs-4queues-platinum",
                "port-connection": "scheduler_to_port"
              }
            ]
          }
        ],
        "shaper": [
          {
            "shaper-name": "pon_shaper",
            "shaping-rate-high": 1000000,
            "shaping-rate-low": 1000000
          },
          {
            "shaper-name": "shaper_VO",
            "shaping-rate-high": 1000,
            "shaping-rate-low": 0
          },
          {
            "shaper-name": "shaper_session",
            "shaping-rate-high": 10000,
            "shaping-rate-low": 2000
          },
          {
            "shaper-name": "shaper_session_gold",
            "shaping-rate-high": 13000,
            "shaping-rate-low": 1000
          },
          {
            "shaper-name": "shaper_session_platinum",
            "shaping-rate-high": 15000,
            "shaping-rate-low": 1000
          }
        ],
        "multifield-classifier": {
          "acl": {
            "l3v4": {
              "rule": [
                {
                  "rule-name": "global_mfc",
                  "ordinal": [
                    {
                      "ordinal-value": 101,
                      "match": {
                        "ipv4-tos": 128,
                        "source-ipv4-prefix": "192.0.2.132/32"
                      },
                      "action": {
                        "forward-class": "class-0"
                      }
                    },
                    {
                      "ordinal-value": 102,
                      "match": {
                        "ipv4-tos": 64,
                        "source-ipv4-prefix": "192.0.2.132/32"
                      },
                      "action": {
                        "forward-class": "class-1"
                      }
                    },
                    {
                      "ordinal-value": 103,
                      "match": {
                        "ipv4-tos": 96,
                        "source-ipv4-prefix": "192.0.2.132/32"
                      },
                      "action": {
                        "forward-class": "class-2"
                      }
                    },
                    {
                      "ordinal-value": 104,
                      "match": {
                        "ipv4-tos": 32,
                        "source-ipv4-prefix": "192.0.2.132/32"
                      },
                      "action": {
                        "forward-class": "class-3"
                      }
                    }
                  ]
                },
                {
                  "rule-name": "global_udpmfc",
                  "ordinal": [
                    {
                      "ordinal-value": 101,
                      "match": {
                        "source-ipv4-prefix": "192.0.2.132/32",
                        "source-l4-port": 65001
                      },
                      "action": {
                        "forward-class": "class-0"
                      }
                    },
                    {
                      "ordinal-value": 102,
                      "match": {
                        "source-ipv4-prefix": "192.0.2.132/32",
                        "source-l4-port": 65002
                      },
                      "action": {
                        "forward-class": "class-1"
                      }
                    },
                    {
                      "ordinal-value": 103,
                      "match": {
                        "source-ipv4-prefix": "192.0.2.132/32",
                        "source-l4-port": 65003
                      },
                      "action": {
                        "forward-class": "class-2"
                      }
                    },
                    {
                      "ordinal-value": 104,
                      "match": {
                        "source-ipv4-prefix": "192.0.2.132/32",
                        "source-l4-port": 65004
                      },
                      "action": {
                        "forward-class": "class-3"
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      }
    },
    "rtbrick-config:link-aggregation": {
      "interface": [
        {
          "interface-name": "lag-1",
          "mode": "lacp",
          "minimum-link-count": 3,
          "redundancy-session-id": 100,
          "system-id": "a0:aa:aa:aa:aa:aa",
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/30"
            },
            {
              "member-interface-name": "ifp-0/1/32"
            },
            {
              "member-interface-name": "ifp-0/1/33"
            }
          ]
        },
        {
          "interface-name": "lag-11",
          "mode": "lacp",
          "minimum-link-count": 3,
          "redundancy-session-id": 200,
          "system-id": "a0:aa:aa:aa:aa:a0",
          "member-interface": [
            {
              "member-interface-name": "ifp-0/1/34"
            },
            {
              "member-interface-name": "ifp-0/1/35"
            },
            {
              "member-interface-name": "ifp-0/1/47"
            }
          ]
        },
        {
          "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/25"
            },
            {
              "member-interface-name": "ifp-0/1/26"
            }
          ]
        }
      ]
    },
    "rtbrick-config:lldp": {
      "system-name": "ufi09.q2c.u19.r4.nbg.rtbrick.net"
    },
    "rtbrick-config:instance": [
      {
        "name": "default",
        "protocol": {
          "isis": {
            "system-id": "1920.0000.2002",
            "area": [
              "49.0002/24"
              ],
            "interface": [
              {
                "name": "lag-2/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "lag-3/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "lo-0/0/0/10",
                "type": "point-to-point",
                "passive": "true"
              }
            ]
          },
          "bgp": {
            "domain-name": "CBNG2",
            "enforce-first-as": "disable",
            "hostname": "CBNG2",
            "local-as": 4200000001,
            "router-id": "192.1.0.2",
            "address-family": [
              {
                "afi": "ipv4",
                "safi": "unicast",
                "multipath": 10,
                "resolve-nexthop": {
                  "safi": "labeled-unicast"
                },
                "redistribute": [
                  {
                    "source": "static",
                    "policy": "SEND_AGGREGATED_V4"
                  }
                ]
              },
              {
                "afi": "ipv6",
                "safi": "labeled-unicast"
              },
              {
                "afi": "ipv6",
                "safi": "unicast",
                "multipath": 10,
                "resolve-nexthop": {
                  "safi": "labeled-unicast"
                },
                "redistribute": [
                  {
                    "source": "static",
                    "policy": "SEND_AGGREGATED_V6"
                  }
                ]
              }
            ],
            "peer": {
              "ipv4": [
                {
                  "peer-address": "192.0.2.51",
                  "update-source": "192.0.2.2",
                  "peer-group": "send_aggregated"
                },
                {
                  "peer-address": "198.51.100.10",
                  "update-source": "192.0.2.2",
                  "peer-group": "reflector"
                },
                {
                  "peer-address": "198.51.100.20",
                  "update-source": "192.0.2.2",
                  "peer-group": "reflector"
                },
                {
                  "peer-address": "198.51.100.30",
                  "update-source": "192.0.2.2",
                  "peer-group": "reflector"
                },
                {
                  "peer-address": "198.51.100.40",
                  "update-source": "192.0.2.2",
                  "peer-group": "reflector"
                }
              ]
            },
            "peer-group": [
              {
                "pg-name": "reflector",
                "remote-as": 4200000001,
                "address-family": [
                  {
                    "afi": "ipv4",
                    "safi": "unicast"
                  },
                  {
                    "afi": "ipv6",
                    "safi": "labeled-unicast"
                  },
                  {
                    "afi": "ipv6",
                    "safi": "unicast",
                    "send-label": "true"
                  }
                ]
              },
              {
                "pg-name": "send_aggregated",
                "remote-as": 4200000001,
                "address-family": [
                  {
                    "afi": "ipv4",
                    "safi": "unicast"
                  },
                  {
                    "afi": "ipv6",
                    "safi": "labeled-unicast"
                  },
                  {
                    "afi": "ipv6",
                    "safi": "unicast",
                    "send-label": "true"
                  }
                ]
              }
            ]
          },
          "ldp": {
            "router-id": "192.0.2.2",
            "interface": [
              {
                "name": "lag-2/10"
              },
              {
                "name": "lag-3/10"
              },
              {
                "name": "lo-0/0/0/10"
              }
            ]
          }
        },
        "static": {
          "route": {
            "ipv4": [
              {
                "prefix4": "11.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "12.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "13.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "14.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "15.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "16.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "17.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "18.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "19.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix4": "192.0.2.10/32",
                "safi": "unicast",
                "nexthop-profile": "rd_route"
              },
              {
                "prefix4": "192.0.2.100/32",
                "safi": "unicast",
                "nexthop-profile": "rd_route"
              },
              {
                "prefix4": "198.51.100.96/30",
                "safi": "unicast",
                "nexthop-profile": "radius"
              },
              {
                "prefix4": "20.100.0.0/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              }
            ],
            "ipv6": [
              {
                "prefix6": "fc55::/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix6": "fc56::/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix6": "fc66::/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              },
              {
                "prefix6": "fc67::/16",
                "safi": "unicast",
                "nexthop-profile": "subscriber"
              }
            ]
          },
          "nexthop-profile": [
            {
              "name": "radius",
              "nexthop": "192.0.2.51",
              "lookup-instance": "default",
              "lookup-afi": "ipv4",
              "lookup-safi": "labeled-unicast"
            },
            {
              "name": "rd_route",
              "nexthop": "192.0.2.1",
              "lookup-instance": "default",
              "lookup-afi": "ipv4",
              "lookup-safi": "labeled-unicast"
            },
            {
              "name": "subscriber",
              "exit-interface": "null0"
            }
          ]
        }
      }
    ],
    "rtbrick-config:policy": {
      "statement": [
        {
          "name": "SEND_AGGREGATED_V4",
          "ordinal": [
            {
              "ordinal": 1,
              "match": {
                "rule": [
                  {
                    "rule": 1,
                    "type": "ipv4-prefix",
                    "value-type": "discrete",
                    "match-type": "regex",
                    "value": [
                      ".*/16"
                      ]
                  }
                ]
              }
            }
          ]
        },
        {
          "name": "SEND_AGGREGATED_V6",
          "ordinal": [
            {
              "ordinal": 1,
              "match": {
                "rule": [
                  {
                    "rule": 1,
                    "type": "ipv6-prefix",
                    "value-type": "discrete",
                    "match-type": "regex",
                    "value": [
                      ".*/16"
                      ]
                  }
                ]
              }
            }
          ]
        }
      ]
    },
    "rtbrick-config:access": {
      "chassis-id": 2,
      "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.0.2.2",
          "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": "198.51.100.98",
          "source-address": "192.0.2.2",
          "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": 2000,
            "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": 2001,
            "outer-vlan-max": 3000,
            "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": "16.100.128.1",
            "high": "20.100.128.255"
          },
          "ipv6-prefix": {
            "low": "fc66:100:1:1::1/128",
            "high": "fc66:100:1:2::5555/128"
          }
        },
        {
          "pool-name": "pool2",
          "ipv6-prefix": {
            "low": "fc67:100:1::/56",
            "high": "fc67:100:5000::/56"
          }
        }
      ]
    }
  }
}

Appendix C: R-1 Configuration

Show R1 Configuration
{
  "ietf-restconf:data": {
    "rtbrick-config:system": {
      "load-last-config": "true"
    },
    "rtbrick-config:interface": [
      {
        "name": "hostif-0/0/0",
        "host-if": "R1-2-C1"
      },
      {
        "name": "hostif-0/0/1",
        "host-if": "R1-3-C1"
      },
      {
        "name": "hostif-0/0/2",
        "host-if": "R1-14-R2",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.85/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::85/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "hostif-0/0/3",
        "host-if": "R1-16-RR",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.93/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::93/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "hostif-0/0/4",
        "host-if": "R1-15-SN"
      },
      {
        "name": "lag-3",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.70/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::70/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "lo-0/0/0",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.3/32"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::3/128"
                }
              ]
            }
          }
        ]
      }
    ],
    "rtbrick-config:link-aggregation": {
      "interface": [
        {
          "interface-name": "lag-3",
          "mode": "lacp",
          "minimum-link-count": 1,
          "member-interface": [
            {
              "member-interface-name": "hostif-0/0/0"
            },
            {
              "member-interface-name": "hostif-0/0/1"
            }
          ]
        }
      ]
    },
    "rtbrick-config:instance": [
      {
        "name": "default",
        "protocol": {
          "isis": {
            "system-id": "1920.0000.2003",
            "area": [
              "49.0002/24"
              ],
            "interface": [
              {
                "name": "hostif-0/0/2/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "hostif-0/0/3/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "lag-3/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "lo-0/0/0/10",
                "type": "point-to-point",
                "passive": "true"
              }
            ]
          },
          "ldp": {
            "router-id": "192.0.2.3",
            "interface": [
              {
                "name": "hostif-0/0/2/10"
              },
              {
                "name": "hostif-0/0/3/10"
              },
              {
                "name": "lag-3/10"
              },
              {
                "name": "lo-0/0/0/10"
              }
            ]
          }
        }
      }
    ]
  }
}

Appendix D: R-2 Configuration

Show R2 Configuration
{
  "ietf-restconf:data": {
    "rtbrick-config:system": {
      "load-last-config": "true"
    },
    "rtbrick-config:interface": [
      {
        "name": "hostif-0/0/0",
        "host-if": "R2-8-C2"
      },
      {
        "name": "hostif-0/0/1",
        "host-if": "R2-9-C2"
      },
      {
        "name": "hostif-0/0/2",
        "host-if": "R2-14-R1",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.86/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::86/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "hostif-0/0/3",
        "host-if": "R2-18-RR",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.97/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::97/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "hostif-0/0/4",
        "host-if": "R2-17-SN"
      },
      {
        "name": "lag-3",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.78/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::78/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "lo-0/0/0",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.4/32"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::4/128"
                }
              ]
            }
          }
        ]
      }
    ],
    "rtbrick-config:link-aggregation": {
      "interface": [
        {
          "interface-name": "lag-3",
          "mode": "lacp",
          "minimum-link-count": 1,
          "member-interface": [
            {
              "member-interface-name": "hostif-0/0/0"
            },
            {
              "member-interface-name": "hostif-0/0/1"
            }
          ]
        }
      ]
    },
    "rtbrick-config:instance": [
      {
        "name": "default",
        "protocol": {
          "isis": {
            "system-id": "1920.0000.2004",
            "area": [
              "49.0002/24"
              ],
            "interface": [
              {
                "name": "hostif-0/0/2/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "hostif-0/0/3/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "lag-3/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "lo-0/0/0/10",
                "type": "point-to-point",
                "passive": "true"
              }
            ]
          },
          "ldp": {
            "router-id": "192.0.2.4",
            "interface": [
              {
                "name": "hostif-0/0/2/10"
              },
              {
                "name": "hostif-0/0/3/10"
              },
              {
                "name": "lag-3/10"
              },
              {
                "name": "lo-0/0/0/10"
              }
            ]
          }
        }
      }
    ]
  }
}

Appendix E: Edge Router Configuration

Show Edge Router Configuration
{
  "ietf-restconf:data": {
    "rtbrick-config:system": {
      "load-last-config": "true"
    },
    "rtbrick-config:interface": [
      {
        "name": "hostif-0/0/0",
        "host-if": "RR-16-R1",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.94/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::94/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "hostif-0/0/1",
        "host-if": "RR-18-R2",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.98/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::98/127"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "hostif-0/0/2",
        "host-if": "RR-19-SN",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.129/30"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::129/127"
                }
              ]
            }
          },
          {
            "unit-id": 20,
            "vlan": 20,
            "address": {
              "ipv4": [
                {
                  "prefix4": "198.51.100.97/30"
                }
              ]
            }
          }
        ]
      },
      {
        "name": "lo-0/0/0",
        "unit": [
          {
            "unit-id": 10,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.51/32"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::51/128"
                }
              ]
            }
          },
          {
            "unit-id": 20,
            "address": {
              "ipv4": [
                {
                  "prefix4": "192.0.2.52/32"
                }
              ],
              "ipv6": [
                {
                  "prefix6": "2001:db8::52/128"
                }
              ]
            }
          }
        ]
      }
    ],
    "rtbrick-config:instance": [
      {
        "name": "default",
        "protocol": {
          "isis": {
            "system-id": "1921.6800.1005",
            "area": [
              "49.0002/24"
              ],
            "interface": [
              {
                "name": "hostif-0/0/0/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "hostif-0/0/1/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "hostif-0/0/2/10",
                "type": "point-to-point",
                "ldp-synchronization": "enable",
                "level-2": {
                  "adjacency-disable": "true"
                }
              },
              {
                "name": "lo-0/0/0/10",
                "type": "point-to-point",
                "passive": "true"
              }
            ]
          },
          "bgp": {
            "domain-name": "aggregated_route",
            "hostname": "aggregated_route",
            "local-as": 4200000001,
            "router-id": "192.0.2.51",
            "address-family": [
              {
                "afi": "ipv4",
                "safi": "unicast",
                "multipath": 10,
                "resolve-nexthop": {
                  "safi": "labeled-unicast"
                }
              },
              {
                "afi": "ipv6",
                "safi": "labeled-unicast"
              },
              {
                "afi": "ipv6",
                "safi": "unicast",
                "multipath": 10,
                "resolve-nexthop": {
                  "safi": "labeled-unicast"
                }
              }
            ],
            "peer": {
              "ipv4": [
                {
                  "peer-address": "192.0.2.1",
                  "update-source": "192.0.2.51",
                  "peer-group": "cbng"
                },
                {
                  "peer-address": "192.0.2.2",
                  "update-source": "192.0.2.51",
                  "peer-group": "cbng"
                }
              ]
            },
            "peer-group": [
              {
                "pg-name": "cbng",
                "remote-as": 4200000001,
                "address-family": [
                  {
                    "afi": "ipv4",
                    "safi": "unicast"
                  },
                  {
                    "afi": "ipv6",
                    "safi": "labeled-unicast"
                  },
                  {
                    "afi": "ipv6",
                    "safi": "unicast",
                    "send-label": "true"
                  }
                ]
              }
            ]
          },
          "ldp": {
            "router-id": "192.0.2.51",
            "interface": [
              {
                "name": "hostif-0/0/0/10"
              },
              {
                "name": "hostif-0/0/1/10"
              },
              {
                "name": "hostif-0/0/2/10"
              },
              {
                "name": "lo-0/0/0/10"
              }
            ]
          }
        }
      }
    ]
  }
}

Appendix E: BNG Blaster Configuration

Show BNG Blaster Configuration
{
  "interfaces": {
    "tx-interval": 1,
    "rx-interval": 1,
    "lag": [
      {
        "interface": "lag1",
        "lacp": true,
        "lacp-timeout-short": true
      },
      {
        "interface": "lag11",
        "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"
      },
      {
        "interface": "SN-20-C1",
        "lag-interface": "lag11"
      },
      {
        "interface": "SN-21-C1",
        "lag-interface": "lag11"
      },
      {
        "interface": "SN-22-C1",
        "lag-interface": "lag11"
      },
      {
        "interface": "SN-23-C2",
        "lag-interface": "lag11"
      },
      {
        "interface": "SN-24-C2",
        "lag-interface": "lag11"
      },
      {
        "interface": "SN-25-C2",
        "lag-interface": "lag11"
      }
    ],
    "network": [
      {
        "interface": "SN-19-RR",
        "address": "192.0.2.130/30",
        "gateway": "192.0.2.129",
        "address-ipv6": "2001:db8::130",
        "gateway-ipv6": "2001:db8::129",
        "isis-instance-id": 1,
        "isis-level": 1,
        "ldp-instance-id": 1
      }
    ],
    "access": [
      {
        "interface": "lag1",
        "type": "ipoe",
        "agent-remote-id": "CBNG1.RTBRICK.{session-global}",
        "outer-vlan-min": 1001,
        "outer-vlan-max": 2000,
        "inner-vlan-min": 1001,
        "inner-vlan-max": 1100
      },
      {
        "interface": "lag11",
        "type": "ipoe",
        "agent-remote-id": "CBNG2.RTBRICK.{session-global}",
        "outer-vlan-min": 2001,
        "outer-vlan-max": 3000,
        "inner-vlan-min": 1001,
        "inner-vlan-max": 1100
      }
    ]
  },
  "sessions": {
    "count": 20000,
    "max-outstanding": 800,
    "start-rate": 400,
    "stop-rate": 400
  },
  "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": {
    "ldra": true,
    "enable": true
  },
  "session-traffic": {
    "ipv4-pps": 1,
    "ipv6-pps": 1,
    "ipv6pd-pps": 1,
    "autostart": false
  },
  "ldp": [
    {
      "instance-id": 1,
      "lsr-id": "192.0.2.6",
      "keepalive-time": 30,
      "raw-update-file": "/home/supervisor/ldp_1000.ldp"
    }
  ],
  "isis": [
    {
      "instance-id": 1,
      "area": [
        "49.0002/24"
      ],
      "system-id": "0204.0000.0001",
      "router-id": "192.0.2.6",
      "hostname": "BBL-RR",
      "hello-padding": true,
      "teardown-time": 30,
      "external": {
        "mrt-file": "/home/supervisor/isis_1000.mrt",
        "connections": [
          {
            "system-id": "0300.1001.0001",
            "l1-metric": 10
          }
        ]
      }
    }
  ],
  "bgp": [
    {
      "__comment__": "RR1-C1-IPv4",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.10",
      "peer-ipv4-address": "192.0.2.1",
      "raw-update-file": "/home/supervisor/ipv4_nlri_nh1.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR1-C1-IPv6",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.20",
      "peer-ipv4-address": "192.0.2.1",
      "raw-update-file": "/home/supervisor/ipv6_nlri_nh1.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR1-C2-IPv4",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.10",
      "peer-ipv4-address": "192.0.2.2",
      "raw-update-file": "/home/supervisor/ipv4_nlri_nh1.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR1-C2-IPv6",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.20",
      "peer-ipv4-address": "192.0.2.2",
      "raw-update-file": "/home/supervisor/ipv6_nlri_nh1.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR2-C1-IPv4",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.30",
      "peer-ipv4-address": "192.0.2.1",
      "raw-update-file": "/home/supervisor/ipv4_nlri_nh2.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR2-C1-IPv6",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.40",
      "peer-ipv4-address": "192.0.2.1",
      "raw-update-file": "/home/supervisor/ipv6_nlri_nh2.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR2-C2-IPv4",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.30",
      "peer-ipv4-address": "192.0.2.2",
      "raw-update-file": "/home/supervisor/ipv4_nlri_nh2.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    },
    {
      "__comment__": "RR2-C2-IPv6",
      "network-interface": "SN-19-RR",
      "local-ipv4-address": "198.51.100.40",
      "peer-ipv4-address": "192.0.2.2",
      "raw-update-file": "/home/supervisor/ipv6_nlri_nh2.bgp",
      "local-as": 4200000001,
      "peer-as": 4200000001
    }
  ]