Session management

This chapter provides an overview of the common and fixed access session functionality.

Subscribers, QoS, and filters

The BNG CUPS automatically links sessions together into subscribers, based on the QoS Enforcement Rule (QER) Correlation ID it receives in the PFCP session. If the BNG-UP does not receive a QER Correlation ID, it assumes there is only one session per subscriber.

The usual subscriber-management processing applies, as described in the 7450 ESS, 7750 SR, and VSR Triple Play Service Delivery Architecture Guide, sections "QoS for subscribers and hosts" through "Configuring IP and IPv6 filter policies for subscriber hosts".

The PFCP may pass the following parameters:

  • subscriber and SLA profile names; if these are not provided the name "default" is used

    Note: You must always configure the SLA and subscriber profiles for use with BNG CUPS; for example, configure subscriber-mgmt sla-profile control cups or configure subscriber-mgmt sub-profile control cups. This disables any feature that is not supported within BNG CUPS.
  • direct QoS overrides of QoS objects such as aggregate-rate, schedulers, arbiters, queues, and policers

  • SLA filter overrides, either by name or ID

  • intermediate destination ID

PFCP can also signal GBR and MBR values directly in the QER, which is not linked directly to a specific QoS object. If the QER applies to the entire session, you can map the MBR and GBR to a direct QoS object PIR or CIR override using the configure subscriber-mgmt sla-profile name pfcp-mappings session-qer command. The MAG-c signals the QER rate, for example, to install a session-AMBR (5G) or APN-AMBR (4G) for FWA sessions.

IBCP

Most BNG session types have one or more control plane messages that are sent in-band and therefore arrive directly on the BNG-UP. Because the BNG-UP cannot handle these messages, they are forwarded to the MAG-c. To accomplish this, the MAG-c installs specific Ethernet or IP filter rules that match these packets; for example, by matching UDP destination port 67 to extract DHCP. These packets are encapsulated in GTP-U and sent to the MAG-c. Similarly, the MAG-c sends downstream In-Band Control Plane (IBCP) packets over GTP-U toward the BNG-UP.

For upstream traffic, the BNG-UP sends any control plane messages that do not match a session over a default tunnel. See Default IBCP session for information about how this tunnel is signaled. If the control plane messages do not match the default tunnel rules, the messages are dropped.

When a session is created, either out-of-band or via a trigger over the default tunnel, the MAG-c installs per-session control plane rules for both upstream and downstream. Packets that match the upstream rules are forwarded to the MAG-c using the signaled GTP-U parameters. For downstream rules, the BNG-UP allocates a TEID that the MAG-c can use to send packets. The BNG-UP does not support a default downstream IBCP tunnel.

The upstream IBCP (including default) follows the sgt-qos dscp application configuration, using the ibcp keyword on the router or VPRN. A specific DSCP value (default NC2) can be provisioned and mapped to a specific FC, as usual.

See the 7450 ESS, 7750 SR, 7950 XRS, and VSR Quality of Service Guide, section "QoS for Self-Generated (CPU) Traffic on Network Interfaces" for more information.

Downstream IBCP packets are handled directly in the data path. Ingress QoS is applied based on the provisioning. Egress QoS depends on the following session types:

  • fixed access sessions

    Egress QoS packets bypass per-session processing, including egress QoS and filters. Egress QoS is instead based on the QoS configuration of the capture SAP that is linked to the session.

  • FWA sessions

    Egress QoS packets go through regular per-session processing and are subject to the QoS and filters provisioned in the SLA profile.

IP gateway, services, and routing

In many deployments, a BNG-UP acts as a direct IP gateway for sessions. The MAG-c provides all the IP addresses and framed routes using the PFCP protocol. To assist with forwarding, the MAG-c also signals the following information using the PFCP protocol:

  • name of the preprovisioned IES or VPRN service in which forwarding must occur

  • aggregate routes that the BNG-UP announces in routing protocols to attract traffic

    Note: The MAG-c guarantees that no addresses from the aggregate routes are assigned to sessions on another BNG-UP. See the 7450 ESS, 7750 SR, 7950 XRS, and VSR Unicast Routing Protocols Guide for more information about route policies.
  • IPv4 gateway address, which is typically a dedicated address within the aggregate route

  • IPv6 gateway link-local address, only one of which is supported per VPRN or IES

