Wrong LDP label for /32 prefix and port-channel interface

Unanswered Question
Apr 22nd, 2014
User Badges:

Hi,

        I read the bug CSCth75596: "for a /32 prefix LDP send a wrong label instead of imp-null"  in case of PPP configured 
I think I have a similar issue with a port-channel interface.   

I have this configuration:

...

interface Port-channel1.5
    encapsulation dot1Q 22
    ip address 10.27.118.181 255.255.255.252

...

7200#show mpls ldp bindings 10.27.118.180 30 longer-prefixes detail

  lib entry: 10.27.118.180/30, rev 20, chkpt: none
        local binding:  label: imp-null (owner LDP)
          Advertised to:
          ...neigh...
        remote binding: lsr: 10.100.100.2:0, label: 21
        remote binding: lsr: 10.27.118.174:0, label: 23
  lib entry: 10.27.118.181/32, rev 1834, chkpt: none
        local binding:  label: 170 (owner LDP)                    <-- this should be imp-null
          Advertised to:
          ...neigh...

As a result, the traceroute command to this router 10.27.118.181/32 shows a loop with an output like this:

...

Type escape sequence to abort.

  0 10.100.100.2 MRU 1500 [Labels: 23 Exp: 0]
L 1 10.100.100.1 MRU 1504 [Labels: implicit-null Exp: 0] 16 ms
f 2 10.27.118.173 32 ms      <--- "10.27.118.173" is another port-channel interface of the same router
f 3 10.27.118.173 28 ms
f 4 10.27.118.173 32 ms
f 5 10.27.118.173 28 ms
f 6 10.27.118.173 28 ms
f 7 10.27.118.173 32 ms     <--- 'f' means FEC-mismatch
...
f 10 10.27.118.173 32 ms

 

My platform is: 7204VXR, NPE-G2 and IOS 150-1.M

The problem for me is to figure out if I'm doing something wrong or it's a system bug.

I appreciate any help

Thankyou 

 

Gianrico Fichera

 

 

ITESYS SRL

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (2 ratings)
Loading.
Nagendra Kumar ... Tue, 04/22/2014 - 17:06
User Badges:
  • Cisco Employee,

Gianrico,

Normally a router will not assign label for locally configured address (though it have a /32 entry in table). Do you have 10.27.118.181  configured on router from where you executed LDP binding output?.

 

MPLS traceroute will show you each hop and the respective egress label. In your case, 10.100.100.1 appears to show that it will be using imp-null as egress label. I assume this is the previous hop to 7200. If so, the mpls forwarding table appears to be fine. While a local label of 170 is assiged, it should not affect anything.

 

Also the destination address for mpls traceroute will not be the actual address. Instead it will be set to 127.0.0.0/8 range. So when 7200 receive it without any top label, it will not try to forward to ay other interface and should punt to CPU for packet processing.

If the box is not in production, can you try enabling "debug mpls ldpv" on 7200 and try the trace again and share teh output?.

 

-Nagendra

GIANRICO FICHERA Mon, 06/23/2014 - 23:12
User Badges:

It's probably a sort of bug. But the solution is to use loopback interface to end xconnect tunnel instead of interface ip address. It is a fact that you should do that.

bhnegi Wed, 07/09/2014 - 19:44
User Badges:
  • Cisco Employee,

Can you show the output of "show mpls forwarding-table 10.27.118.181 detail" from ASR901?

Best Regards,

Bheem

GIANRICO FICHERA Sat, 07/26/2014 - 04:33
User Badges:

Thankyou for the answer bhnegi but I have delivered the solution and I cannot provide  more data now. 

GIANRICO FICHERA Wed, 04/23/2014 - 02:22
User Badges:

Thankyou for your answer. Here is my answer.

"Normally a router will not assign label for locally configured address (though it have a /32 entry in table). Do you have 10.27.118.181  configured on router from where you executed LDP binding output?."

