Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IS-IS: When configuring routing, a routing loop was found in the routing table #17766

Open
2 tasks done
Z-Yivon opened this issue Jan 4, 2025 · 4 comments
Open
2 tasks done
Labels
triage Needs further investigation

Comments

@Z-Yivon
Copy link

Z-Yivon commented Jan 4, 2025

Description

The topology is as follows:

 *     |130.64.0.0/13                             
 *     | eth0                                 
 * +---+-----+                     +---------+
 * |         |                     |         |
 * |   RT3   |    158.192.0.0/10   |   RT0   |
 * |    L2   +---------------------+   L2    |
 * |         |eth2             eth0|         |
 * +---+-----+                     +---------+
 *     | eth1                                 
 *     |197.106.0.0/15                                  

Configuration of r0:

!
frr version 10.3-dev-my-manual-build
frr defaults traditional
hostname c48a7eebeea2
no ipv6 forwarding
service integrated-vtysh-config
!
interface r0-eth0
 ip address 158.212.150.20/10
 ip router isis 1
 isis circuit-type level-2-only
 isis hello-interval 1
 isis metric 25
exit
!
router isis 1
 is-type level-2-only
 net 49.0000.0000.0000.0001.00
exit
!
end

Configuration of r3:

!
frr version 10.3-dev-my-manual-build
frr defaults traditional
hostname c48a7eebeea2
no ipv6 forwarding
service integrated-vtysh-config
!
interface r3-eth0
 ip address 130.68.7.112/13
 ip router isis 1
 isis circuit-type level-2-only
 isis metric 25
exit
!
interface r3-eth1
 ip address 197.107.115.95/15
 ip router isis 1
 isis circuit-type level-2-only
 isis metric 25
exit
!
interface r3-eth2
 ip address 158.212.150.19/10
 ip router isis 1
 isis circuit-type level-2-only
 isis hello-interval 1
 isis metric 25
exit
!
router isis 1
 is-type level-2-only
 net 49.0000.0000.0000.0003.00
exit
!
end

Version

10.1

How to reproduce

I set the metric to 25 for all interfaces. When I run the network and then use "show isis route "
The output of r0:

Area 1:
IS-IS paths to level-2 routers that speak IP
 Vertex          Type         Metric  Next-Hop      Interface  Parent           
 -------------------------------------------------------------------------------
 c48a7eebeea2                                                                   
 158.192.0.0/10  IP internal  0                                c48a7eebeea2(4)  
 c48a7eebeea2    TE-IS        25      c48a7eebeea2  r0-eth0    c48a7eebeea2(4)  
 c48a7eebeea2                                                                   
 197.106.0.0/15  IP TE        50      c48a7eebeea2  r0-eth0    c48a7eebeea2(4)  
 130.64.0.0/13   IP TE        50      c48a7eebeea2  r0-eth0    c48a7eebeea2(4)  
 158.192.0.0/10  IP TE        50      c48a7eebeea2  r0-eth0    c48a7eebeea2(4)  


IS-IS L2 IPv4 routing table:

 Prefix          Metric  Interface  Nexthop         Label(s)  
 -------------------------------------------------------------
 130.64.0.0/13   50      r0-eth0    158.212.150.19  -         
 158.192.0.0/10  50      r0-eth0    158.212.150.19  -         
 197.106.0.0/15  50      r0-eth0    158.212.150.19  - 

The output of r3:

Area 1:
IS-IS paths to level-2 routers that speak IP
 Vertex          Type          Metric  Next-Hop      Interface  Parent           
 --------------------------------------------------------------------------------
 c48a7eebeea2                                                                    
 197.106.0.0/15  IP internal   0                                c48a7eebeea2(4)  
 130.64.0.0/13   IP internal   0                                c48a7eebeea2(4)  
 158.192.0.0/10  IP internal   0                                c48a7eebeea2(4)  
 c48a7eebeea2    TE-IS         25      c48a7eebeea2  r3-eth2    c48a7eebeea2(4)  
 c48a7eebeea2    pseudo_TE-IS  50      c48a7eebeea2  r3-eth2    c48a7eebeea2(4)  
 158.192.0.0/10  IP TE         50      c48a7eebeea2  r3-eth2    c48a7eebeea2(4)  