The BNG-UP runs the appropriate routing protocols and responds to ARP/ND for the gateway addresses. For the purpose of exporting routes, the operator can distinguish all CUPS routes using the pfcp option for the configure policy-options policy-statement entry from origin command. Additionally, the operator can further distinguish routes using the following options for the protocol command in the same context:

  • sub-mgmt option for session IP addresses and prefixes, as signaled in the UE IP Address IE in PFCP
  • managed option for framed routes, as signaled in the Framed-Route IE in PFCP
    Note: When using the pd-as-framed-route option on the MAG-c, an IPv6 PD prefix uses the managed option (instead of the sub-mgmt option) because the BNG-UP cannot distinguish the PD framed route from a regular framed route.
  • direct option for all other routes, such as aggregate routes and gateway addresses

Statistics reporting

Statistics reporting uses the PFCP Usage Reporting Rule (URR) mechanism. The BNG-UP supports a single URR to count all statistics that are related to a session. The BNG-UP supports sending the following statistics for the URR:

  • Aggregate octet counters are always signaled.

  • Aggregate packet counters are signaled, if enabled by the MAG-c.

  • Per-queue and per-policer statistics are signaled, if enabled by the MAG-c. The specific counters depend on the statistics mode (stat-mode) configured in either the QoS policy or SLA profile.

All counters, including aggregates, are based on QoS counters and are therefore affected by QoS modifiers, such as the packet-byte-offset command.

The BNG-UP sends reports for a URR in the following cases:

  • The MAG-c explicitly queries the BNG-UP via a PFCP Session Modification Request.

  • The periodic URR reporting is enabled and the BNG-UP sends unsolicited PFCP Session Report Request messages.

PFCP statistics are reported in an incremental manner. This means that only new statistics after the last report are signaled. To achieve this, the BNG-UP baselines the counters on every report. Consequently, it is not possible to manually clear statistics on the BNG-UP using the clear service statistics subscriber command. Other operational commands (for example, show service active-subscribers detail) only show the accumulated statistics on the BNG-UP.

Because statistics are based on QoS counters, sessions sharing the same SLA Profile Instance (SPI) also share statistics, and a report for one session baselines the counters for the entire SPI. As a result, per-session statistics on the MAG-c are not correct when sharing an SPI; however, their aggregate counts are correct. The MAG-c must provide the appropriate aggregate level (for example, subscriber-level accounting). When an SPI changes, the BNG-UP reports the final SPI statistics in PFCP if instructed to do so by the MAG-c.

Hardware failures are automatically taken into account for statistics reporting. Statistics generated after the last report are irretrievably lost. However, as a result of the incremental reporting, the MAG-c does not lose any older counters and does not see a sudden reset. That is, aggregate counters on the MAG-c never decrease as a result of a hardware failure. However, the BNG-UP local statistics as seen in show commands reset upon a hardware failure, and therefore a mismatch of MAG-c counters may result.

Operational commands

Most of the traditional BNG operational commands, as described in the 7450 ESS, 7750 SR, and VSR Triple Play Service Delivery Architecture Guide, apply to the CUPS BNG-UP. The significant exceptions to this rule are operational commands related to specific protocols (such as DHCP, DHCPv6, RADIUS, and PPPoE), because a BNG-UP is not aware of these states.

The primary BNG-UP operational commands are as follows:

  • show service active-subscribers

    This command contains several sub-commands that provide details about a specific subscriber or session within a subscriber. These commands incorporate information about CUPS subscribers. Information that is only available on the MAG-c is not shown on the BNG-UP (for example, details on RADIUS and metadata such as remote-id and circuit-id).

  • show subscriber-mgmt statistics

    This command contains several sub-commands that provide a wide variety of statistics on various granularity levels. These commands are extended to incorporate BNG CUPS statistics.

IBCP statistics can be displayed via the PFCP statistics using the show subscriber-mgmt pfcp statistics command.

Operational commands that are specific to PFCP associations are described in Operational commands and debugging.

SAP and group interface templates

The system auto-provisions any required objects, which means that subscriber interfaces, group interfaces, and SAPs do not need to be provisioned. These objects are hidden from configuration and are not modifiable. Aside from the capture SAP, the only required configuration is the VPRN or IES where IP forwarding occurs.

