cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
12284
Views
48
Helpful
7
Replies

LFIB table

Hello,

the figure is showing a simple VPN

as far as i understand the LFIB is a copy of the routing table in the cache and the router uses the LFIB for forwarding decisions

so if my above point is true

the output of sh mpls forwarding-table is suppose to be the global routing table in cache ,if so why does it contain 10.2.0.0/24

also why doesn't the LFIB of the VRF contain 10.2.3.0/24

     57.0.0.0/8 is variably subnetted, 10 subnets, 3 masks

i L2    57.35.10.1/32 [115/410] via 57.35.40.1, FastEthernet0/0

i L2    57.35.10.2/32 [115/1910] via 57.35.40.1, FastEthernet0/0

C       57.35.8.1/32 is directly connected, Loopback1

i L2    57.35.2.1/32 [115/410] via 57.35.40.1, FastEthernet0/0

i L2    57.35.2.2/32 [115/1910] via 57.35.40.1, FastEthernet0/0

C       57.35.0.1/32 is directly connected, Loopback0

i L2    57.35.4.0/30 [115/1900] via 57.35.40.1, FastEthernet0/0

C       57.35.43.0/30 is directly connected, Serial0/0

C       57.35.40.0/25 is directly connected, FastEthernet0/0

i L2    57.35.40.129/32 [115/410] via 57.35.40.1, FastEthernet0/0


PE-1#sh mpls forwarding-table

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id      switched   interface

100    Pop tag     57.35.2.1/32      0          Fa0/0      57.35.40.1

101    Untagged    57.35.10.1/32     0          Fa0/0      57.35.40.1

102    Pop tag     57.35.40.129/32   0          Fa0/0      57.35.40.1

103    Pop tag     57.35.4.0/30      0          Fa0/0      57.35.40.1

105    Untagged    10.2.0.0/24[V]    0          Fa0/1      57.35.168.2>>>>>>>>>>>>>>>>>>>>>>>>>

106    303         57.35.2.2/32      0          Fa0/0      57.35.40.1

107    304         57.35.10.2/32     0          Fa0/0      57.35.40.1

PE-1#sh ip route vrf AERONET

     57.0.0.0/30 is subnetted, 1 subnets

C       57.35.168.0 is directly connected, FastEthernet0/1

     10.0.0.0/24 is subnetted, 2 subnets

B       10.2.0.0 [20/0] via 57.35.168.2, 00:00:45

B       10.2.3.0 [200/0] via 57.35.2.2, 00:00:45

PE-1#sh mpls forwarding-table  vrf AERONET

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id      switched   interface

105    Untagged    10.2.0.0/24[V]    0          Fa0/1      57.35.168.2

2 Accepted Solutions

Accepted Solutions

i know that LFIB is FIB+LIB but what i meant since the LFIB is used for forwarding decisions it should contain all the entries in the RIB

even though I understand what you mean what you wrote is still not 100% correct. The LFIB will contain all the entry in the RIB ONLY if all the prefixes in the RIB are reachebale via MPLS enabled interfaces, or else it will contain only the prefixes with labels.

if you just bear with me if CE-1 wants to send to 10.2.3.1 whici is behind CE-2

CE-1 will check its routing table and forward it to PE-1,then i think it should make a decision based on its LFIB but how come and it desn't have any entry in the LFIB for 10.2.3.0/24

PE-1 cannot make a decision based on LFIB as it receives an IP packet from CE-1 not a MPLS packet. CE - PE link is still IP, no MPLS labelled packet can be here (unless we have CsC scenarios, but clearly this is not your case).

So PE-1 performs an IP lookup in the FIB for traffic from CE-1 to CE-2 as it receives plain IP traffic from CE-1 while it will perform a MPLS lookup in the LFIB for traffic from CE-2 to CE-1 as it receives traffic with at least 1 label from the other P o PE router.

Hope this clarifies.

Riccardo

View solution in original post

Mohammed,

The (LFIB) is a table that contains both (Routes and Labels) and is part of the Data Plane.

So what you are seeing here is correct, as you can see, because 10.2.0.0/24 is a prefix recieved from the CE on F0/1, the Local PE imposes a label of 105 to that prefix during label imposition, and the Outgoing interface to reach this prefix is F0/1 which is not an mpls Enabled interface, thats why you see the outgoing Label is charcterized as (Untagged).

I hope this clarifies, let me know if this is answered your question,

Regards,

Mohamed

View solution in original post

7 Replies 7

rsimoni
Cisco Employee
Cisco Employee

Hi Mohammed,

what you initially wrote is not true: LFIB is NOT a copy of the routing table (RIB). The LFIB is the table used to take forwarding decision when labelled traffic is received from a router. It comes from the LIB in the control plane, which contains label to prefixes mapping, plus the L2 information on how to reach the next hops.

