Step 1: Understand the Configuration in the Exhibit
The exhibit provides three configuration snippets from a leaf device (user@leaf#):
user@leaf# show policy-options
policy-statement load-balance {
term 1 {
then {
load-balance per-packet;
}
}
}
A policy named load-balance is defined, which applies the load-balance per-packet action. In Juniper terminology, per-packet actually means per-flow load balancing (a common point of confusion). This policy is intended to enable load balancing across multiple paths.
Routing Options:
user@leaf# show routing-options
router-id 192.168.100.11;
autonomous-system 65100;
user@leaf# show protocols
bgp {
group spine {
type external;
export direct;
local-as 65003;
multipath {
multiple-as;
}
neighbor 172.16.1.5 {
peer-as 65001;
}
neighbor 172.16.1.17 {
peer-as 65002;
}
}
}
BGP is configured with an external group spine, where the leaf device (local AS 65003) peers with spine devices (AS 65001 and 65002).
The multipath multiple-as statement is enabled, which allows BGP to install multiple paths for the same prefix in the routing table, even if the paths come from different AS numbers. This is a prerequisite for load balancing in a multi-AS environment like an IP fabric.
The export direct policy is applied, which likely exports directly connected routes to the spine devices.
Step 2: Identify the Problem
The issue is that traffic from the leaf to the spine devices is not being load-balanced, despite the presence of a load-balance policy and BGP multipath. For load balancing to work in this scenario:
BGP multipath ensures multiple paths are installed in the routing table.
The load-balance per-packet policy is meant to distribute traffic across those paths.
However, the load-balance policy is defined but not applied anywhere in the configuration shown. For load balancing to take effect, the policy must be applied in the correct context.
Step 3: Evaluate the Options
Let’s go through each option to determine the correct solution:
A. The load-balance policy must be applied to the forwarding table under the routing-options hierarchy.
In Junos, to enable load balancing across multiple paths for forwarding, the load-balance policy must be applied at the forwarding table level. This is done under the routing-options hierarchy using the forwarding-table export statement. For example:
set routing-options forwarding-table export load-balance
This ensures that the load-balancing policy is applied to the forwarding table, allowing traffic to be distributed across multiple equal-cost paths installed by BGP.
B. The multipath multiple-as configuration must be configured for each peer in the BGP spine group.
The multipath multiple-as statement is already configured under the spine group, and it applies to all neighbors in that group (172.16.1.5 and 172.16.1.17). There’s no need to configure it per peer, as the group-level configuration is sufficient. This option is incorrect because the required setting is already in place.
C. The load-balance policy must be applied as an export policy to your BGP.
Applying the load-balance policy as a BGP export policy (e.g., export load-balance under the BGP group) would affect the routes advertised to the spine devices. However, the load-balance per-packet action is a forwarding action, not a route advertisement action. Applying it as a BGP export policy would not achieve the desired load balancing for traffic forwarding and is incorrect.
D. The load-balance policy must have a from statement that matches on protocol bgp.
The load-balance policy currently applies the load-balance per-packet action unconditionally (no from statement). Adding a from protocol bgp condition would make the policy apply only to BGP routes, but this is unnecessary in this context. The policy needs to be applied to the forwarding table to affect traffic, not modified with a from statement. This option doesn’t address the core issue of applying the policy.
Step 4: Determine the Correct Answer
The key issue is that the load-balance policy is defined but not applied. For load balancing to work, it must be applied to the forwarding table under routing-options. This matchesOption A:
A. The load-balance policy must be applied to the forwarding table under the routing-options hierarchy.
Step 5: Provide Official Juniper Documentation Reference
Since I don’t have direct access to Juniper’s proprietary documents, I can provide an explanation based on standard Junos documentation practices and publicly available resources, such as the Juniper TechLibrary, which is the official source for Junos configuration guides.
In Juniper’s official documentation, specifically in theJunos OS Routing Protocols and Policies Configuration Guide, the process for enabling load balancing is described as follows:
Load Balancing in Junos: To enable per-flow load balancing across multiple paths, you must define a policy with the load-balance per-packet action and apply it to the forwarding table. The relevant configuration hierarchy is:
routing-options {
forwarding-table {
export ;
}
}
Explanation from Documentation: The load-balance per-packet action (which performs per-flow balancing) requires the policy to be applied at the forwarding-table level to influence how traffic is distributed across multiple paths in the forwarding table. Without this, even if BGP installs multiple paths (via multipath), the forwarding engine will not load-balance traffic.
This aligns with the JNCIP-DC exam objectives, which include understanding how to configure and troubleshoot load balancing in an IP fabric, such as applying policies for traffic distribution.