Use the commands in the following context to manage SAP creation using a SAP template.
configure subscriber-mgmt sap-template

The SAP template supports the configuration of the following:

  • Use the hold-time command to delay the deletion of the SAP after the last PFCP session is removed.

    Note: Although the infinite option can be configured for the hold-time command, it is not recommended.

    Use the following command option to clear idle SAPs.

    clear subscriber-mgmt sap-template idle-saps
  • Use the cpu-protection and dist-cpu-protection commands to configure CPU protection; see the 7450 ESS, 7750 SR, 7950 XRS, and VSR System Management Guide, section "Centralized CPU protection and distributed CPU protection" for more information about CPU protection.

    Note: On platforms where CPU protection and distributed CPU protection are not supported, these commands are ignored.

Use the commands in the following context to configure a group interface template to manage the created group-interface.

configure subscriber-mgmt group-interface-template

When setting up a PFCP session, the PFCP passes a template name. If the template name is absent, the system falls back to the name "default".

Use the following commands to configure the group interface template:

  • Use ipv4 icmp to configure ICMP.

  • Use ip-mtu to configure IP MTU to outgoing packets.

  • Use ipv4 remote-proxy-arp to configure the remote proxy ARP; see 7450 ESS, 7750 SR, 7950 XRS, and VSR Router Configuration Guide, section "Proxy ARP".

  • Use ipv4 urpf-check and ipv6 urpf-check to configure URPF checks; see 7450 ESS, 7750 SR, 7950 XRS, and VSR Router Configuration Guide, section "Unicast reverse path forwarding check".

  • Use trigger-packet data to enable data trigger.
Note: Configure the SAP and group interface templates on the BNG-UP (as well as the name "default") to ensure the session setup does not fail.

Changing the configuration of a template does not automatically change all created SAPs or group interfaces.

Mixing different encapsulation sessions on the same port

The BNG-UP supports the following mix of encapsulation sessions:
  • on a :*.* capture SAP: dot1q and null encapsulation sessions
    Note: To support this, the user must set the configure service system extended-default-qinq-sap-lookup command to true on the systems where this is not the default.
  • on a :* capture SAP: null encapsulation sessions

The system internally creates SAPs with :N.0, :0.0, and :0 encapsulation to support the mix. The user can apply the SAP templates to these SAPs similarly to any other SAPs.

Traffic as seen on the wire typically does not include an S-tag or C-tag with a tag value explicitly set to zero because the absence of a tag is equal to a zero tag. Occasionally, an explicit zero tag is included; for example, when a dot1p or DEI bit needs to be set in the tag header. The internally created SAPs interact with such traffic as follows:

  • Because generated traffic never includes an explicit zero tag, it is not possible to set a dot1p or DEI bit in the tag header.
  • Traffic with a C-tag value explicitly set to zero is always dropped, even if it matches an internally created :N.0 or :0.0 SAP.
  • Traffic with only the S-tag value explicitly set to zero is handled if it matches either a :0 or a :0.0 SAP. This kind of traffic matches the same session as if it was received without any S-tag.

Fixed access sessions

To enable fixed access sessions, you must provision a capture SAP under the VPLS service with appropriate values for trigger-packet and a link to the PFCP association. The triggers are mandatory and are not automatically derived from the default IBCP tunnel.

Sessions without any encapsulation are supported on a dot1q capture SAP. The system creates internal constructs to correctly handle sessions without encapsulation. These sessions can be combined with dot1q encapsulated sessions on the same capture SAP.

The following example shows trigger-packet provisioning in a PFCP association configuration.

A:admin@DUT-B# info 
    pfcp {
        association "BNG-CPF"
    }
    trigger-packet {
        pppoe true
    }

To identify sessions in the data plane, the MAG-c must provide the following parameters:

  • The logical port (also known as the Layer 2 access ID) identifies the port, the LAG, or the pw-port where the session is terminated. The MAG-c knows the correct logical port because the BNG-UP includes this logical port in the IBCP packets sent over the default IBCP tunnel. See Default IBCP session.

  • The VLAN tags, along with the logical port, identify a SAP where the session is terminated, also known as a Layer 2 circuit (l2-circuit). The MAG-c must signal all the VLAN tags to match the encapsulation type provisioned for the port; for example, only signaling an s-tag for a q-in-q port is not allowed. As an exception, the MAG-c can install sessions without any VLAN tags on a dot1q capture SAP, as described at the beginning of this section.

  • The source MAC address is required.

  • The PPPoE session ID is used for PPPoE only.

  • The IP anti-spoofing IP address is optionally used to enable IP anti-spoofing. While this can be signaled per session, the BNG-UP only supports a single anti-spoof type per SAP. When a second session on the same SAP has a conflicting anti-spoof indication, the setup fails. IP anti-spoofing is not supported for framed routes.

