Quality of Experience (QoE) in ISP networks measures how subscribers perceive network performance, focusing on actual user experience rather than just technical metrics. ISPs use QoE to ensure their internet feels fast, maintain smooth video calls and gaming, and prevent service issues that lead to customer churn.
What QoE Does Beyond Providing Metrics:
- Proactive Network Management – Empowers ISPs to solve issues before customers call or cancel
- Traffic Optimization – Prioritizes latency-sensitive applications like VoIP and gaming over bulk downloads
- Network Troubleshooting – Quickly identifies and resolves performance bottlenecks
- Capacity Planning – Identifies congestion points and optimizes resource allocation
- Subscriber-Level Analysis – Pinpoints problematic users or equipment affecting network performance
Popular QoE Solutions for ISPs include Preseem, Cambium Networks QoE, LibreQoS and Bequant.
The Problem:
As a service provider that aggregates subscriber traffic to centralized locations with deployed QoE solutions, basic routing and bridging practices were not meeting QoE redundancy requirements. QoE appliances commonly get inserted into networks as an after thought and typically utilize OSPF to provide a ‘bypass’ in the event of catastrophic failure.
QoE first design requirements:
- BNG redundancy – Ability to scale the number of BNG routers without disrupting topology.
- QoE scalability – Ability to scale the number of QoE appliances without disrupting topology.
- Flexible traffic routing on a per prefix basis. – Ability to designate different QoE appliances to sets of subscriber prefixes on a per BNG basis.
- QoE redundancy – Ability to define QoE appliance failover order, per set of prefixes.
- QoE bypass – Ability to automatically bypass all QoE appliances due to system failures or administrative override.
- Simple management – Ability to change traffic flow without complex configuration changes.
Key benefits:
- Subscriber traffic always flows though a QoE appliance except during mass failure.
- Multiple QoE solutions can be in production at the same time.
- Seamless replacement of a QoE solution.
- Seamless replacement of QoE hardware.
- Load distribution.
A solution:
The following example:
- uses a single router, single BNG, and two QoE appliances to avoid diagram clutter;
- specific to JunOS, may not directly translate to other platforms without architecture changes;
- can be extended utilizing the provided information to scale the number of routers and QoE appliances;
- uses ‘inet’ and ‘inet6’ naming convention for consistency with JunOS address-family terminology;
- uses large community string format and 4-byte AS numbers.
Solution summary:
- Single protocol design using BGP.
- All complexity is contained on BNG routers.
- Upstream router configuration is very simplistic.
- Changing the flow of subscriber traffic is controlled from a set of prefix lists associated to each QoE appliance.
Logical topology used in this example:
- In a real deployment, use multiple physical interfaces for redundancy.
- Layer 1 / 2 architecture is outside the context of this example.

Solution diagram:

Solution walk-through and configuration:
Beginning with router CORE01, a BGP group is created for each BNG, within this group, multiple eBGP neighbors are defined. The number defined would be equal to the number of QoE appliances in use, plus a bypass. In this example 3 are defined. An import policy accepts all routes from the BNG. An export policy advertises a default route for each address family. If there are multiple BNG routers, the same policies are reused.
That’s it for CORE01. Simple.
CORE01 BGP configuration:
set routing-options autonomous-system 4200000000
set protocols bgp group bng01 type external
set protocols bgp group bng01 description bng01
set protocols bgp group bng01 hold-time 3
set protocols bgp group bng01 import subscriber-import
set protocols bgp group bng01 export subscriber-export
set protocols bgp group bng01 remove-private
set protocols bgp group bng01 peer-as 4200000010
set protocols bgp group bng01 neighbor 192.0.2.1 family inet unicast
set protocols bgp group bng01 neighbor 192.0.2.3 family inet unicast
set protocols bgp group bng01 neighbor 192.0.2.5 family inet unicast
set protocols bgp group bng01 neighbor 2001:db8:0:1::2 family inet6 unicast
set protocols bgp group bng01 neighbor 2001:db8:0:2::2 family inet6 unicast
set protocols bgp group bng01 neighbor 2001:db8:0:3::2 family inet6 unicast
CORE01 route policies:
# Accept all routes from BNG peers
set policy-options policy-statement subscriber-import term from-bng then accept
# Export default routes to BNG peers
set policy-options policy-statement subscriber-export term to-bng from policy default-route
set policy-options policy-statement subscriber-export term to-bng then accept
set policy-options policy-statement subscriber-export then reject
# Match default routes
set policy-options policy-statement default-route term inet-prefixes from family inet
set policy-options policy-statement default-route term inet-prefixes from route-filter 0.0.0.0/0 exact
set policy-options policy-statement default-route term inet-prefixes then accept
set policy-options policy-statement default-route term inet6-prefixes from family inet6
set policy-options policy-statement default-route term inet6-prefixes from route-filter ::/0 exact
set policy-options policy-statement default-route term inet6-prefixes then accept
set policy-options policy-statement default-route then reject
At BNG01, define a separate BGP group for each eBGP neighbor. (You could optionally use one group).
- Each group has a separate import and export policy defined.
BNG01 BGP configuration:
set routing-options autonomous-system 4200000010
set protocols bgp group core01-qoe01 type external
set protocols bgp group core01-qoe01 description core01-qoe01
set protocols bgp group core01-qoe01 hold-time 3
set protocols bgp group core01-qoe01 import core01-qoe01-import
set protocols bgp group core01-qoe01 export core-qoe01-export
set protocols bgp group core01-qoe01 remove-private
set protocols bgp group core01-qoe01 peer-as 4200000000
set protocols bgp group core01-qoe01 neighbor 192.0.2.0 family inet unicast
set protocols bgp group core01-qoe01 neighbor 2001:db8:0:1::1 family inet6 unicast
set protocols bgp group core01-qoe02 type external
set protocols bgp group core01-qoe02 description core01-qoe02
set protocols bgp group core01-qoe02 hold-time 3
set protocols bgp group core01-qoe02 import core01-qoe02-import
set protocols bgp group core01-qoe02 export core-qoe02-export
set protocols bgp group core01-qoe02 remove-private
set protocols bgp group core01-qoe02 peer-as 4200000000
set protocols bgp group core01-qoe02 neighbor 192.0.2.2 family inet unicast
set protocols bgp group core01-qoe02 neighbor 2001:db8:0:2::1 family inet6 unicast
set protocols bgp group core01-direct type external
set protocols bgp group core01-direct description core01-direct
set protocols bgp group core01-direct hold-time 3
set protocols bgp group core01-direct import pref-bgp-default
set protocols bgp group core01-direct import core01-direct-import
set protocols bgp group core01-direct export core-direct-export
set protocols bgp group core01-direct remove-private
set protocols bgp group core01-direct peer-as 4200000000
set protocols bgp group core01-direct graceful-restart
set protocols bgp group core01-direct neighbor 192.0.2.4 family inet unicast
set protocols bgp group core01-direct neighbor 2001:db8:0:3::1 family inet6 unicast
Define prefix list place holders on BNG01. These will get utilized at the end.
set policy-options prefix-list inet-qoe01-prefixes
set policy-options prefix-list inet-qoe02-prefixes
set policy-options prefix-list inet6-qoe01-prefixes
set policy-options prefix-list inet6-qoe02-prefixes
Now for the heavy lifting.
BNG01 will need the following export policies. These policies set export metrics on the qoe prefix lists. The metrics will be applied to the route table on CORE01 once received and controls the BNG ingress path and fail-over path order.
- core-qoe01-export
- core-qoe02-export
- core-direct-export
core-qoe01-export policy:
# Set metric 10 on inet-qoe01-prefixes advertised to core01-qoe01 peer
set policy-options policy-statement core-qoe01-export term inet-qoe01 from family inet
set policy-options policy-statement core-qoe01-export term inet-qoe01 from prefix-list inet-qoe01-prefixes
set policy-options policy-statement core-qoe01-export term inet-qoe01 then metric 10
set policy-options policy-statement core-qoe01-export term inet-qoe01 then accept
# Set metric 20 on inet-qoe02-prefixes advertised to core01-qoe02 peer
set policy-options policy-statement core-qoe01-export term inet-qoe02 from family inet
set policy-options policy-statement core-qoe01-export term inet-qoe02 from prefix-list inet-qoe02-prefixes
set policy-options policy-statement core-qoe01-export term inet-qoe02 then metric 20
set policy-options policy-statement core-qoe01-export term inet-qoe02 then accept
# Set metric 10 on inet6-qoe01-prefixes advertised to core01-qoe01 peer
set policy-options policy-statement core-qoe01-export term inet6-qoe01 from family inet6
set policy-options policy-statement core-qoe01-export term inet6-qoe01 from prefix-list inet6-qoe01-prefixes
set policy-options policy-statement core-qoe01-export term inet6-qoe01 then metric 10
set policy-options policy-statement core-qoe01-export term inet6-qoe01 then accept
# Set metric 20 on inet6-qoe02-prefixes advertised to core01-qoe02 peer
set policy-options policy-statement core-qoe01-export term inet6-qoe02 from family inet6
set policy-options policy-statement core-qoe01-export term inet6-qoe02 from prefix-list inet6-qoe02-prefixes
set policy-options policy-statement core-qoe01-export term inet6-qoe02 then metric 20
set policy-options policy-statement core-qoe01-export term inet6-qoe02 then accept
# Reject all other routes
set policy-options policy-statement core-qoe01-export then reject
core-qoe02-export policy:
# Set metric 10 on inet-qoe02-prefixes advertised to core01-qoe02 peer
set policy-options policy-statement core-qoe02-export term inet-qoe02 from family inet
set policy-options policy-statement core-qoe02-export term inet-qoe02 from prefix-list inet-qoe02-prefixes
set policy-options policy-statement core-qoe02-export term inet-qoe02 then metric 10
set policy-options policy-statement core-qoe02-export term inet-qoe02 then accept
# Set metric 20 on inet-qoe01-prefixes advertised to core01-qoe01 peer
set policy-options policy-statement core-qoe02-export term inet-qoe01 from family inet
set policy-options policy-statement core-qoe02-export term inet-qoe01 from prefix-list inet-qoe01-prefixes
set policy-options policy-statement core-qoe02-export term inet-qoe01 then metric 20
set policy-options policy-statement core-qoe02-export term inet-qoe01 then accept
# Set metric 10 on inet6-qoe02-prefixes advertised to core01-qoe02 peer
set policy-options policy-statement core-qoe02-export term inet6-qoe02 from family inet6
set policy-options policy-statement core-qoe02-export term inet6-qoe02 from prefix-list inet6-qoe02-prefixes
set policy-options policy-statement core-qoe02-export term inet6-qoe02 then metric 10
set policy-options policy-statement core-qoe02-export term inet6-qoe02 then accept
# Set metric 20 on inet6-qoe01-prefixes advertised to core01-qoe01 peer
set policy-options policy-statement core-qoe02-export term inet6-qoe01 from family inet6
set policy-options policy-statement core-qoe02-export term inet6-qoe01 from prefix-list inet6-qoe01-prefixes
set policy-options policy-statement core-qoe02-export term inet6-qoe01 then metric 20
set policy-options policy-statement core-qoe02-export term inet6-qoe01 then accept
# Reject all other routes
set policy-options policy-statement core-qoe02-export then rejectt
core-direct-export policy:
# Set metric 100 on inet-qoe01-prefixes and inet-qoe01-prefixes advertised to core01-direct peer
set policy-options policy-statement core-direct-export term inet from family inet
set policy-options policy-statement core-direct-export term inet from prefix-list inet-qoe01-prefixes
set policy-options policy-statement core-direct-export term inet from prefix-list inet-qoe02-prefixes
set policy-options policy-statement core-direct-export term inet then metric 100
set policy-options policy-statement core-direct-export term inet then accept
# Set metric 100 on inet6-qoe01-prefixes and inet6-qoe01-prefixes advertised to core01-direct peer
set policy-options policy-statement core-direct-export term inet6 from family inet6
set policy-options policy-statement core-direct-export term inet6 from prefix-list inet6-qoe01-prefixes
set policy-options policy-statement core-direct-export term inet6 from prefix-list inet6-qoe02-prefixes
set policy-options policy-statement core-direct-export term inet6 then metric 100
set policy-options policy-statement core-direct-export term inet6 then accept
# Reject all other routes
set policy-options policy-statement core-direct-export then reject
Define communities for use in import policies:
set policy-options community core01-qoe01 members large:4200000010:1:4200000000
set policy-options community core01-qoe02 members large:4200000010:2:4200000000
set policy-options community direct members large:4200000010:0:4200000000
BNG01 will need the following import policies. These policies set a community on the default routes received on each core01 peer.
- core01-qoe01-import
- core01-qoe02-import
- core01-direct-import
core01-qoe01-import policy:
# Set community 'core01-qoe01''on routes learned from core01-qoe01 peer
set policy-options policy-statement core01-qoe01-import term core from policy default-route
set policy-options policy-statement core01-qoe01-import term core then community add core01-qoe01
set policy-options policy-statement core01-qoe01-import term core then accept
set policy-options policy-statement core01-qoe01-import then reject
core01-qoe02-import policy:
# Set community 'core01-qoe02' on routes learned from core01-qoe02 peer
set policy-options policy-statement core01-qoe02-import term core from policy default-route
set policy-options policy-statement core01-qoe02-import term core then community add core01-qoe02
set policy-options policy-statement core01-qoe02-import term core then accept
set policy-options policy-statement core01-qoe02-import then reject
core01-direct-import policy:
# Set community 'direct' on routes learned from core01-direct peer
set policy-options policy-statement core01-direct-import term core from policy default-route
set policy-options policy-statement core01-direct-import term core then community add direct
set policy-options policy-statement core01-direct-import term core then accept
set policy-options policy-statement core01-direct-import then reject
- The BNG has now learned a default route for each address family, from each eBGP neighbor and we have tagged them each with a community.
- By default, these routes will end up in the master routing instance, in the inet.0 route table (the default route table in the default routing instance). Having these routes in the default table doesn’t do any good, since only the best route will be utilized. We need a way to utilize these simultaneously.
To utilize these routes, define a routing instance for each QoE appliance. Juniper has a routing-instance type called ‘forwarding’ and is used for filter based forwarding (FBF) applications. The Cisco equivalent of FBF is policy based routing (PBR).
set routing-instances qoe01 instance-type forwarding
set routing-instances qoe01 description qoe01
set routing-instances qoe02 instance-type forwarding
set routing-instances qoe02 description qoe02
Next, define a rib group for each address family. A rib group offers a way for a routing protocol to install routes into one or more routing tables. The rib groups are setup to copy all routes received from BGP into each of the three route tables:
- inet.0 (master routing-instance)
- qoe01.inet.0 (qoe01 routing-instance)
- qoe02.inet.0 (qoe02 routing-instance)
- inet6.0 (master routing-instance)
- qoe01.inet6.0 (qoe01 routing-instance)
- qoe02.inet6.0 (qoe02 routing-instance)
set routing-options rib-groups inet-rib-bgp import-rib inet.0
set routing-options rib-groups inet-rib-bgp import-rib qoe01.inet.0
set routing-options rib-groups inet-rib-bgp import-rib qoe02.inet.0
set routing-options rib-groups inet6-rib-bgp import-rib inet6.0
set routing-options rib-groups inet6-rib-bgp import-rib qoe01.inet6.0
set routing-options rib-groups inet6-rib-bgp import-rib qoe02.inet6.0
Tell BGP to use the rib groups when installing routes:
set protocols bgp family inet unicast rib-group inet-rib-bgp
set protocols bgp family inet6 unicast rib-group inet6-rib-bgp
An import policy attached to each rib group sets local-preference for each route received and installs into the proper table. This controls the BNG egress path and fail-over path order.
An example for master routing instance is also provided below, filter default routes and define local-preference as desired.
inet-rib-bgp-import policy:
# Set local preference to 160 for ipv4 routes matching direct community and install in inet.0 table
set policy-options policy-statement inet-rib-bgp-import term master from community direct
set policy-options policy-statement inet-rib-bgp-import term master to rib inet.0
set policy-options policy-statement inet-rib-bgp-import term master then local-preference 160
set policy-options policy-statement inet-rib-bgp-import term master then accept
# Set local preference to 160 for ipv4 routes matching core01-qoe01 community and install in qoe01.inet.0 table
set policy-options policy-statement inet-rib-bgp-import term core01-qoe01-01 from community core01-qoe01
set policy-options policy-statement inet-rib-bgp-import term core01-qoe01-01 to rib qoe01.inet.0
set policy-options policy-statement inet-rib-bgp-import term core01-qoe01-01 then local-preference 160
set policy-options policy-statement inet-rib-bgp-import term core01-qoe01-01 then accept
# Set local preference to 159 for ipv4 routes matching core01-qoe02 community and install in qoe01.inet.0 table
set policy-options policy-statement inet-rib-bgp-import term core01-qoe02-01 from community core01-qoe02
set policy-options policy-statement inet-rib-bgp-import term core01-qoe02-01 to rib qoe01.inet.0
set policy-options policy-statement inet-rib-bgp-import term core01-qoe02-01 then local-preference 159
set policy-options policy-statement inet-rib-bgp-import term core01-qoe02-01 then accept
# Set local preference to 120 for ipv4 routes matching direct community and install in qoe01.inet.0 table
set policy-options policy-statement inet-rib-bgp-import term core-direct-01 from community direct
set policy-options policy-statement inet-rib-bgp-import term core-direct-01 to rib qoe01.inet.0
set policy-options policy-statement inet-rib-bgp-import term core-direct-01 then local-preference 120
set policy-options policy-statement inet-rib-bgp-import term core-direct-01 then accept
# Set local preference to 160 for routes matching core01-qoe02 community and install in qoe02.inet.0 table
set policy-options policy-statement inet-rib-bgp-import term core01-qoe02-02 from community core01-qoe02
set policy-options policy-statement inet-rib-bgp-import term core01-qoe02-02 to rib qoe02.inet.0
set policy-options policy-statement inet-rib-bgp-import term core01-qoe02-02 then local-preference 160
set policy-options policy-statement inet-rib-bgp-import term core01-qoe02-02 then accept
# Set local preference to 159 for ipv4 routes matching core01-qoe01 community and install in qoe02.inet.0 table
set policy-options policy-statement inet-rib-bgp-import term core01-qoe01-02 from community core01-qoe01
set policy-options policy-statement inet-rib-bgp-import term core01-qoe01-02 to rib qoe02.inet.0
set policy-options policy-statement inet-rib-bgp-import term core01-qoe01-02 then local-preference 159
set policy-options policy-statement inet-rib-bgp-import term core01-qoe01-02 then accept
# Set local preference to 120 for ipv4 routes matching direct community and install in qoe02.inet.0 table
set policy-options policy-statement inet-rib-bgp-import term core-direct-02 from community direct
set policy-options policy-statement inet-rib-bgp-import term core-direct-02 to rib qoe02.inet.0
set policy-options policy-statement inet-rib-bgp-import term core-direct-02 then local-preference 120
set policy-options policy-statement inet-rib-bgp-import term core-direct-02 then accept
# Reject all other routes
set policy-options policy-statement inet-rib-bgp-import then reject
inet6-rib-bgp-import policy:
# Set local preference to 160 for ipv6 routes matching direct community and install in inet6.0 tablee
set policy-options policy-statement inet6-rib-bgp-import term master from community direct
set policy-options policy-statement inet6-rib-bgp-import term master to rib inet6.0
set policy-options policy-statement inet6-rib-bgp-import term master then local-preference 160
set policy-options policy-statement inet6-rib-bgp-import term master then accept
# Set local preference to 160 for ipv6 routes matching core01-qoe01 community and install in qoe01.inet6.0 table
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe01-01 from community core01-qoe01
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe01-01 to rib qoe01.inet6.0
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe01-01 then local-preference 160
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe01-01 then accept
# Set local preference to 159 for ipv6 routes matching core01-qoe02 community and install in qoe01.inet6.0 table
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe02-01 from community core01-qoe02
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe02-01 to rib qoe01.inet6.0
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe02-01 then local-preference 159
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe02-01 then accept
# Set local preference to 120 for ipv6 routes matching direct community and install in qoe01.inet6.0 table
set policy-options policy-statement inet6-rib-bgp-import term core-direct-01 from community direct
set policy-options policy-statement inet6-rib-bgp-import term core-direct-01 to rib qoe01.inet6.0
set policy-options policy-statement inet6-rib-bgp-import term core-direct-01 then local-preference 120
set policy-options policy-statement inet6-rib-bgp-import term core-direct-01 then accept
# Set local preference to 160 for ipv6 routes matching core01-qoe02 community and install in qoe02.inet6.0 table
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe02-02 from community core01-qoe02
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe02-02 to rib qoe02.inet6.0
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe02-02 then local-preference 160
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe02-02 then accept
# Set local preference to 159 for ipv6 routes matching core01-qoe01 community and install in qoe02.inet6.0 table
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe01-02 from community core01-qoe01
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe01-02 to rib qoe02.inet6.0
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe01-02 then local-preference 159
set policy-options policy-statement inet6-rib-bgp-import term core01-qoe01-02 then accept
# Set local preference to 120 for ipv6 routes matching direct community and install in qoe02.inet6.0 table
set policy-options policy-statement inet6-rib-bgp-import term core-direct-02 from community direct
set policy-options policy-statement inet6-rib-bgp-import term core-direct-02 to rib qoe02.inet6.0
set policy-options policy-statement inet6-rib-bgp-import term core-direct-02 then local-preference 1202020
set policy-options policy-statement inet6-rib-bgp-import term core-direct-02 then accept
# Reject all other routes
set policy-options policy-statement inet6-rib-bgp-import then reject
Attach import policies to rib groups:
set routing-options rib-groups inet-rib-bgp import-policy inet-rib-bgp-import
set routing-options rib-groups inet6-rib-bgp import-policy inet6-rib-bgp-import
For qoe01 routing instance
- routes matching community core01-qoe01 are set to local-preference 160
- routes matching community core01-qoe02 are set to local-preference 159
- routes matching community direct are set to local-preference 120.
For qoe02 routing instance
- routes matching community core01-qoe02 are set to local-preference 160
- routes matching community core01-qoe01 are set to local-preference 159
- routes matching community direct are set to local-preference 120.
For master routing instance
- This routing instance will not utilize the paths through QoE appliances.
- The default routes in this table ensure the control plane has connectivity to other network services.
Note: The local-preference for the ‘direct’ community could be set instead on the core01-direct-import policy to reduce configuration lines. Its not shown this way in the example to provide additional clarity.
BNG01 has now learned a default route for each address family, from each eBGP neighbor, routes are tagged with a community, and local preference is set. Each default route for each address family is now in each routing instance.
Ingress subscriber traffic now needs to be split by prefix and told to use the proper forwarding routing instance. To do this, define filter based forwarding:
inet-fbf-subscriber filter:
set firewall family inet filter inet-fbf-subscriber term qoe01 from source-prefix-list inet-qoe01-prefixes
set firewall family inet filter inet-fbf-subscriber term qoe01 then routing-instance qoe01
set firewall family inet filter inet-fbf-subscriber term qoe02 from source-prefix-list inet-qoe02-prefixes
set firewall family inet filter inet-fbf-subscriber term qoe02 then routing-instance qoe02
set firewall family inet filter inet-fbf-subscriber term accept then accept
inet6-fbf-subscriber filter:
set firewall family inet6 filter inet6-fbf-subscriber term qoe01 from source-prefix-list inet6-qoe01-prefixes
set firewall family inet6 filter inet6-fbf-subscriber term qoe01 then routing-instance qoe01
set firewall family inet6 filter inet6-fbf-subscriber term qoe02 from source-prefix-list inet6-qoe02-prefixes
set firewall family inet6 filter inet6-fbf-subscriber term qoe02 then routing-instance qoe02
set firewall family inet6 filter inet6-fbf-subscriber term accept then accept
Assign the filters to the forwarding plane:
set forwarding-options family inet filter input inet-fbf-subscriber
set forwarding-options family inet6 filter input inet6-fbf-subscriber
BNG01 configuration is now complete. So what does all of this mean?
The Result:
Network traffic for prefixes defined in qoe01 prefix lists will utilize QoE appliances in the following order, with automatic fail-over:
- qoe01
- qoe02
- bypass link
Network traffic for prefixes defined in qoe02 prefix lists will utilize QoE appliances in the following order, with automatic fail-over:
- qoe02
- qoe01
- bypass link
BNG RIB Tables:

Production use:
Simply add subscriber aggregate prefixes, BNG access routes, and subscriber subnets to the desired prefix lists:
inet-qoe01-prefixes
inet6-qoe01-prefixes
inet-qoe02-prefixes
inet6-qoe02-prefixes
Moving a prefix from one qoe prefix list to another will immediately change both the egress and ingress path for the affected prefixes and qoe appliance used with full fail-over support!

Leave a Reply