Resiliency based on Fate Sharing Group

The MAG-c groups the sessions in FSGs. All sessions in an FSG share their fate, that is, they become active or standby together. The MAG-c provides the following parameters to the BNG-UP per FSG:

  • FSG ID
  • status (active or standby)
  • unique FSG MAC address also known as a virtual MAC
  • list of associated sessions and one or more aggregate routes associated with these sessions. For more information, see IP gateway, services, and routing.
  • FSG template

When the MAG-c does not provide an FSG template, the template with the name default is used. If there is no default template, the setup of the FSG and any associated session fails.

Use the following command to configure FSG templates.

configure subscriber-mgmt up-resiliency fate-sharing-group-template

After this, the active BNG-UP and standby BNG-UP are used in the context of a single FSG. Each BNG-UP can have multiple FSGs and can have a different status for each FSG.

To attract traffic from the access network, an active BNG-UP replies to ARP requests or ND messages for any IP gateway associated with the FSG. A standby BNG-UP never replies to those ARP or ND messages. To expedite convergence when switching from standby to active, the new active BNG-UP sends Gratuitous ARP (GARP) messages using the IP gateway address for the FSG, or the system IP address if no IP gateway is known. Afterward, the BNG-UP keeps sending periodic GARP messages to ensure traffic is attracted at all times to the correct BNG-UP.

Use the following command to configure the granularity of GARP messages for QinQ SAPs.

configure subscriber-mgmt up-resiliency fate-sharing-group-template gratuitous-arp

You can configure the BNG-UP to send a single GARP message per SAP or per outer tag. Configure the fsg-active, fsg-active-path-restoration and fsg-standby options for the following command to correctly draw traffic to the active BNG-UP.

configure policy-options policy-statement entry from state

All routes received from PFCP, including per-session framed routes, have one of these values as an option. You can use this option to adjust values in routing export policies; for example, adjust a metric or a preference to the needs of the used routing protocol.

The following reduced configuration example shows a simplified policy that sets a metric of 100 for active routes, a metric of 150 for active routes while in headless, and a metric of 200 for standby routes.

Policy statement configuration

[ex:/configure policy-options policy-statement "upf_resiliency_aware_export"]
A:admin@BNG-UPF# info
    entry 20 {
        from {
            origin pfcp
            state fsg-active
        }
        action {
            action-type accept
            metric {
                set 100
            }
        }
    }
    entry 30 {
        from {
            origin pfcp
            state fsg-active-path-restoration
        }
        action {
            action-type accept
            metric {
                set 150
            }
        }
    }
    entry 40 {
        from {
            origin pfcp
            state fsg-standby
        }
        action {
            action-type accept
            metric {
                set 200
            }
        }
    }
An active BNG-UP always forwards traffic in both directions. It uses the FSG MAC as source MAC for downlink unicast traffic. A standby BNG-UP by default forwards downlink traffic using its local port MAC as source MAC and drops all received uplink traffic. You can modify the default behavior in the following ways:
  • To shunt downlink traffic from the standby to the active BNG-UP and have the active BNG-UP forward that downlink traffic, do the following:
    • Use the following command to configure a redundant interface.

      configure subscriber-mgmt up-resiliency fate-sharing-group-template redundant-interface
    • Use the following command to configure the same shunt ID on the active and the standby BNG-UP for the applicable service.

      configure service ies subscriber-mgmt multi-chassis-shunt-id
      configure service vprn subscriber-mgmt multi-chassis-shunt-id
  • Use the following command to enable forwarding of uplink traffic by the standby BNG-UP.

    configure subscriber-mgmt up-resiliency fate-sharing-group-template uplink-forwarding-while-standby
    Caution: Enabling the uplink-forwarding-while-standby command can lead to packet replication toward the core network. To prevent the possibility of packet replication toward the core network, provision the access network not to replicate unknown unicast packets to the BNG-UP.
When the standby BNG-UP forwards uplink traffic, it can significantly lower packet loss during transition scenarios. The following examples illustrate this benefit:
  • If the current active BNG-UP fails and an access node detects this faster than the MAG-c (for example, using BFD), the access node can start sending packets to the standby BNG-UP before that BNG-UP has become active. When the uplink-forwarding-while-standby command is enabled, the uplink packets are not lost because the standby BNG-UP forwards them.
  • During scheduled maintenance, the MAG-c can switch the roles of the active and standby BNG-UP while both are healthy. For some time, the access node continues to send packets to the previously active BNG-UP that has become the standby BNG-UP. When the uplink-forwarding-while-standby command is enabled, the uplink packets are not lost because the previously active BNG-UP still forwards them. When the uplink-forwarding-while-standby command is disabled, the previously active BNG-UP drops the packets until the access node learns the path to the new active BNG-UP (using GARP).

The resiliency based on FSG does not use the SRRP protocol, but the system internally consumes an SRRP instance for each unique combination of FSG, port, and group interface template. To avoid potential conflicts with pre-configured SRRP instance IDs, use the following command to define a range of SRRP instance IDs for the inter-BNG-UP resiliency functionality.

configure redundancy srrp auto-srrp-id-range