For PPPoE, the BNG-UP can perform LCP keep-alive offload, if supported and signaled by the MAG-c. The BNG-UP automatically signals support for this feature when the PFCP association is created.

Fixed wireless access sessions

To configure Fixed Wireless Access (FWA) sessions, use the following command to provision a FWA-UP data endpoint for the router or service VPRN:

configure router gtp upf-data-endpoint
configure service vprn gtp upf-data-endpoint
The endpoint must reference an interface in the routing instance where GTP-U tunnels to the RAN are set up. Additionally, an FPE construct is required to enable datapath functions in the router. You must configure the FPE as type multi-path. See the 7450 ESS, 7750 SR, 7950 XRS, and VSR Interface Configuration Guide for more information.

The system automatically creates all the required constructs to correctly handle FWA sessions. Additionally, the system load-balances sessions over each FPE path, using the path that is the least loaded when the session is set up.

Provisioning of a FWA-UP data endpoint and multipath FPE

[gl:/configure service vprn "to_ran" gtp upf-data-endpoint]
A:admin@FWA-UP# info
    interface "gtp_u_endpoint"
    fpe 1
[gl:/configure fwd-path-ext fpe 1]
A:admin@FWA-UP# info
    multi-path {
        path 1 {
            pxc 1
        }
    }
    application {
        sub-mgmt-extension true
    }

Unlike in fixed access sessions, a default IBCP tunnel is not used for FWA sessions because the initial session setup is out-of-band and does not involve the FWA-UP. Per-session IBCP is supported to forward DHCP (Deferred Allocation), ICMPv6 RS/RA, and DHCPv6 packets.

Both 4G and 5G FWA sessions are supported. The configuration for both types of sessions is the same and can be shared. Both 4G and 5G use GTP-U tunnels; however, for 5G an additional GTP-U extension header is added that contains a 64-bit QoS Flow Indicator (QFI), and optionally a 1-bit Reflective QoS Indicator (RQI). The system decides whether to include this extension header based on dynamic signaling in PFCP; no additional user configuration is required.

Dynamic QoS based on PCC rules

FWA sessions support dynamic QoS based on policy and charging control (PCC) rules. An FWA session can have multiple PCC rules, each composed of a set of packet classifiers and specific QoS behavior. Acting as an SMF, the MAG-c receives these PCC rules from multiple sources, such as a policy control function (PCF). The MAG-c translates these PCC rules to common PFCP constructs, where each PCC rule is represented by a PDR rule and associated QER/FAR rules.

The FWA-UP supports up to two QER rates per PDR, which it enforces using the following automatically- derived two‑level QoS hierarchy:

  • The first rate is enforced using policing, and represents the SDF MBR as constructed by the MAG-c. This rate is optional in the 5G QoS model.
  • The second rate is enforced using shaping. This rate represents either the Session-AMBR or GFBR/MFBR, depending on whether the PCC rule is mapped to a GBR or non-GBR QoS flow.

See the MAG-c Control Plane Function Guide, "Fixed Wireless Access QoS", for more information about SDF MBR, session-AMBR, GFBR, and MFBRs.

For each PCC rule, the FWA-UP correctly marks packets as follows:

  • The FWA-UP marks the QoS flow identifier (QFI) and reflective QoS indicator (RQI) in the GTP-U header. The RAN and FWA RG use these values respectively to correctly handle QoS enforcement and classification.
  • The FWA-UP marks the DSCP fields on both the inner data packet and the outer GTP-U header. This is important primarily in cases where a node that is not mobile-QoS aware is a bottleneck. These nodes cannot use QFI because it is dynamic and session dependent; for example, a specific QFI 1 may mean high-priority for one session and low-priority for the next. Therefore, you can also map traffic to the less flexible static DSCP, which provides good basic prioritization in these nodes.

