Configure cnBNG User Plane
Before you begin:
You must follow these guidelines for configuring cnBNG user plane:
-
You must perform a complete reimage followed by a reboot of the router if you are switching between physical BNG to cnBNG, or the other way around.
-
Ensure that the cnBNG package is installed and activated on the user plane. See the Installing Cloud Native BNG User Plane Packages chapter for detailed procedure.
-
The system does not support the removal of configurations while active sessions are present. You must delete all active sessions and dissociate the CP-UP connection prior to any configuration change or commit replace procedure.
Configuration Procedure
You must perform the following tasks for the UP to spawn the NAL process, to establish connection with the CP, and to provision the subscriber requests.
Configure Basic User Plane Settings
The basic user plane configuration for cnBNG involves these high-level tasks:
-
Configuring the server endpoints of CP to which UP can send PFCP or GTP-U messages to enable cnBNG on the router.
-
Configuring a loopback interface for each VRF.
-
Configuring a route tag for subscriber summary routes.
-
Configuring the access-interface to enable IPoE and PPPoE subscribers.
The cnBNG endpoint configurations on the UP are delivered to the cnBNG SPA component for initiating connection with the CP.
Configuration Procedure
This section describes the steps for the basic user plane configuration, which include certain mandatory and optional configurations.
Mandatory Configurations:
-
Specifying a unique name for the UP-server instance.
-
Specifying the details of the UP server (such as IP address, GTP port, and PFCP port) to which the CP can send PFCP or GTP-U messages.
-
Specifying the details of CP server to which the UP can send PFCP or GTP-U messages.
-
Specifying the retry count for CP-UP association.
-
Enabling secondary address programming.
-
Specifying a name for the auto-loopback VRF.
-
Configuring a loopback interface to associate with the above VRF.
-
Specifying a primary address for the loopback interface.
Optional Configuration:
-
Configuring a route summary tag for the routes to add in the routing table
Configuration Example
Router#configure
Router(config)#cnbng-nal location 0/RSP0/CPU0
Router(config-cnbng-nal-local)#hostidentifier asr9k-1
Router(config-cnbng-nal-local)#cp-server primary ipv4 198.51.100.1
Router(config-cnbng-nal-local)#up-server ipv4 192.0.2.1 gtp-port 15002 pfcp-port 15003 vrf default
Router(config-cnbng-nal-local)#secondary-address-update-enable
Router(config-cnbng-nal-local)#cp-association retry-count 10
Router(config—cnbng-nal-local)#auto-loopback vrf test
Router(config—cnbng-nal-local-auto-loopback-vrf)#interface Loopback2
Router(config—cnbng-nal-local-auto-loopback-vrf-int)#primary-address 127.0.0.1
Router(config—cnbng-nal-local-auto-loopback-vrf-int)#exit
Router(config—cnbng-nal-local-auto-loopback-vrf)#exit
/* Auto-loopback configuration for default VRF */
Router(config—cnbng-nal-local)#auto-loopback vrf default
Router(config—cnbng-nal-local-auto-loopback-vrf)#interface Loopback1
Router(config—cnbng-nal-local-auto-loopback-vrf-int)#primary-address 10.0.0.1
Router(config—cnbng-nal-local-auto-loopback-vrf-int)#exit
Router(config—cnbng-nal-local-auto-loopback-vrf)#exit
Router(config-cnbng-nal-local)#route-summary tag 4
Router(config-cnbng-nal-local)#commit
Running Configuration
Router#show running-config cnbng-nal location 0/RSP0/CPU0
cnbng-nal location 0/RSP0/CPU0
hostidentifier asr9k-1
up-server ipv4 192.0.2.1 vrf default
gtp-port 15002
pfcp-port 15003
cp-server primary ipv4 198.51.100.1
secondary-address-update-enable
cp-association retry-count 10
auto-loopback vrf test
interface Loopback2
primary-address 127.0.0.1
!
!
auto-loopback vrf default
interface Loopback1
primary-address 10.0.0.1
!
!
route-summary tag 4
!
Configure Access-Interface
This section describes how to configure the access-interface and to enable PPPoE on the cnBNG user plane.
Configuration Example
Router#configure
Router(config)#interface Bundle-Ether1.1
Router(config-subif)#ipv4 point-to-point
Router(config-subif)#ipv4 unnumbered Loopback1
Router(config-subif)#ipv6 enable
Router(config-subif)#encapsulation dot1q 1
Router(config-subif)#ipsubscriber
Router(config-cnbng-nal-ipsub)#ipv4 l2-connected
Router(config-cnbng-nal-ipsub-l2conn)#initiator dhcp
Router(config-cnbng-nal-ipsub-l2conn)#exit
Router(config-cnbng-nal-ipsub)#ipv6 l2-connected
Router(config-cnbng-nal-ipsub-ipv6-l2conn)#initiator dhcp
Router(config-cnbng-nal-ipsub-ipv6-l2conn)#exit
Router(config-cnbng-nal-ipsub)#exit
/* Enable PPPoE */
Router(config-subif)#pppoe enable
Router(config-subif)#commit
Running Configuration
Router#show running-config interface be1.1
interface Bundle-Ether1.1
ipv4 point-to-point
ipv4 unnumbered Loopback1
ipv6 enable
encapsulation dot1q 1
ipsubscriber
ipv4 l2-connected
initiator dhcp
!
ipv6 l2-connected
initiator dhcp
!
!
pppoe enable
!
Configure Loopback Interface
This section describes how to configure the loopback interface for cnBNG user plane.
Note |
You must not configure any IP address under loopback interface. |
Configuration Example
Router#configure
Router(config)#interface loopback 2
Router(config-if)#ipv6 enable
Router(config-if)#commit
Running Configuration
Router#show running-config interface loopback 2
interface Loopback2
ipv6 enable
!
Configure DHCP
This section describes the steps to configure DHCP for cnBNG BNG user plane.
The basic DHCP configurations include these steps:
-
Creating a cnBNG profile
-
Assigning the cnBNG profile to access-interfaces
Configuration Example
Router(config)#dhcp ipv4
/* Create a cnBNG profile */
Router(config-dhcpv4)#profile cnbng_1 cnbng
Router(config-dhcpv4-cnbng-profile)#exit
/* Assign the cnBNG profile to access-interfaces */
Router(config-dhcpv4)#interface bundle-Ether 1.1 cnbng profile cnbng_1
Router(config-dhcpv4)#interface bundle-Ether 2.1 cnbng profile cnbng_1
Router(config-dhcpv4)#commit
Similarly, you can configure the DHCP IPv6 profiles.
Running Configuration
Router#show run dhcp ipv4
Wed Oct 14 16:48:56.814 UTC
dhcp ipv4
profile cnbng_1 cnbng
!
interface Bundle-Ether1.1 cnbng profile cnbng_1
interface Bundle-Ether2.1 cnbng profile cnbng_1
!
Router#show run dhcp ipv6
Wed Oct 14 16:49:19.095 UTC
dhcp ipv6
profile cnbng_1 cnbng
!
interface Bundle-Ether1.1 cnbng profile cnbng_1
interface Bundle-Ether2.1 cnbng profile cnbng_1
!
Configure Subscriber Gateway Address and Subnet Route
In cnBNG, the IP address management is more dynamic. Hence, the loopback interface for IPoE or PPPoE subscribers is not provisioned in the user profile of the subscriber.
Note |
For every VRF, one loopback must be present on the UP. |
Consider this example,
On RSP0:
Tue Jul 28 05:55:13.015 UTC
cnbng-nal location 0/RSP0/CPU0
hostidentifier asr9k-1
up-server ipv4 192.0.2.1 vrf default
cp-server primary ipv4 198.51.100.1
auto-loopback vrf default
interface Loopback1
primary-address 10.0.0.1
!
!
On RSP1:
Tue Jul 28 05:56:13.015 UTC
cnbng-nal location 0/RSP1/CPU0
hostidentifier asr9k-1
up-server ipv4 192.0.2.1 vrf default
cp-server primary ipv4 198.51.100.1
auto-loopback vrf default
interface Loopback1
primary-address 10.0.0.1
!
!
In this example, the CP assigns 10.11.12.0/24 as subnet, and 10.11.12.1/32 as gateway address to subscribers under the default VRF. This gateway address serves as the DHCPv4 server address for DHCPv4 OFFER or ACK messages. The cnbng-nal process uses Operations Center (OC) to configure this gateway address as secondary IP address on the loopback and route provision APIs to program the entry in L3 routing table.
Note |
The system supports a maximum of 32 secondary IP addresses under an interface. |
Router#show ipv4 interface loopback 1
Tue Jul 28 05:29:58.741 UTC
Loopback1 is Up, ipv4 protocol is Up
Vrf is default (vrfid 0x60000000)
Internet address is 10.0.0.1/32
Secondary address 10.11.12.1/32
Router#show route vrf all ipv4 subscriber
A 10.11.12.0/24 [1/0] via 0.0.0.0, 00:10:29
Note |
The dynamic programming of the subnet (secondary gateway) under the loopback causes a major churn on the UP if large scale of active subscribers is present on the node. Hence, the secondary address programming is disabled, by default. |
Enable Secondary Address Programming
It is mandatory to enable the secondary address programming on cnBNG user plane. To enable that, use the secondary-address-update enable command under the cnbng-nal configuration mode.
Configuration Example
Router#configure
Router(config)#cnbng-nal location 0/RSP0/CPU0
Router(config-cnbng-nal)#secondary-address-update enable
Router(config-cnbng-nal)#commit
Running Configuration
Router#show running-config cnbng-nal location 0/RSP0/CPU0
cnbng-nal location 0/RSP0/CPU0
secondary-address-update enable
!
Configure Route Summary
This section describes the steps to configure route summary for the cnBNG user plane.
The NAL handles the following routes:
-
Individual subscriber routes
-
Summary routes for subscriber pool subnet
The subscriber routes are part of the subscriber provisioning message, which includes:
-
WAN IP address (/32 or /128 subnet)
-
LAN IP (prefix delegation)
The summary routes are for the subscriber pool subnet which are exported to the core network to download traffic towards the subscriber. On physical BNG, the subscriber pool subnets were configured as static routes and redistributed through BGP or IGP. With cnBNG and auto-loopback selection, these subnets for the subscribers are added dynamically to the loopback. Every time a new subscriber pool subnet is added to the loopback, the same is added to the RIB with the tag that is provided by the CP. If tag is ‘0’, the NAL uses the tag configured under the cnbng-nal. Routes with this tag can be exported to the core using the Routing Protocol for Low-Power and Lossy Networks (RPLs).
To configure route summary, use the route-summary command under the cnbng-nal configuration mode.
Configuration Example
Router#configure
Router(config)#cnbng-nal location 0/RSP0/CPU0
Router(config-cnbng-nal)#route-summary tag 10
Router(config-cnbng-nal)#commit
Running Configuration
Router#show running-config cnbng-nal location 0/RSP0/CPU0
cnbng-nal location 0/RSP0/CPU0
route-summary tag 10
!
After the first subnet is installed on NAL, the following routes are added to the system:
A 10.11.12.0/24 [1/0] via 0.0.0.0, 0d01h
Export Routes to Core Network
This section describes how to export routes to core network as part of enabling cnBNG user plane functionality.
Configuration Example
Router#configure
Router(config)#route-policy test-policy-cnbng
Router(config-rpl)#if tag eq 10 then
Router(config-rpl-if)#set community (123:100)
Router(config-rpl-if)#done
Router(config-rpl-if)#endif
Router(config-rpl)#end-policy
Router(config)#commit
Router(config)#router ospf 10
Router(config-ospf)#vrf test-vrf-cnbng
Router(config-ospf-vrf)#redistribute subscriber route-policy test-policy-cnbng
Router(config-ospf-vrf)#commit
Running Configuration
Router#show running-config route-policy test-policy-cnbng
route-policy test-policy-cnbng
if tag eq 10 then
set community (123:100)
done
endif
end-policy
!
Router#show running-config router ospf
router ospf 10
vrf test-vrf-cnbng
redistribute subscriber route-policy test-policy-cnbng
!
Configure ARP Scale Mode
This section describes the steps to configure ARP scale mode for the cloud-native BNG user plane.
To disable interface entry creation by ARP for each subscriber interface on the data plane (line cards), you must enable ARP scale mode for the subscriber using the arp scale-mode-enable command in subscriber configuration mode.
Configuration Example
Router#configure
Router(config)#subscriber
Router(config-subscriber)#arp scale-mode-enable
Router(config-subscriber)#commit
Running Configuration
Router#show running-config subscriber
Sat Aug 22 06:36:21.422 UTC
subscriber
arp scale-mode-enable
!