IS-IS L2 IPv4 routing table:

 Prefix          Metric  Interface  Nexthop         Label(s)  
 -------------------------------------------------------------
 130.64.0.0/13   0       -          -               -         
 158.192.0.0/10  50      r3-eth2    158.212.150.20  -         
 197.106.0.0/15  0       -          -               -   

Expected behavior

Network "158.192.0.0/10" is the direct connection between r3 and r0. However, the routing table of r0 or r3 shows that the next hop router to reach the network is the other router. For the data packet passing through r3, it needs to reach r0 first before reaching "158.192.0.0/10", and r0 will send the data packet to r3, causing a loop.

Actual behavior

Network:" 158.192.0.0/10 " is a directly connected network of r3 and r0, but why is their metric not 0 in the routing table and they need to jump to adjacent routing?

Additional context

No response

Checklist

  • I have searched the open issues for this bug.
  • I have not included sensitive information in this report.
@Z-Yivon Z-Yivon added the triage Needs further investigation label Jan 4, 2025
@Z-Yivon Z-Yivon changed the title IS-IS: When configuring routing, an error was found in the routing table IS-IS: When configuring routing, a routing loop was found in the routing table Jan 5, 2025
@riw777
Copy link
Member

riw777 commented Jan 7, 2025

Can you provide a routing table as well?

@Z-Yivon
Copy link
Author

Z-Yivon commented Jan 8, 2025

This is the routing table I made based on the topology:

r0:

 Prefix          Metric  Interface  Nexthop         Label(s)  
 -------------------------------------------------------------
 130.64.0.0/13   50      r0-eth0    158.212.150.19  -         
 158.192.0.0/10  0      r0-eth0      -               -         
 197.106.0.0/15  50      r0-eth0    158.212.150.19  -

r3:

 Prefix          Metric  Interface  Nexthop         Label(s)  
 -------------------------------------------------------------
 130.64.0.0/13   0       -          -               -         
 158.192.0.0/10  0      r3-eth2      -         
 197.106.0.0/15  0     

@donaldsharp
Copy link
Member

What you have is not the routing table. show ip route on both r0 and r3 please.

@Z-Yivon
Copy link
Author

Z-Yivon commented Jan 16, 2025

I'm sorry, I misunderstood what you meant. Now, I use the "show ip route" on both r0 and r3.

This is the output of r0:

Codes: K - kernel route, C - connected, L - local, S - static,
       O - OSPF, I - IS-IS, B - BGP, T - Table, v - VNC,
       V - VNC-Direct, D - SHARP, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

IPv4 unicast VRF default:
I>* 130.64.0.0/13 [115/50] via 158.212.150.19, r0-eth0, weight 1, 00:01:49
I   158.192.0.0/10 [115/50] via 158.212.150.19, r0-eth0 inactive, weight 1, 00:01:49
C>* 158.192.0.0/10 is directly connected, r0-eth0, weight 1, 00:04:11
L>* 158.212.150.20/32 is directly connected, r0-eth0, weight 1, 00:04:11
I>* 197.106.0.0/15 [115/50] via 158.212.150.19, r0-eth0, weight 1, 00:01:49

This is the output of r3:

Codes: K - kernel route, C - connected, L - local, S - static,
       O - OSPF, I - IS-IS, B - BGP, T - Table, v - VNC,
       V - VNC-Direct, D - SHARP, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

IPv4 unicast VRF default:
C>* 130.64.0.0/13 is directly connected, r3-eth0, weight 1, 00:04:11
L>* 130.68.7.112/32 is directly connected, r3-eth0, weight 1, 00:04:11
I   158.192.0.0/10 [115/50] via 158.212.150.20, r3-eth2 inactive, weight 1, 00:01:50
C>* 158.192.0.0/10 is directly connected, r3-eth2, weight 1, 00:04:11
L>* 158.212.150.19/32 is directly connected, r3-eth2, weight 1, 00:04:11
C>* 197.106.0.0/15 is directly connected, r3-eth1, weight 1, 00:04:11
L>* 197.107.115.95/32 is directly connected, r3-eth1, weight 1, 00:04:11

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Needs further investigation
Projects
None yet
Development

No branches or pull requests

3 participants