The FWA-UP automatically configures the required resources to manage the per-flow QoS, based on the following PFCP rules:

  • Configure a policer for each SDF MBR to be enforced.
  • Configure a queue for each GFBR/MFBR to be enforced.
    Note: The queue for the session-AMBR must be preprovisioned and identified by the session QER and SLA profile, as described in “Subscribers, QoS, and Filters”.
  • Configure IP criteria entries that include the signaled classifiers as match criteria, point to the applicable configured policer and queue, and enforce the correct QFI and RQI fields of the GTP-U headers.
  • Configure IP filter entries that enforce drop and forward functionality and optionally enforce DSCP marking.

To support automatic configuration of resources, provision the session with the following IP filter, QoS, and subscriber-management profiles:

  • Use the commands in the following contexts to configure an IPv4 and IPv6 filter with an entry range to use for PCC rule-based entries.
    configure filter ip-filter subscriber-mgmt shared-entry pcc-rule range
    configure filter ipv6-filter subscriber-mgmt shared-entry pcc-rule range
    Note: This is not mandatory if you do not require DSCP marking or explicit flow blocking. However, Nokia recommends enabling this to accommodate any future functionality extensions that may require dynamic IP filter entries.
  • Configure a subscriber profile that points to a policer-control-policy.
  • Configure a SAP egress policy with the following:
    • Configure at least one single static queue, which may be the default.
    • Use the following command to configure an IP criteria entry range for the PCC rule derived entries.
      configure qos sap-egress subscriber-mgmt pcc-rule-entry range
    • Use the following command to configure a dynamic policer ID range to use when configuring the policers for SDF MBR policing. You can also configure other optional dynamic policer settings using commands in this context.
      configure qos sap-egress subscriber-mgmt dynamic-policer policer-id-range
    • Use the following command to create a dynamic queue ID range for the queues required for GFBR and MFBR shaping. You can also configure other optional dynamic queue settings using commands in this context.
      configure qos sap-egress subscriber-mgmt dynamic-queue queue-id-range
  • Configure a SAP ingress policy with the following:
    • Use the commands in the following context to configure an IP criteria entry range to create the PCC rule derived entries.
      configure qos sap-ingress subscriber-mgmt pcc-rule-entry range 
    • Nokia recommends that you configure a single static policer that points to an arbiter in the policer control policy referred by the subscriber profile, and map all FCs to this policer to avoid the creation of the default queue. You can use the default root arbiter for this by using the name root.
    • Use the following command to configure a dynamic policer ID range to use when configuring the policers required for SDF MBR policing. You can also configure other optional dynamic policer settings in this context.
      configure qos sap-ingress subscriber-mgmt dynamic-policer policer-id-range
      Use the following command to configure parenting of the dynamic policers to an arbiter. This can be the same arbiter used for the recommended single static policer, including the root arbiter.
      configure qos sap-ingress subscriber-mgmt dynamic-policer arbiter-parent arbiter-name
  • Configure a subscriber profile that points to a policer-control-policy.
  • Configure a SLA profile that points to the configured IP filter, IPv6 filter, SAP egress policy, and SAP ingress policy. Additionally, use the commands in the following context to configure and correctly apply session-AMBR.
    configure subscriber-mgmt sla-profile pfcp-mappings session-qer 
    • Use the following command to configure an uplink arbiter that points to an arbiter in the policer-control policy that the subscriber profile references. Use the name root to specify the default root arbiter. This must be the same arbiter to which the dynamic-policers is parented by the aforementioned configuration.
      configure subscriber-mgmt sla-profile pfcp-mappings session-qer uplink arbiter
    • Use the following command to configure the downlink queue to the static queue that is configured in the SAP egress policy.
      configure subscriber-mgmt sla-profile pfcp-mappings session-qer downlink queue

All FWA sessions using PCC rules can use the same SLA and SUB profiles. The system correctly creates the per-session QoS resources based on these. It is also possible to configure the SLA and SUB profile with the name default, so that the MAG-c does not need to provision a specific SLA and SUB profile for these sessions. See Subscribers, QoS, and filters for details.

Note: To manage future growth, Nokia recommends configuring the largest range possible for dynamic resources, to accommodate adding or removing PCC rules. The range does not preallocate system resources and there is no reason to minimize these.

