Configuring Cloud Native BNG User Plane

This chapter describes the configuration procedures to achieve the cnBNG user plane functionality on Cisco ASR 9000 Series Routers.

For details on cnBNG user plane commands, see the Cloud Native BNG Command Reference for Cisco ASR 9000 Series Routers.

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
!