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: the difference between "show isis interface detail json" and "show isis interface detail". #17721

Closed
2 tasks done
Z-Yivon opened this issue Dec 25, 2024 · 2 comments · Fixed by #17732
Closed
2 tasks done

Comments

@Z-Yivon
Copy link

Z-Yivon commented Dec 25, 2024

Description

When using IS-IS, there is a difference between “show isis interface detail json” and "show isis interface detail".Using instruction “show interface detail json” does not produce the correct output, and this bug can be found by comparing the output of the two.

Version

10.1

How to reproduce

Let's simply configure the route, which is the configuration information of r1:

!
interface r1-eth0
 ip address 10.0.0.1/30
 ip router isis 1
 isis priority 44 level-1 
 isis priority 88 level-2
 isis csnp-interval 90 level-1
 isis csnp-interval 99 level-2
 isis psnp-interval 70 level-1
 isis psnp-interval 50 level-2
 isis hello-interval level-1 120
 isis hello-interval level-2 150

!
interface r1-eth1
 ip address 10.0.0.10/30
 ip router isis 1
!
interface lo
 ip address 192.0.2.1/32
 ip router isis 1
 isis passive
!
router isis 1
net 49.0000.0000.0000.0001.00
 metric-style wide

When run the "show isis interface detail json" , the output is:

{
 "areas":[
   {
     "area":"1",
     "circuits":[
       {
         "circuit":2,
         "interface":{
           "name":"r1-eth0",
           "state":"Up",
           "is-passive":"active",
           "circuit-id":"0x2",
           "type":"lan",
           "level":"L1L2",
           "snpa":"6e28.9c92.da5e",
           "levels":[
             {
               "level":"L1",
               "metric":10,
               "active-neighbors":1,
               "hello-interval":120,
               "holddown":{
                 "count":10,
                 "pad":"yes"
               },
               "cnsp-interval":90,
               "psnp-interval":70,
               "lan":{
                 "priority":44,
                 "is-dis":"no"
               }
             },
             {
               "level":"L2",
               "metric":10,
               "active-neighbors":1,
               **"hello-interval":120,**
               "holddown":{
                 "count":10,
                 "pad":"yes"
               },
               **"cnsp-interval":90,**
               **"psnp-interval":70,**
               "lan":{
                 **"priority":44,**
                 "is-dis":"no"
               }
             }
           ],
           "ip-prefix":{
             "ip":"10.0.0.1/30"
           },
           "ipv6-link-locals":{
             "ipv6":"fe80::6c28:9cff:fe92:da5e/64"
           }
         }
       },
       {
         "circuit":3,
         "interface":{
           "name":"r1-eth1",
           "state":"Up",
           "is-passive":"active",
           "circuit-id":"0x3",
           "type":"lan",
           "level":"L1L2",
           "snpa":"2680.3ef3.fb61",
           "levels":[
             {
               "level":"L1",
               "metric":10,
               "active-neighbors":1,
               "hello-interval":3,
               "holddown":{
                 "count":10,
                 "pad":"yes"
               },
               "cnsp-interval":10,
               "psnp-interval":2,
               "lan":{
                 "priority":64,
                 "is-dis":"yes"
               }
             },
             {
               "level":"L2",
               "metric":10,
               "active-neighbors":1,
               "hello-interval":3,
               "holddown":{
                 "count":10,
                 "pad":"yes"
               },
               "cnsp-interval":10,
               "psnp-interval":2,
               "lan":{
                 "priority":64,
                 "is-dis":"yes"
               }
             }
           ],
           "ip-prefix":{
             "ip":"10.0.0.10/30"
           },
           "ipv6-link-locals":{
             "ipv6":"fe80::2480:3eff:fef3:fb61/64"
           }
         }
       },
       {
         "circuit":0,
         "interface":{
           "name":"lo",
           "state":"Up",
           "is-passive":"passive",
           "circuit-id":"0x0",
           "type":"loopback",
           "level":"L1L2",
           "levels":[
             {
               "level":"L1",
               "metric":10
             },
             {
               "level":"L2",
               "metric":10
             }
           ],
           "ip-prefix":{
             "ip":"192.0.2.1/32"
           }
         }
       }
     ]
   }
 ]
}

However, if I run instruction "show isis interface detail", the output is:

