frr
frr copied to clipboard
vtysh command sorting fixes and improvements
vtysh: simplify interface node command processing
Currently, we call `config_add_line_uniq` for commands in the interface
node to get rid of duplicates in the config. This function not only
filters duplicates, but also sorts the commands. At the same time, there
are some order dependent commands that we obviously don't want to sort.
Hence we maintain a list of such commands and add them without sorting.
Instead of this complicated logic we can simply never sort commands in
the interface node. The only command that needs to be checked for
duplicity is "description" - so let's check it and remove all other
daemon-dependent checks.
vtysh: remove sorting of vrf node commands
A simple strcmp-based sorting done by `config_add_line_uniq` breaks the
correct advanced sorting of static routes done by staticd. We don't
actually need to check vrf node commands for uniqueness as all commands
are daemon specific, so let's use simple `config_add_line` that doesn't
sort commands.
Outdated results 💚
Basic BGPD CI results: SUCCESS, 0 tests failed
| _ | _ |
|---|---|
| Result | SUCCESS git merge/9616 65cbf866 |
| Date | 09/15/2021 |
| Start | 11:35:55 |
| Finish | 12:02:04 |
| Run-Time | 26:09 |
| Total | 1813 |
| Pass | 1813 |
| Fail | 0 |
| Valgrind-Errors | 0 |
| Valgrind-Loss | 0 |
| Details | vncregress-2021-09-15-11:35:55.txt |
| Log | autoscript-2021-09-15-11:37:04.log.bz2 |
| Memory | 480 499 424 |
For details, please contact louberger
Continuous Integration Result: FAILED
Continuous Integration Result: FAILED
See below for issues. CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-193/
This is a comment from an automated CI system. For questions and feedback in regards to this CI system, please feel free to email Martin Winter - mwinter (at) opensourcerouting.org.
Get source / Pull Request: Successful
Building Stage: Successful
Basic Tests: Failed
Topotests debian 10 amd64 part 9: Failed (click for details)
Topotests debian 10 amd64 part 9: No useful log foundTopotests Ubuntu 18.04 arm8 part 9: Failed (click for details)
Topotests Ubuntu 18.04 arm8 part 9: No useful log foundTopotests Ubuntu 18.04 i386 part 9: Failed (click for details)
Topotests Ubuntu 18.04 i386 part 9: No useful log foundTopotests Ubuntu 18.04 amd64 part 9: Failed (click for details)
Topotests Ubuntu 18.04 amd64 part 9: No useful log foundSuccessful on other platforms/tests
- Topotests Ubuntu 18.04 arm8 part 6
- Topotests Ubuntu 18.04 amd64 part 0
- Topotests Ubuntu 18.04 arm8 part 1
- Topotests debian 10 amd64 part 6
- Addresssanitizer topotests part 2
- Topotests Ubuntu 18.04 amd64 part 7
- Topotests Ubuntu 18.04 amd64 part 5
- Topotests debian 10 amd64 part 5
- Topotests debian 10 amd64 part 0
- Addresssanitizer topotests part 3
- Topotests Ubuntu 18.04 arm8 part 2
- Topotests Ubuntu 18.04 arm8 part 7
- Topotests Ubuntu 18.04 amd64 part 4
- CentOS 7 rpm pkg check
- Addresssanitizer topotests part 9
- Fedora 29 rpm pkg check
- Topotests Ubuntu 18.04 i386 part 2
- Addresssanitizer topotests part 8
- Topotests Ubuntu 18.04 arm8 part 8
- Topotests Ubuntu 18.04 i386 part 7
- Topotests Ubuntu 18.04 amd64 part 3
- Addresssanitizer topotests part 6
- Topotests Ubuntu 18.04 i386 part 5
- Topotests Ubuntu 18.04 amd64 part 1
- Ubuntu 18.04 deb pkg check
- Topotests Ubuntu 18.04 i386 part 0
- Topotests Ubuntu 18.04 amd64 part 2
- Topotests debian 10 amd64 part 7
- Topotests Ubuntu 18.04 i386 part 8
- Topotests debian 10 amd64 part 8
- Addresssanitizer topotests part 0
- Topotests Ubuntu 18.04 arm8 part 4
- Debian 10 deb pkg check
- IPv6 protocols on Ubuntu 18.04
- Topotests debian 10 amd64 part 3
- Topotests Ubuntu 18.04 amd64 part 6
- Debian 9 deb pkg check
- Addresssanitizer topotests part 1
- Topotests Ubuntu 18.04 arm8 part 3
- Topotests Ubuntu 18.04 i386 part 4
- Topotests debian 10 amd64 part 4
- Topotests Ubuntu 18.04 i386 part 3
- IPv4 protocols on Ubuntu 18.04
- Addresssanitizer topotests part 4
- Topotests debian 10 amd64 part 2
- Addresssanitizer topotests part 7
- Static analyzer (clang)
- Ubuntu 16.04 deb pkg check
- Ubuntu 20.04 deb pkg check
- Topotests debian 10 amd64 part 1
- Topotests Ubuntu 18.04 amd64 part 8
- Addresssanitizer topotests part 5
- Topotests Ubuntu 18.04 i386 part 1
- Topotests Ubuntu 18.04 arm8 part 5
- Topotests Ubuntu 18.04 i386 part 6
- Topotests Ubuntu 18.04 arm8 part 0
- IPv4 ldp protocol on Ubuntu 18.04
Style
Continuous Integration Result: FAILED
See below for issues. CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-3243/
This is a comment from an automated CI system. For questions and feedback in regards to this CI system, please feel free to email Martin Winter - mwinter (at) opensourcerouting.org.
Get source / Pull Request: Successful
Building Stage: Successful
Basic Tests: Failed
Topotests Ubuntu 18.04 i386 part 9: Failed (click for details)
Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18I386-3243/test
Topology Tests failed for Topotests Ubuntu 18.04 i386 part 9 see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-3243/artifact/TOPO9U18I386/ErrorLog/log_topotests.txt
Topotests debian 10 amd64 part 9: Failed (click for details)
Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9DEB10AMD64-3243/test
Topology Tests failed for Topotests debian 10 amd64 part 9 see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-3243/artifact/TOPO9DEB10AMD64/ErrorLog/log_topotests.txt
Topotests Ubuntu 18.04 arm8 part 9: Failed (click for details)
Topotests Ubuntu 18.04 arm8 part 9: No useful log foundTopotests Ubuntu 18.04 amd64 part 9: Failed (click for details)
Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18AMD64-3243/test
Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 9 see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-3243/artifact/TOPO9U18AMD64/ErrorLog/log_topotests.txt
Successful on other platforms/tests
- Addresssanitizer topotests part 6
- Topotests Ubuntu 18.04 arm8 part 5
- Fedora 29 rpm pkg check
- CentOS 7 rpm pkg check
- Topotests debian 10 amd64 part 1
- Topotests Ubuntu 18.04 amd64 part 8
- Topotests debian 10 amd64 part 2
- Topotests debian 10 amd64 part 7
- Topotests Ubuntu 18.04 arm8 part 0
- Topotests Ubuntu 18.04 amd64 part 0
- Static analyzer (clang)
- Topotests Ubuntu 18.04 i386 part 5
- Topotests Ubuntu 18.04 i386 part 0
- Ubuntu 18.04 deb pkg check
- Debian 9 deb pkg check
- Addresssanitizer topotests part 1
- Topotests Ubuntu 18.04 i386 part 4
- Topotests Ubuntu 18.04 amd64 part 1
- Topotests Ubuntu 18.04 arm8 part 6
- Topotests Ubuntu 18.04 i386 part 2
- Topotests Ubuntu 18.04 arm8 part 1
- Topotests debian 10 amd64 part 6
- Addresssanitizer topotests part 8
- Topotests Ubuntu 18.04 amd64 part 6
- Topotests debian 10 amd64 part 5
- Addresssanitizer topotests part 7
- Topotests Ubuntu 18.04 arm8 part 8
- Topotests debian 10 amd64 part 4
- Addresssanitizer topotests part 4
- Topotests Ubuntu 18.04 i386 part 7
- Topotests Ubuntu 18.04 arm8 part 3
- Addresssanitizer topotests part 5
- Topotests Ubuntu 18.04 amd64 part 3
- Topotests debian 10 amd64 part 3
- Topotests Ubuntu 18.04 amd64 part 2
- Addresssanitizer topotests part 0
- Topotests debian 10 amd64 part 8
- Topotests Ubuntu 18.04 i386 part 6
- Topotests Ubuntu 18.04 arm8 part 4
- Addresssanitizer topotests part 2
- Ubuntu 20.04 deb pkg check
- IPv6 protocols on Ubuntu 18.04
- IPv4 ldp protocol on Ubuntu 18.04
- Ubuntu 16.04 deb pkg check
- Topotests Ubuntu 18.04 amd64 part 5
- Debian 10 deb pkg check
- IPv4 protocols on Ubuntu 18.04
- Topotests Ubuntu 18.04 amd64 part 4
- Topotests Ubuntu 18.04 i386 part 1
- Topotests Ubuntu 18.04 i386 part 3
- Addresssanitizer topotests part 9
- Topotests Ubuntu 18.04 i386 part 8
- Topotests Ubuntu 18.04 amd64 part 7
- Topotests Ubuntu 18.04 arm8 part 2
- Topotests debian 10 amd64 part 0
- Topotests Ubuntu 18.04 arm8 part 7
- Addresssanitizer topotests part 3
This PR is stale because it has been open 180 days with no activity. Comment or remove the autoclose label in order to avoid having this PR closed.
This pull request has conflicts, please resolve those before we can evaluate the pull request.