Page MenuHomeVyOS Platform

Some OSPFv3 show commands do not work
Closed, ResolvedPublicBUG

Description

SUMMARY

While trying to fix an OSPFv3-related problem, I tried to use the show ipv6 ospfv3 commands to debug the router state, only to discover those weren't giving the expected results, either displaying irrelevant data, or simply failing to run.

STEPS TO REPRODUCE

Enter configure mode on a blank router and type the following commands:

set interfaces ethernet eth0 address 2001:db0:dead:f00d::1/64
set protocols ospfv3 area 0.0.0.0 interface eth0
set protocols ospfv3 parameters router-id 192.0.2.1
commit

Exit configure mode and try the show ipv6 ospfv3 commands.

OBSERVED RESULT

Some commands fail to work:

vyos@vyos:~$ show ipv6 ospfv3 area 0.0.0.0
% Unknown command: show ipv6 ospf6 area area spf tree
vyos@vyos:~$ show ipv6 ospfv3 linkstate detail 
% Command incomplete: show ipv6 ospf6 linkstate
vyos@vyos:~$ show ipv6 ospfv3 linkstate network 
% Command incomplete: show ipv6 ospf6 linkstate network
vyos@vyos:~$ show ipv6 ospfv3 linkstate router 
% Command incomplete: show ipv6 ospf6 linkstate router

Commands under show ipv6 ospfv3 database only show the entire database whatever is typed. Here are some comparisons between VyOS and FRR output:

vyos@vyos:~$ show ipv6 ospfv3 database type-7 

        Area Scoped Link State Database (Area 0.0.0.0)

Type LSId           AdvRouter       Age   SeqNum                        Payload
INP  0.0.0.0        192.0.2.1      1390 80000001        2001:db0:dead:f00d::/64

        I/F Scoped Link State Database (I/F eth0 in Area 0.0.0.0)

Type LSId           AdvRouter       Age   SeqNum                        Payload
Lnk  0.0.0.2        192.0.2.1      1390 80000001      fe80::605e:afff:fe84:767b

        AS Scoped Link State Database

Type LSId           AdvRouter       Age   SeqNum                        Payload
ASE  0.0.0.1        192.0.2.1      1389 80000001        2001:db0:dead:f00d::/64

vyos@vyos:~$ sudo vtysh -c 'show ipv6 ospf6 database type-7'

        I/F Scoped Link State Database (I/F eth0 in Area 0.0.0.0)

Type LSId           AdvRouter       Age   SeqNum                        Payload

vyos@vyos:~$ show ipv6 ospfv3 database any 0.0.0.1 detail 

        Area Scoped Link State Database (Area 0.0.0.0)

Type LSId           AdvRouter       Age   SeqNum                        Payload
INP  0.0.0.0        192.0.2.1      1442 80000001        2001:db0:dead:f00d::/64

        I/F Scoped Link State Database (I/F eth0 in Area 0.0.0.0)

Type LSId           AdvRouter       Age   SeqNum                        Payload
Lnk  0.0.0.2        192.0.2.1      1442 80000001      fe80::605e:afff:fe84:767b

        AS Scoped Link State Database

Type LSId           AdvRouter       Age   SeqNum                        Payload
ASE  0.0.0.1        192.0.2.1      1441 80000001        2001:db0:dead:f00d::/64

vyos@vyos:~$ sudo vtysh -c 'show ipv6 ospf6 database * 0.0.0.1 detail'

        Area Scoped Link State Database (Area 0.0.0.0)


        I/F Scoped Link State Database (I/F eth0 in Area 0.0.0.0)


        AS Scoped Link State Database

Age: 1453 Type: AS-External
Link State ID: 0.0.0.1
Advertising Router: 192.0.2.1
LS Sequence Number: 0x80000001
CheckSum: 0x2c7a Length: 36
Duration: 00:24:13
     Bits: ---
     Metric:     0
     Prefix Options: xxx
     Referenced LSType: 0
     Prefix: 2001:db0:dead:f00d::/64

EXPECTED RESULT

The output for these op-mode commands should match output in vtysh.

SOFTWARE/OS VERSIONS

VyOS 1.4-rolling-202102180218

ADDITIONAL INFORMATION

The database commands bug seems to be related to the use of ${@:4} to select the end of the commands. I've had better results by calling cut -d' ' -f4- on $@. Other issues include missing or wrong nodes in the XML definitions. I attach a patch for vyos-1x which fixes this and should (hopefully) match FRR show commands one-to-one. Please note the patch creates a new file op-mode-definitions/include/ospfv3-any-linkstate-id.xml.i:

Details

Difficulty level
Easy (less than an hour)
Version
1.4-rolling-202102180218
Why the issue appeared?
Implementation mistake
Is it a breaking change?
Perfectly compatible

Event Timeline

wsapplegate changed Version from 1.4-rolling-202102040221 to 1.4-rolling-202102180218.
c-po changed the task status from Open to Needs testing.Apr 27 2021, 8:26 PM
c-po triaged this task as Normal priority.
c-po changed Difficulty level from Normal (likely a few hours) to Easy (less than an hour).
c-po changed Why the issue appeared? from Will be filled on close to Implementation mistake.