Area 1:
  Interface: r1-eth0, State: Up, Active, Circuit Id: 0x2
    Type: lan, Level: L1L2, SNPA: e6de.3a85.313a
    Level-1 Information:
      Metric: 10, Active neighbors: 1
      Hello interval: 120, Holddown count: 10, Padding: yes
      CNSP interval: 90, PSNP interval: 70
      LAN Priority: 44, is not DIS
    Level-2 Information:
      Metric: 10, Active neighbors: 1
      Hello interval: 150, Holddown count: 10, Padding: yes
      CNSP interval: 99, PSNP interval: 50
      LAN Priority: 88, is not DIS
    IP Prefix(es):
      10.0.0.1/30
    IPv6 Link-Locals:
      fe80::e4de:3aff:fe85:313a/64

  Interface: r1-eth1, State: Up, Active, Circuit Id: 0x3
    Type: lan, Level: L1L2, SNPA: a2e7.ec8c.326a
    Level-1 Information:
      Metric: 10, Active neighbors: 1
      Hello interval: 3, Holddown count: 10, Padding: yes
      CNSP interval: 10, PSNP interval: 2
      LAN Priority: 64, is DIS
    Level-2 Information:
      Metric: 10, Active neighbors: 1
      Hello interval: 3, Holddown count: 10, Padding: yes
      CNSP interval: 10, PSNP interval: 2
      LAN Priority: 64, is DIS
    IP Prefix(es):
      10.0.0.10/30
    IPv6 Link-Locals:
      fe80::a0e7:ecff:fe8c:326a/64

  Interface: lo, State: Up, Passive, Circuit Id: 0x0
    Type: loopback, Level: L1L2
    Level-1 Information:
      Metric: 10
    Level-2 Information:
      Metric: 10
    IP Prefix(es):
      192.0.2.1/32

Obviously, for interface "r1-eth0", the output of the two instructions is not the same.

Expected behavior

In the output result of "show isis interface detail json", for the level-2 part of r1-eth0, you can see that the output result is different from the configuration.The difference is the values of hello-interval, csnp-interval, psnp-interval, priority
Output:

 "interface":{
            "name":"r1-eth0",
            "state":"Up",
            "is-passive":"active",
            "circuit-id":"0x2",
            "type":"lan",
            "level":"L1L2",
            "snpa":"6e28.9c92.da5e",
            "levels":[
              {
                "level":"L1",
                "metric":10,
                "active-neighbors":1,
                "hello-interval":120,
                "holddown":{
                  "count":10,
                  "pad":"yes"
                },
                "cnsp-interval":90,
                "psnp-interval":70,
                "lan":{
                  "priority":44,
                  "is-dis":"no"
                }
              },
              {
                "level":"L2",
                "metric":10,
                "active-neighbors":1,
                "hello-interval":120,
                "holddown":{
                  "count":10,
                  "pad":"yes"
                },
                "cnsp-interval":90,
                "psnp-interval":70,
                "lan":{
                  "priority":44,
                  "is-dis":"no"
                }
              }

Configuration Information:

interface r1-eth0
 ip address 10.0.0.1/30
 ip router isis 1
 isis priority 44 level-1 
 isis priority 88 level-2
 isis csnp-interval 90 level-1
 isis csnp-interval 99 level-2
 isis psnp-interval 70 level-1
 isis psnp-interval 50 level-2
 isis hello-interval level-1 120
 isis hello-interval level-2 150

To verify that our findings are correct, we use "show isis interface detail", to see the output of r1-eth0:

Area 1:
  Interface: r1-eth0, State: Up, Active, Circuit Id: 0x2
    Type: lan, Level: L1L2, SNPA: e6de.3a85.313a
    Level-1 Information:
      Metric: 10, Active neighbors: 1
      Hello interval: 120, Holddown count: 10, Padding: yes
      CNSP interval: 90, PSNP interval: 70
      LAN Priority: 44, is not DIS
    Level-2 Information:
      Metric: 10, Active neighbors: 1
      Hello interval: 150, Holddown count: 10, Padding: yes
      CNSP interval: 99, PSNP interval: 50
      LAN Priority: 88, is not DIS
    IP Prefix(es):
      10.0.0.1/30
    IPv6 Link-Locals:
      fe80::e4de:3aff:fe85:313a/64

Expected behavior: The output of "show isis interface detail json" should be the same as that of "show isis interface detail".

Actual behavior

There is a difference between “show isis interface detail json” and "show isis interface detail".

Additional context

No response

Checklist

  • I have searched the open issues for this bug.
  • I have not included sensitive information in this report.
@ton31337
Copy link
Member

Could you check this patch #17732?

@ton31337 ton31337 added bug isis and removed triage Needs further investigation labels Dec 30, 2024
@Z-Yivon
Copy link
Author

Z-Yivon commented Jan 2, 2025

Could you check this patch #17732?

Thanks, now, it works fine!

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

Successfully merging a pull request may close this issue.

2 participants