I omitted to say that the interface Port-channel 1.5 (10.27.118.181) is the termination of a EoMPLS tunnel (xconnect). I had the EoMPLS tunnel UP but without traffic forwarding. That's the reason why I checked out the LSP path with traceroute to find out the local loop in 7200. Probably the EoMPLS is the reason why there is a label for the FEC 10.27.118.181/32.   

 

"MPLS traceroute will show you each hop and the respective egress label. In your case, 10.100.100.1 appears to show that it will be using imp-null as egress label. I assume this is the previous hop to 7200. If so, the mpls forwarding table appears to be fine. While a local label of 170 is assigned, it should not affect anything. Also the destination address for mpls traceroute will not be the actual address. Instead it will be set to 127.0.0.0/8 range. So when 7200 receive it without any top label, it will not try to forward to ay other interface and should punt to CPU for packet processing.If the box is not in production, can you try enabling "debug mpls ldpv" on 7200 and try the trace again and share teh output?. "

You are right. The path  is  ASR901 (10.100.100.2) --->  ASR901 (10.100.100.1) ---> 7200 

Unfortunately the box is in production. 

Thankyou

Gianrico

Nagendra Kumar ... Wed, 04/23/2014 - 04:50
User Badges:
  • Cisco Employee,

Hi,

I omitted to say that the interface Port-channel 1.5 (10.27.118.181) is the termination of a EoMPLS tunnel (xconnect).

fDo you mean you have xconnect configured under port-channel1.5?. I still think it should not assign a local label for the address. 

Can you share a simple topology and configuration from 7200 and remote side router?. (xconnect terminating router).

GIANRICO FICHERA Thu, 04/24/2014 - 06:51
User Badges:

 

Cisco 7200 is my PE. My WAN topology is basically a star.

The EoMPLS path is this one:

ASR901 (10.100.100.2) --->  ASR901 (10.100.100.1) ---> 7200

 I highlight a portion of the configuration of the router 7200:

interface Port-channel1.7            (1)
  description --- INCOMING SITE A —
  encapsulation dot1Q 9
  ip address 10.27.118.185 255.255.255.252       <--- No /32 label issue here
  no ip proxy-arp 
  ip virtual-reassembly
  end
!

interface Port-channel1.5    (2)
  description --- INCOMING SITE B ---
  encapsulation dot1Q 222
  ip address 10.27.118.181 255.255.255.252           <---There is the /32 label here
  no ip proxy-arp
  no ip virtual-reassembly
!

interface Port-channel1.8
  description --- INCOMING SITE C ---   Xconnect ingress interface ---
  encapsulation dot1Q 1444
  ip address 10.27.118.173 255.255.255.252
  no ip proxy-arp
  mpls ip
!

This can be useful for compare interfaces (1) and (2):

7200-A#show ip route | include 10.27.118.181
L        10.27.118.181/32 is directly connected, Port-channel1.5

7200#show ip route | include 10.27.118.185
L        10.27.118.185/32 is directly connected, Port-channel1.7

7200#show ip cef 10.27.118.181
10.27.118.181/32
  receive for Port-channel1.5

7200#show ip cef 10.27.118.173
10.27.118.173/32
  receive for Port-channel1.8

7200#show ip route 10.27.118.180
Routing entry for 10.27.118.180/30
  Known via "connected", distance 0, metric 0 (connected, via interface)
  Routing Descriptor Blocks:
  * directly connected, via Port-channel1.5
      Route metric is 0, traffic share count is 1
7200#show ip route 10.27.118.173
Routing entry for 10.27.118.173/32
  Known via "connected", distance 0, metric 0 (connected)
  Routing Descriptor Blocks:
  * directly connected, via Port-channel1.8
      Route metric is 0, traffic share count is 1
7200#show mpls ldp bindings 10.27.118.180 255.255.255.252 longer-prefixes
  lib entry: 10.27.118.180/30, rev 20
        local binding:  label: imp-null
        remote binding: lsr: 10.27.118.174:0, label: 23
        remote binding: lsr: 10.100.100.2:0, label: 21
  lib entry: 10.27.118.181/32, rev 1834
        local binding:  label: 170