The following examples show filter, subscriber-management, and QoS configurations that enable creation of all the dynamic objects described in this topic.

Filter configuration for creation of dynamic objects

[ex:/configure filter "1" ]
A:admin@node-2# info
    ip-filter "cups_default" { 
        default-action accept
        subscriber-mgmt {
            shared-entry {
                pcc-rule {
                    range {
                        start 10000
                        end 75534
                    }
                }
            }
        }
    }
    ipv6-filter "cups_default" { 
        default-action accept
        subscriber-mgmt {
            shared-entry {
                pcc-rule {
                    range {
                        start 10000
                        end 75534
                    }
                }
            }
        }
    }

Subscriber management configuration for creation of dynamic objects

[ex:/configure subscriber-mgmt ]
A:admin@node-2# info
    sub-profile "default" { 
        control {
            cups true
        }
        ingress {
            qos {
                policer-control-policy {
                    policy-name "cups_default"
                }
            }
        }
    }
    sla-profile "default" { 
        control {
            cups true
        }
        egress {
            ip-filter "cups_default"
            ipv6-filter "cups_default"
            qos {
                sap-egress {
                    policy-name "cups_default"
                }
            }
        }
        ingress {
            ip-filter "cups_default"
            ipv6-filter "cups_default"
            qos {
                sap-ingress {
                    policy-name "cups_default"
                }
            }
        }
        pfcp-mappings {
            second-level-flow-rate shape
            session-qer {
                uplink {
                    arbiter "root"
                }
                downlink {
                    queue 1
                }
            }
        }
    }

QoS configuration for creation of dynamic objects

[ex:/configure qos ]
A:admin@node-2# info
    sap-ingress "cups_default" {
        subscriber-mgmt {
            pcc-rule-entry {
                range {
                    start 1
                    end 65535
                }
            }
            dynamic-policer {
                policer-id-range {
                    start 2
                    end 63
                }
                arbiter-parent {
                    arbiter-name "root"
                }
            }
        }
        policer 1 {
            arbiter-parent {
                arbiter-name "root"
            }
        }
        fc "af" {
            policer 1
        }
        fc "be" {
            policer 1
        }
        fc "ef" {
            policer 1
        }
        fc "h1" {
            policer 1
        }
        fc "h2" {
            policer 1
        }
        fc "l1" {
            policer 1
        }
        fc "l2" {
            policer 1
        }
        fc "nc" {
            policer 1
        }
    }
    policer-control-policy "cups_default" {
    }
    sap-egress "cups_default" {
        subscriber-mgmt {
            pcc-rule-entry {
                range {
                    start 1
                    end 65535
                }
            }
            dynamic-policer {
                policer-id-range {
                    start 1
                    end 63
                }
            }
            dynamic-queue {
                queue-id-range {
                    start 2
                    end 8
                }
            }
        }
    }

Routed subscriber sessions

Enterprise IP VPNs often use BGP to exchange routing information, for example, between headquarters and branch offices. Providing BGP connectivity to an enterprise router via a residential access connection requires BGP peering over a BNG CUPS subscriber session. To configure this on the BNG-UP, use a static BGP neighbor that has as its neighbor address the fixed IPv4 or IPv6 WAN address of the subscriber session.

Routed subscriber session configuration

# configure service vprn 1000
    --- the following is an example of an auto-generated configuration based on a session setup ---
    subscriber-interface "_tmnx_cups_1131076" fwd-service 2148278386 
    /fwd-subscriber-interface "_tmnx_cups_1131075" wan-mode mode128 
        description "default subscriber interface template"
        private-retail-subnets
        address 10.0.240.254/20
        ipv6
        exit
    exit
--- the auto-generated configuration ends here ---
    bgp
        group "enterprise-1"
            neighbor 10.0.0.1
                family ipv4
                local-address 10.0.240.254
                type external
                local-as 65536
                peer-as 65501
            exit
        exit
        no shutdown
    exit
    no shutdown

BNG CUPS subscriber sessions support static BGP neighbors for the following:

  • BGPv4 neighbors with IPv4 and IPv6 address families
  • BGPv6 neighbors with IPv4 and IPv6 address families
  • IPoE and PPPoE sessions
  • single-hop and multi-hop BGP neighbors