Same reasonong for RIB, which is the software (control-plane) view of the routing protocols. IP traffic lookup is done in the FIB, which is the RIB plus the L2 information about next hops.

That's all for the theory.

For what you see in the LFIB I can tell you that this is expected. the LFIB (shown via the command show mpls forwarding-table) shows ALL the labels the router advertised to its neighbors, independently whether they are just MPLS labels or MPLS VPN (via MP-BGP) ones. The reason is that in order for the lookup to be performing a LSR should not care the type of label it receives; it should be able to take forwarding decision by simply checking the outmost label. That could be a standard MPLS label or, in case of MPLS VPN, the VPN label which is exposed due to the PhP behavior from the previous LSR.

By typing 'show mpls forwarding-table vrf XXX' you simply see a subset of all the possible labels in the LFIB, which are the VPN labels pertaining to a given vrf you want to check.

Hope this helps.

Please rate and close the thread accordingly

Riccardo

HI,

first of all thanks for answring

i know that LFIB is FIB+LIB but what i meant since the LFIB is used for forwarding decisions it should contain all the entries in the RIB

if you just bear with me if CE-1 wants to send to 10.2.3.1 whici is behind CE-2

CE-1 will check its routing table and forward it to PE-1,then i think it should make a decision based on its LFIB but how come and it desn't have any entry in the LFIB for 10.2.3.0/24

i know that LFIB is FIB+LIB but what i meant since the LFIB is used for forwarding decisions it should contain all the entries in the RIB

even though I understand what you mean what you wrote is still not 100% correct. The LFIB will contain all the entry in the RIB ONLY if all the prefixes in the RIB are reachebale via MPLS enabled interfaces, or else it will contain only the prefixes with labels.

if you just bear with me if CE-1 wants to send to 10.2.3.1 whici is behind CE-2

CE-1 will check its routing table and forward it to PE-1,then i think it should make a decision based on its LFIB but how come and it desn't have any entry in the LFIB for 10.2.3.0/24

PE-1 cannot make a decision based on LFIB as it receives an IP packet from CE-1 not a MPLS packet. CE - PE link is still IP, no MPLS labelled packet can be here (unless we have CsC scenarios, but clearly this is not your case).

So PE-1 performs an IP lookup in the FIB for traffic from CE-1 to CE-2 as it receives plain IP traffic from CE-1 while it will perform a MPLS lookup in the LFIB for traffic from CE-2 to CE-1 as it receives traffic with at least 1 label from the other P o PE router.

Hope this clarifies.

Riccardo

Hi All,

can any one please let me know that does LFIB contains only mpls label ? or contains vrf label as well ?

 

Hi Riccardo,

for the second part i am convinced but regarding the first part if what you are saying is true then why does the LFIB contains10.2.0.0/24 which is learned from Fa0/1 and Fa0/1 is not an mpls enabled interface

PE-1#sh mpls forwarding-table

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id      switched   interface

100    Pop tag     57.35.2.1/32      0          Fa0/0      57.35.40.1

101    Untagged    57.35.10.1/32     0          Fa0/0      57.35.40.1

102    Pop tag     57.35.40.129/32   0          Fa0/0      57.35.40.1

103    Pop tag     57.35.4.0/30      0          Fa0/0      57.35.40.1

105    Untagged    10.2.0.0/24[V]    0          Fa0/1      57.35.168.2>>>>>>>>>>>>>>>>>>>>>>>>>

106    303         57.35.2.2/32      0          Fa0/0      57.35.40.1

107    304         57.35.10.2/32     0          Fa0/0      57.35.40.1

Mohammed,

The (LFIB) is a table that contains both (Routes and Labels) and is part of the Data Plane.

So what you are seeing here is correct, as you can see, because 10.2.0.0/24 is a prefix recieved from the CE on F0/1, the Local PE imposes a label of 105 to that prefix during label imposition, and the Outgoing interface to reach this prefix is F0/1 which is not an mpls Enabled interface, thats why you see the outgoing Label is charcterized as (Untagged).

I hope this clarifies, let me know if this is answered your question,

Regards,

Mohamed

This is the advertised label 105 for your interfaces connected to vrf AERONET, the so called aggregate label.

Since this is a label advertised via BGP (VPNv4 prefix) traffic toward that destination will come labelled (label 105) and consequently the PE must do a MPLS lookup in the LFIB.

So you have always take attention to the direction of the traffic, in this case the path is MPLStoIP hence lookup must be done in the LFIB.

Let me know if this clarifies.

If yes please rate and close the thread.

Riccardo