7200#show mpls ldp bindings 10.27.118.181 255.255.255.255 detail
lib entry: 10.27.118.181/32, rev 1834, chkpt: none
        local binding:  label: 170 (owner LDP)
          Advertised to:
          10.27.118.174:0       10.27.118.170:0       10.100.100.2:0

7200#show mpls ldp bindings 10.27.118.184 255.255.255.252 longer-prefixes
lib entry: 10.27.118.184/30, rev 24
        local binding:  label: imp-null

7200#show mpls forwarding-table 10.27.118.181 detail
Local      Outgoing   Prefix                 Bytes Label   Outgoing   Next Hop
Label      Label          or Tunnel Id      Switched        interface
170        No Label   10.27.118.181/32   \
                                                              0             aggregate
        MAC/Encaps=0/0, MRU=0, Label Stack{}
        No output feature configured

This is the remote EoMPLS configuration:

Remote (ASR901):

interface GigabitEthernet0/0

 description --- TO CORE ---

 service instance 1 ethernet

  description --- tunnel EoMPLS  ---

  encapsulation dot1q 14

  xconnect 10.27.118.181 18 encapsulation mpls

 !

ASR901#show mpls ldp bindings 10.27.118.181 255.255.255.255 detail

  lib entry: 10.27.118.181/32, rev 10457, chkpt: none

        remote binding: lsr: 10.27.118.173:0, label: 170 checkpointed

!

I hope it's of some help

ps. see above for the "debug mpls ldpv" output you asked me to do.
 

Gianrico Fichera

 

ITESYS SRL

GIANRICO FICHERA Thu, 04/24/2014 - 06:48
User Badges:

I did the debug mpls ldpv debug:

 

Apr 24 13:46:17.837: LSPV: Starting rx DSMAP validation
Apr 24 13:46:17.837: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:17.837: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:17.837: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:17.873: LSPV: Starting rx DSMAP validation
Apr 24 13:46:17.873: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:17.873: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:17.873: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:17.905: LSPV: Starting rx DSMAP validation
Apr 24 13:46:17.905: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:17.905: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:17.909: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:17.941: LSPV: Starting rx DSMAP validation
Apr 24 13:46:17.941: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:17.941: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:17.941: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:17.977: LSPV: Starting rx DSMAP validation
Apr 24 13:46:17.977: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:17.977: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:17.977: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.013: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.013: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.013: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.013: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.049: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.049: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.049: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.049: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.085: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.085: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.085: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.085: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.117: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.117: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.121: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.121: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.153: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.153: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.153: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.153: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.189: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.189: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.189: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.189: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.221: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.225: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.225: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.225: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.257: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.257: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.257: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.257: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.297: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.297: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.297: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.297: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.333: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.333: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.333: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.333: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.365: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.365: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.365: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.365: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.401: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.401: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.401: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.401: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.437: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.437: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.437: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.437: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.469: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.469: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.469: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.469: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.505: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.505: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.505: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.505: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.541: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.541: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.541: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.541: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.577: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.577: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.577: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.577: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.613: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.613: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.613: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.613: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.645: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.645: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.645: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.645: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.701: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.701: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.701: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.701: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.737: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.737: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.737: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.737: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.773: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.773: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.773: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.773: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.805: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.805: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.805: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.805: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
Apr 24 13:46:18.841: LSPV: Starting rx DSMAP validation
Apr 24 13:46:18.841: LSPV: Starting TFS validation, ls_depth 1, num tfs 1
Apr 24 13:46:18.841: LSPV: FEC Validation, mismatch for 0x1 FEC, rx_label 3 adv label 170
Apr 24 13:46:18.841: LSPV: FEC Validation, fs-depth 1, fec_status 1, fec-rc 10, mapping retcode 2, best_rc_old 3, best_rc 10
6d04h: %SEC-6-IPACCESSLOGP: list SERVERVLAN1 denied tcp 5.178.66.187(36883) -> 217.27.118.200(3389), 1 packet

Actions

This Discussion