Configuring FIB Localization
FIB Localization Overview
On Juniper Networks devices, the forwarding table on the Packet Forwarding Engine, also referred to as forwarding information base (FIB), maintains the complete set of active IPv4 (inet) and IPv6 (inet6) routes. In Junos OS Release 11.4 and later, you can configure FIB localization for a Packet Forwarding Engine. FIB-localization characterizes Packet Forwarding Engines in a router as either “FIB-remote” or “FIB-local”.
FIB-local Packet Forwarding Engines install all routes from the default inet and inet6 route tables into the Packet Forwarding Engine forwarding hardware. FIB-remote Packet Forwarding Engines do not install all the routes for the inet and inet6 routing tables. However, they do maintain local and multicast routes.
FIB-remote Packet Forwarding Engines create a default (0/0) route in the Packet Forwarding Engine forwarding hardware for the inet and inet6 table. The default route references a next-hop or a unilist of next-hops that identify the FIB-local Packet Forwarding Engines that can perform full IP table lookups for received packets.
FIB-remote Packet Forwarding Engines forward received packets to the set of FIB-local Packet Forwarding Engines. The FIB-local Packet Forwarding Engines then perform full IP longest-match lookup on the destination address and forward the packet appropriately. The packet might be forwarded out of an egress interface on the same FIB-local Packet Forwarding Engine that performed the lookup or an egress interface on a different FIB-local or FIB-remote Packet Forwarding Engine. The packet might also be forwarded out of an FPC where FIB localization is not configured. The packet might also be received locally at the Routing Engine.
When FIB localization is configured on a router with some Flexible PIC Concentrators (FPCs) being FIB-remote and some others being FIB-local, packets arriving on the interface of the FIB-remote FPC are forwarded to one of the FIB-local FPCs for route lookup and forwarding.
The advantage of configuring FIB localization is that it enables upgrading the hardware forwarding table capacity of FIB-local Packet Forwarding Engines while not requiring upgrades to the FIB-remote Packet Forwarding Engines. In a typical network deployment, FIB-local Packet Forwarding Engines are core-facing, while FIB-remote Packet Forwarding Engines are edge-facing. The FIB-remote Packet Forwarding Engines also load-balance traffic over the available set of FIB-local Packet Forwarding Engines.
FIB localization is currently supported on specific Junos OS devices, including the T320, T640, T1600, and MX Series routers. To see if your hardware supports FIB localization, see the Juniper Networks Feature Explorer.
On MX Series routers, you can configure multiservices Dense Port Concentrators (DPCs) as FIB-remote. However, only Modular Port Concentrators (MPCs) can be configured as FIB-local. FIB-localization is supported only for redundant link services intelligent queuing interfaces that carry Multilink Point-to-Point Protocol (MLPPP) traffic.
Example: Configuring Packet Forwarding Engine FIB Localization
This example shows how to configure Packet Forwarding Engine FIB localization.
Requirements
Before you begin:
-
Configure device interfaces and loopback interface addresses.
-
Configure static routes.
-
Configure OSPF and OSPFv3 and make sure that OSPF adjacencies and OSPF routes to loopback addresses are established.
This example uses the following hardware and software components:
-
A T320, T640,T1600, or MX Series router.
-
Junos OS Release 11.4 or later running on the router for T-Series routers. Junos OS Release 12.3 or later running on the router for MX Series routers.
Overview
In this example, you configure the chassis for IPv4 and IPv6 routes and FIB
localization on Router R0 and then configure the edge-facing Packet Forwarding
Engines on FPC0 as fib-remote
and the core-facing Packet Forwarding
Engines on FPC1 and FPC2 as fib-local
. You then configure a routing
policy named fib-policy
with the no-route-localize
option to ensure that all routes from a specified route filter are installed on the
FIB-remote FPC.
Configuration
Procedure
CLI Quick Configuration
To quickly configure this example, copy the following commands, paste them
into a text file, remove any line breaks, change any details necessary to
match your network configuration, and then copy and paste the commands into
the CLI at the [edit]
hierarchy level.
Configuring FIB local results in a reboot of the related line card to activate the changes.
R0
set chassis fpc 0 route-localization fib-remote set chassis fpc 1 route-localization fib-local set chassis fpc 2 route-localization fib-local set chassis route-localization inet set chassis route-localization inet6 set policy-options policy-statement fib-policy term a from route-filter 10.4.4.4/32 exact set policy-options policy-statement fib-policy term a then no-route-localize set policy-options policy-statement fib-policy term b from route-filter fec0:4444::4/128 exact set policy-options policy-statement fib-policy term b then no-route-localize set policy-options policy-statement fib-policy then accept set routing-options forwarding-table export fib-policy
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For information about navigating the Junos OS CLI, see the Junos OS CLI User Guide.
To configure Packet Forwarding Engine FIB localization:
-
Configure route localization or FIB localization for IPv4 and IPv6 traffic.
[edit chassis]
user@R0# set route-localization inet user@R0# set route-localization inet6 -
Configure the Packet Forwarding Engine of an FPC as either
fib-local
orfib-remote
.[edit chassis]
user@R0# set fpc 0 route-localization fib-remote user@R0# set fpc 1 route-localization fib-local user@R0# set fpc 2 route-localization fib-local -
Configure the routing policy by including the
no-route-localize
statement to enable the forwarding table policy to mark route prefixes such that the routes are installed into forwarding hardware on the FIB-remote Packet Forwarding Engines.[edit policy-options]
user@R0# set policy-statement fib-policy term a from route-filter 10.4.4.4/32 exact user@R0# set policy-statement fib-policy term a then no-route-localize user@R0# set policy-statement fib-policy term b from route-filter fec0:4444::4/128 exact user@R0# set policy-statement fib-policy term b then no-route-localize user@R0# set policy-statement fib-policy then accept -
Enable the routing policy in the forwarding table by configuring the forwarding table with the
fib-policy
statement.[edit routing-options]
user@R0# set forwarding-table export fib-policyNote:At least, one Packet Forwarding Engine must be configured as
fib-local
for the commit operation to be successful. If you do not configurefib-local
for the Packet Forwarding Engine, the CLI displays an appropriate error message and the commit fails.
Results
From configuration mode, confirm your configuration by entering the
show chassis
and show policy-options
commands. If the output does not display the intended configuration, repeat
the instructions in this example to correct the configuration.
user@R0# show chassis fpc 0 { route-localization fib-remote; } fpc 1 { route-localization fib-local; } fpc 2 { route-localization fib-local; } route-localization { inet; inet6; }
user@R0# show policy-options policy-statement fib-policy { term a { from { route-filter 10.4.4.4/32 exact; } then no-route-localize; } term b { from { route-filter fec0:4444::4/128 exact; } then no-route-localize; } then accept; } }
Verification
Confirm that the configuration is working properly.
- Verifying Policy Configuration
- Verifying FIB-Localization Configuration
- Verifying Routes After the Policy Is Applied
Verifying Policy Configuration
Purpose
Verify that the configured policy exists.
Action
Issue the show policy fib-policy
command to check that the
configured policy fib-policy
exists.
user@R0> show policy fib-policy Policy fib-policy: Term a: from route filter: 10.4.4.4/32 exact then no-route-localize Term b: from route filter: fec0:4444::4/128 exact then no-route-localize Term unnamed: then accept
Verifying FIB-Localization Configuration
Purpose
Verify FIB-localization configuration details by using the show route
localization
and show route localization
detail
commands.
Action
user@R0> show route localization FIB localization ready FPCs (and FIB-local Forwarding Engine addresses) FIB-local: FPC2(4,5) FIB-remote: FPC0, FPC1 Normal: FPC3, FPC4, FPC5, FPC6, FPC7
user@R0> show route localization detail FIB localization ready FPCs (and FIB-local Forwarding Engine addresses) FIB-local: FPC2(4,5) FIB-remote: FPC0, FPC1 Normal: FPC3, FPC4, FPC5, FPC6, FPC7 FIB localization configuration Protocols: inet, inet6 FIB-local: FPC2 FIB-remote: FPC0, FPC1 Forwarding Engine addresses FPC0: 1 FPC1: 2 FPC2: 4, 5 FPC3: 6 FPC4: 8 FPC5: 11 FPC6: 13 FPC7: 15
Verifying Routes After the Policy Is Applied
Purpose
Verify that routes with the no-route-localize
policy option
are installed on the fib-remote
FPC.
Action
user@R0> show route 10.4.4.4/32 extensive
inet.0: 30 destinations, 30 routes (29 active, 0 holddown, 1 hidden) 10.4.4.4/32 (1 entry, 1 announced) TSI: KRT in-kernel 10.4.4.4/32 -> {10.130.0.2 Flags no-localize} ^^^^^^^^^^^^^^^^^ *Static Preference: 5 Next hop type: Router, Next hop index: 629 Next-hop reference count: 3 Next hop: 10.130.0.2 via ge-1/0/4.0, selected State: <Active Int=""> Age: 10:33 Task: RT Announcement bits (1): 0-KRT AS path: I</Active >