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

*: explicitly print "exit" at the end of every node config #9331

Merged
merged 3 commits into from
Aug 26, 2021

Conversation

idryzhov
Copy link
Contributor

@idryzhov idryzhov commented Aug 8, 2021

There is a possibility that the same line can be matched as a command in
some node and its parent node. In this case, when reading the config,
this line is always executed as a command of the child node.

For example, with the following config:

router ospf
 network 193.168.0.0/16 area 0
!
mpls ldp
 discovery hello interval 111
!

Line mpls ldp is processed as command mpls ldp-sync inside the
router ospf node. This leads to a complete loss of mpls ldp node
configuration.

To eliminate this issue and all possible similar issues, let's print an
explicit "exit" at the end of every node config.

Fixes #9206.

Signed-off-by: Igor Ryzhov iryzhov@nfware.com

Copy link

@polychaeta polychaeta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution to FRR!

Click for style suggestions

To apply these suggestions:

curl -s https://gist.githubusercontent.com/polychaeta/054ff00c8784a8d0db9862bb40ae58bf/raw/f4b4aa488bf0f1c10655bae089e297d89a77a561/cr_9331_1628451769.diff | git apply

diff --git a/pathd/path_cli.c b/pathd/path_cli.c
index 509ea8ba1d..43e8a2d855 100644
--- a/pathd/path_cli.c
+++ b/pathd/path_cli.c
@@ -60,7 +60,7 @@ static int segment_list_has_prefix(
 
 DEFINE_MTYPE_STATIC(PATHD, PATH_CLI, "Client");
 
-DEFINE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DEFINE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 /* Vty node structures. */
 static struct cmd_node segment_routing_node = {
diff --git a/pathd/pathd.h b/pathd/pathd.h
index 81d7aa9105..6476708f2b 100644
--- a/pathd/pathd.h
+++ b/pathd/pathd.h
@@ -34,7 +34,7 @@
 
 DECLARE_MGROUP(PATHD);
 
-DECLARE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DECLARE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 enum srte_protocol_origin {
 	SRTE_ORIGIN_UNDEFINED = 0,
diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
index 6ccf6c55f9..e4d3cf4943 100644
--- a/vtysh/vtysh_config.c
+++ b/vtysh/vtysh_config.c
@@ -262,8 +262,8 @@ void vtysh_config_parse_line(void *arg, const char *line)
 			if (strncmp(line, " exit", strlen(" exit")) == 0) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (strncmp(line, " link-params",
-				    strlen(" link-params"))
-			    == 0) {
+					   strlen(" link-params"))
+				   == 0) {
 				config_add_line(config->line, line);
 				config->index = LINK_PARAMS_NODE;
 			} else if (strncmp(line, " ip multicast boundary",
@@ -271,7 +271,8 @@ void vtysh_config_parse_line(void *arg, const char *line)
 				   == 0) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (strncmp(line, " ip igmp query-interval",
-					   strlen(" ip igmp query-interval")) == 0) {
+					   strlen(" ip igmp query-interval"))
+				   == 0) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (config->index == LINK_PARAMS_NODE
 				   && strncmp(line, "  exit-link-params",
@@ -288,7 +289,8 @@ void vtysh_config_parse_line(void *arg, const char *line)
 				   || !strncmp(line, " no vrrp",
 					       strlen(" no vrrp"))) {
 				config_add_line(config->line, line);
-			} else if (!strncmp(line, " ip mroute", strlen(" ip mroute"))) {
+			} else if (!strncmp(line, " ip mroute",
+					    strlen(" ip mroute"))) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (config->index == RMAP_NODE
 				   || config->index == INTERFACE_NODE

If you are a new contributor to FRR, please see our contributing guidelines.

After making changes, you do not need to create a new PR. You should perform an amend or interactive rebase followed by a force push.

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 8, 2021

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/

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: Failed

OpenBSD 6 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for OpenBSD 6 amd64 build:
(see full PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI011BUILD/ErrorLog/log_pytests.txt)

=================================== FAILURES ===================================
_____________________________ TestCli.test_refout ______________________________
self = <test_cli.TestCli object at 0x1db419f8d7b8>
    def test_refout(self):
        basedir = os.path.dirname(inspect.getsourcefile(type(self)))
        program = os.path.join(basedir, self.program)
    
        if getattr(self, "built_refin", False):
            refin = binpath(program) + ".in"
        else:
            refin = program + ".in"
        if getattr(self, "built_refout", False):
            refout = binpath(program) + ".refout"
        else:
            refout = program + ".refout"
    
        intext = ""
        if os.path.exists(refin):
            with open(refin, "rb") as f:
                intext = f.read()
        with open(refout, "rb") as f:
            reftext = f.read()
    
        proc = subprocess.Popen(
            [binpath(program)], stdin=subprocess.PIPE, stdout=subprocess.PIPE
        )
        outtext, _ = proc.communicate(intext)
    
        # Get rid of newline problems (Windows vs Unix Style)
        outtext_str = outtext.decode("utf8").replace("\r\n", "\n").replace("\r", "\n")
        reftext_str = reftext.decode("utf8").replace("\r\n", "\n").replace("\r", "\n")
    
        if outtext_str != reftext_str:
>           raise TestRefMismatch(self, outtext_str, reftext_str)
E           frrtest.TestRefMismatch: Expected output and actual output differ:
E           --- outtext
E           +++ reftext
E           @@ -315,7 +315,6 @@
E            !
E            !
E            !
E           -line vty
E            !
E            end
E            test# conf t
E           @@ -332,7 +331,6 @@
E            !
E            !
E            !
E           -line vty
E            !
E            end
E            foohost(config)#
helpers/python/frrtest.py:223: TestRefMismatch
----------------------------- Captured stderr call -----------------------------
testcli: showing active allocations in memory group logging subsystem
testcli: showing active allocations in memory group libfrr
---- generated xml file: /home/ci/cibuild.20888/frr-source/tests/tests.xml -----
=============== 1 failed, 434 passed, 5 skipped in 34.52 seconds ===============
gmake: *** [Makefile:15452: tests/tests.xml] Error 1

OpenBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI011BUILD/config.status/config.status
OpenBSD 6 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI011BUILD/config.log/config.log.gz
OpenBSD 6 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI011BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 16.04 arm8 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 16.04 arm8 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U16ARM8BUILD/ErrorLog/log_pytests.txt
Ubuntu 16.04 arm8 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U16ARM8BUILD/config.log/config.log.gz
Ubuntu 16.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U16ARM8BUILD/config.status/config.status
Ubuntu 16.04 arm8 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U16ARM8BUILD/frr.xref.xz/frr.xref.xz

FreeBSD 11 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for FreeBSD 11 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI009BUILD/ErrorLog/log_pytests.txt
FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI009BUILD/config.status/config.status
FreeBSD 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI009BUILD/config.log/config.log.gz
FreeBSD 11 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI009BUILD/frr.xref.xz/frr.xref.xz

Fedora 29 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Fedora 29 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/F29BUILD/ErrorLog/log_pytests.txt
Fedora 29 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/F29BUILD/config.status/config.status
Fedora 29 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/F29BUILD/config.log/config.log.gz
Fedora 29 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/F29BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 16.04 arm7 build: Failed (click for details) Ubuntu 16.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI101BUILD/config.status/config.status Ubuntu 16.04 arm7 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI101BUILD/config.log/config.log.gz

DejaGNU Unittests (make check) failed for Ubuntu 16.04 arm7 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI101BUILD/ErrorLog/log_pytests.txt
Ubuntu 16.04 arm7 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI101BUILD/frr.xref.xz/frr.xref.xz

CentOS 8 amd64 build: Failed (click for details) CentOS 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CENTOS8BUILD/config.status/config.status

DejaGNU Unittests (make check) failed for CentOS 8 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CENTOS8BUILD/ErrorLog/log_pytests.txt
CentOS 8 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CENTOS8BUILD/config.log/config.log.gz
CentOS 8 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CENTOS8BUILD/frr.xref.xz/frr.xref.xz

Debian 10 amd64 build: Failed (click for details) Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB10BUILD/config.log/config.log.gz

DejaGNU Unittests (make check) failed for Debian 10 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB10BUILD/ErrorLog/log_pytests.txt
Debian 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB10BUILD/config.status/config.status
Debian 10 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB10BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 18.04 i386 build: Failed (click for details) Ubuntu 18.04 i386 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18I386BUILD/frr.xref.xz/frr.xref.xz Ubuntu 18.04 i386 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18I386BUILD/config.log/config.log.gz Ubuntu 18.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18I386BUILD/config.status/config.status

DejaGNU Unittests (make check) failed for Ubuntu 18.04 i386 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18I386BUILD/ErrorLog/log_pytests.txt

FreeBSD 12 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for FreeBSD 12 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/FBSD12AMD64/ErrorLog/log_pytests.txt
FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/FBSD12AMD64/config.status/config.status
FreeBSD 12 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/FBSD12AMD64/config.log/config.log.gz
FreeBSD 12 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/FBSD12AMD64/frr.xref.xz/frr.xref.xz

NetBSD 8 amd64 build: Failed (click for details) NetBSD 8 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI012BUILD/config.log/config.log.gz

DejaGNU Unittests (make check) failed for NetBSD 8 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI012BUILD/ErrorLog/log_pytests.txt
NetBSD 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI012BUILD/config.status/config.status
NetBSD 8 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI012BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 16.04 i386 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 16.04 i386 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1604I386/ErrorLog/log_pytests.txt
Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1604I386/config.status/config.status
Ubuntu 16.04 i386 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1604I386/config.log/config.log.gz
Ubuntu 16.04 i386 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1604I386/frr.xref.xz/frr.xref.xz

Ubuntu 16.04 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 16.04 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI014BUILD/ErrorLog/log_pytests.txt
Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI014BUILD/config.status/config.status
Ubuntu 16.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI014BUILD/config.log/config.log.gz
Ubuntu 16.04 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI014BUILD/frr.xref.xz/frr.xref.xz

Debian 11 amd64 build: Failed (click for details) Debian 11 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB11AMD64/frr.xref.xz/frr.xref.xz Debian 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB11AMD64/config.status/config.status

DejaGNU Unittests (make check) failed for Debian 11 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB11AMD64/ErrorLog/log_pytests.txt
Debian 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB11AMD64/config.log/config.log.gz

Ubuntu 18.04 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 18.04 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804AMD64/ErrorLog/log_pytests.txt
Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804AMD64/config.status/config.status
Ubuntu 18.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804AMD64/config.log/config.log.gz
Ubuntu 18.04 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804AMD64/frr.xref.xz/frr.xref.xz

Ubuntu 18.04 arm8 build: Failed (click for details) Ubuntu 18.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM8BUILD/config.status/config.status Ubuntu 18.04 arm8 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM8BUILD/config.log/config.log.gz

DejaGNU Unittests (make check) failed for Ubuntu 18.04 arm8 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM8BUILD/ErrorLog/log_pytests.txt
Ubuntu 18.04 arm8 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM8BUILD/frr.xref.xz/frr.xref.xz

CentOS 7 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for CentOS 7 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI005BUILD/ErrorLog/log_pytests.txt
CentOS 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI005BUILD/config.status/config.status
CentOS 7 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI005BUILD/config.log/config.log.gz
CentOS 7 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI005BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 18.04 arm7 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 18.04 arm7 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM7BUILD/ErrorLog/log_pytests.txt
Ubuntu 18.04 arm7 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM7BUILD/config.log/config.log.gz
Ubuntu 18.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM7BUILD/config.status/config.status
Ubuntu 18.04 arm7 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM7BUILD/frr.xref.xz/frr.xref.xz

Debian 9 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Debian 9 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI021BUILD/ErrorLog/log_pytests.txt
Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI021BUILD/config.status/config.status
Debian 9 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI021BUILD/config.log/config.log.gz
Debian 9 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI021BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 18.04 ppc64le build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 18.04 ppc64le build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804PPC64LEBUILD/ErrorLog/log_pytests.txt
Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804PPC64LEBUILD/config.status/config.status
Ubuntu 18.04 ppc64le build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804PPC64LEBUILD/config.log/config.log.gz
Ubuntu 18.04 ppc64le build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804PPC64LEBUILD/frr.xref.xz/frr.xref.xz

Ubuntu 20.04 amd64 build: Failed (click for details) Ubuntu 20.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U2004AMD64BUILD/config.status/config.status

DejaGNU Unittests (make check) failed for Ubuntu 20.04 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U2004AMD64BUILD/ErrorLog/log_pytests.txt
Ubuntu 20.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U2004AMD64BUILD/config.log/config.log.gz
Ubuntu 20.04 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U2004AMD64BUILD/frr.xref.xz/frr.xref.xz

Warnings Generated during build:

Checkout code: Successful with additional warnings
OpenBSD 6 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for OpenBSD 6 amd64 build:
(see full PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI011BUILD/ErrorLog/log_pytests.txt)

=================================== FAILURES ===================================
_____________________________ TestCli.test_refout ______________________________
self = <test_cli.TestCli object at 0x1db419f8d7b8>
    def test_refout(self):
        basedir = os.path.dirname(inspect.getsourcefile(type(self)))
        program = os.path.join(basedir, self.program)
    
        if getattr(self, "built_refin", False):
            refin = binpath(program) + ".in"
        else:
            refin = program + ".in"
        if getattr(self, "built_refout", False):
            refout = binpath(program) + ".refout"
        else:
            refout = program + ".refout"
    
        intext = ""
        if os.path.exists(refin):
            with open(refin, "rb") as f:
                intext = f.read()
        with open(refout, "rb") as f:
            reftext = f.read()
    
        proc = subprocess.Popen(
            [binpath(program)], stdin=subprocess.PIPE, stdout=subprocess.PIPE
        )
        outtext, _ = proc.communicate(intext)
    
        # Get rid of newline problems (Windows vs Unix Style)
        outtext_str = outtext.decode("utf8").replace("\r\n", "\n").replace("\r", "\n")
        reftext_str = reftext.decode("utf8").replace("\r\n", "\n").replace("\r", "\n")
    
        if outtext_str != reftext_str:
>           raise TestRefMismatch(self, outtext_str, reftext_str)
E           frrtest.TestRefMismatch: Expected output and actual output differ:
E           --- outtext
E           +++ reftext
E           @@ -315,7 +315,6 @@
E            !
E            !
E            !
E           -line vty
E            !
E            end
E            test# conf t
E           @@ -332,7 +331,6 @@
E            !
E            !
E            !
E           -line vty
E            !
E            end
E            foohost(config)#
helpers/python/frrtest.py:223: TestRefMismatch
----------------------------- Captured stderr call -----------------------------
testcli: showing active allocations in memory group logging subsystem
testcli: showing active allocations in memory group libfrr
---- generated xml file: /home/ci/cibuild.20888/frr-source/tests/tests.xml -----
=============== 1 failed, 434 passed, 5 skipped in 34.52 seconds ===============
gmake: *** [Makefile:15452: tests/tests.xml] Error 1

OpenBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI011BUILD/config.status/config.status
OpenBSD 6 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI011BUILD/config.log/config.log.gz
OpenBSD 6 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI011BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 16.04 arm8 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 16.04 arm8 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U16ARM8BUILD/ErrorLog/log_pytests.txt
Ubuntu 16.04 arm8 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U16ARM8BUILD/config.log/config.log.gz
Ubuntu 16.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U16ARM8BUILD/config.status/config.status
Ubuntu 16.04 arm8 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U16ARM8BUILD/frr.xref.xz/frr.xref.xz

FreeBSD 11 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for FreeBSD 11 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI009BUILD/ErrorLog/log_pytests.txt
FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI009BUILD/config.status/config.status
FreeBSD 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI009BUILD/config.log/config.log.gz
FreeBSD 11 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI009BUILD/frr.xref.xz/frr.xref.xz

Fedora 29 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Fedora 29 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/F29BUILD/ErrorLog/log_pytests.txt
Fedora 29 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/F29BUILD/config.status/config.status
Fedora 29 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/F29BUILD/config.log/config.log.gz
Fedora 29 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/F29BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 16.04 arm7 build: Failed (click for details) Ubuntu 16.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI101BUILD/config.status/config.status Ubuntu 16.04 arm7 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI101BUILD/config.log/config.log.gz

DejaGNU Unittests (make check) failed for Ubuntu 16.04 arm7 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI101BUILD/ErrorLog/log_pytests.txt
Ubuntu 16.04 arm7 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI101BUILD/frr.xref.xz/frr.xref.xz

CentOS 8 amd64 build: Failed (click for details) CentOS 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CENTOS8BUILD/config.status/config.status

DejaGNU Unittests (make check) failed for CentOS 8 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CENTOS8BUILD/ErrorLog/log_pytests.txt
CentOS 8 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CENTOS8BUILD/config.log/config.log.gz
CentOS 8 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CENTOS8BUILD/frr.xref.xz/frr.xref.xz

Debian 10 amd64 build: Failed (click for details) Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB10BUILD/config.log/config.log.gz

DejaGNU Unittests (make check) failed for Debian 10 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB10BUILD/ErrorLog/log_pytests.txt
Debian 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB10BUILD/config.status/config.status
Debian 10 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB10BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 18.04 i386 build: Failed (click for details) Ubuntu 18.04 i386 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18I386BUILD/frr.xref.xz/frr.xref.xz Ubuntu 18.04 i386 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18I386BUILD/config.log/config.log.gz Ubuntu 18.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18I386BUILD/config.status/config.status

DejaGNU Unittests (make check) failed for Ubuntu 18.04 i386 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18I386BUILD/ErrorLog/log_pytests.txt

FreeBSD 12 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for FreeBSD 12 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/FBSD12AMD64/ErrorLog/log_pytests.txt
FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/FBSD12AMD64/config.status/config.status
FreeBSD 12 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/FBSD12AMD64/config.log/config.log.gz
FreeBSD 12 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/FBSD12AMD64/frr.xref.xz/frr.xref.xz

NetBSD 8 amd64 build: Failed (click for details) NetBSD 8 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI012BUILD/config.log/config.log.gz

DejaGNU Unittests (make check) failed for NetBSD 8 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI012BUILD/ErrorLog/log_pytests.txt
NetBSD 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI012BUILD/config.status/config.status
NetBSD 8 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI012BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 16.04 i386 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 16.04 i386 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1604I386/ErrorLog/log_pytests.txt
Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1604I386/config.status/config.status
Ubuntu 16.04 i386 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1604I386/config.log/config.log.gz
Ubuntu 16.04 i386 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1604I386/frr.xref.xz/frr.xref.xz

Ubuntu 16.04 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 16.04 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI014BUILD/ErrorLog/log_pytests.txt
Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI014BUILD/config.status/config.status
Ubuntu 16.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI014BUILD/config.log/config.log.gz
Ubuntu 16.04 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI014BUILD/frr.xref.xz/frr.xref.xz

Debian 11 amd64 build: Failed (click for details) Debian 11 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB11AMD64/frr.xref.xz/frr.xref.xz Debian 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB11AMD64/config.status/config.status

DejaGNU Unittests (make check) failed for Debian 11 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB11AMD64/ErrorLog/log_pytests.txt
Debian 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/DEB11AMD64/config.log/config.log.gz

Ubuntu 18.04 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 18.04 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804AMD64/ErrorLog/log_pytests.txt
Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804AMD64/config.status/config.status
Ubuntu 18.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804AMD64/config.log/config.log.gz
Ubuntu 18.04 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804AMD64/frr.xref.xz/frr.xref.xz

Ubuntu 18.04 arm8 build: Failed (click for details) Ubuntu 18.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM8BUILD/config.status/config.status Ubuntu 18.04 arm8 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM8BUILD/config.log/config.log.gz

DejaGNU Unittests (make check) failed for Ubuntu 18.04 arm8 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM8BUILD/ErrorLog/log_pytests.txt
Ubuntu 18.04 arm8 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM8BUILD/frr.xref.xz/frr.xref.xz

CentOS 7 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for CentOS 7 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI005BUILD/ErrorLog/log_pytests.txt
CentOS 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI005BUILD/config.status/config.status
CentOS 7 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI005BUILD/config.log/config.log.gz
CentOS 7 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI005BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 18.04 arm7 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 18.04 arm7 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM7BUILD/ErrorLog/log_pytests.txt
Ubuntu 18.04 arm7 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM7BUILD/config.log/config.log.gz
Ubuntu 18.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM7BUILD/config.status/config.status
Ubuntu 18.04 arm7 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U18ARM7BUILD/frr.xref.xz/frr.xref.xz

Debian 9 amd64 build: Failed (click for details)

DejaGNU Unittests (make check) failed for Debian 9 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI021BUILD/ErrorLog/log_pytests.txt
Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI021BUILD/config.status/config.status
Debian 9 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI021BUILD/config.log/config.log.gz
Debian 9 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/CI021BUILD/frr.xref.xz/frr.xref.xz

Ubuntu 18.04 ppc64le build: Failed (click for details)

DejaGNU Unittests (make check) failed for Ubuntu 18.04 ppc64le build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804PPC64LEBUILD/ErrorLog/log_pytests.txt
Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804PPC64LEBUILD/config.status/config.status
Ubuntu 18.04 ppc64le build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804PPC64LEBUILD/config.log/config.log.gz
Ubuntu 18.04 ppc64le build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U1804PPC64LEBUILD/frr.xref.xz/frr.xref.xz

Ubuntu 20.04 amd64 build: Failed (click for details) Ubuntu 20.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U2004AMD64BUILD/config.status/config.status

DejaGNU Unittests (make check) failed for Ubuntu 20.04 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U2004AMD64BUILD/ErrorLog/log_pytests.txt
Ubuntu 20.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U2004AMD64BUILD/config.log/config.log.gz
Ubuntu 20.04 amd64 build: Unknown Log <frr.xref.xz>
URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20888/artifact/U2004AMD64BUILD/frr.xref.xz/frr.xref.xz

Report for vtysh_config.c | 2 issues
===============================================
< ERROR: do not use assignment in if condition
< #523: FILE: /tmp/f1-17553/vtysh_config.c:523:

Copy link

@polychaeta polychaeta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution to FRR!

Click for style suggestions

To apply these suggestions:

curl -s https://gist.githubusercontent.com/polychaeta/eb9e416f09ce40c501d8b2d82ea7cbfb/raw/f4b4aa488bf0f1c10655bae089e297d89a77a561/cr_9331_1628459185.diff | git apply

diff --git a/pathd/path_cli.c b/pathd/path_cli.c
index 509ea8ba1d..43e8a2d855 100644
--- a/pathd/path_cli.c
+++ b/pathd/path_cli.c
@@ -60,7 +60,7 @@ static int segment_list_has_prefix(
 
 DEFINE_MTYPE_STATIC(PATHD, PATH_CLI, "Client");
 
-DEFINE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DEFINE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 /* Vty node structures. */
 static struct cmd_node segment_routing_node = {
diff --git a/pathd/pathd.h b/pathd/pathd.h
index 81d7aa9105..6476708f2b 100644
--- a/pathd/pathd.h
+++ b/pathd/pathd.h
@@ -34,7 +34,7 @@
 
 DECLARE_MGROUP(PATHD);
 
-DECLARE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DECLARE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 enum srte_protocol_origin {
 	SRTE_ORIGIN_UNDEFINED = 0,
diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
index 6ccf6c55f9..e4d3cf4943 100644
--- a/vtysh/vtysh_config.c
+++ b/vtysh/vtysh_config.c
@@ -262,8 +262,8 @@ void vtysh_config_parse_line(void *arg, const char *line)
 			if (strncmp(line, " exit", strlen(" exit")) == 0) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (strncmp(line, " link-params",
-				    strlen(" link-params"))
-			    == 0) {
+					   strlen(" link-params"))
+				   == 0) {
 				config_add_line(config->line, line);
 				config->index = LINK_PARAMS_NODE;
 			} else if (strncmp(line, " ip multicast boundary",
@@ -271,7 +271,8 @@ void vtysh_config_parse_line(void *arg, const char *line)
 				   == 0) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (strncmp(line, " ip igmp query-interval",
-					   strlen(" ip igmp query-interval")) == 0) {
+					   strlen(" ip igmp query-interval"))
+				   == 0) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (config->index == LINK_PARAMS_NODE
 				   && strncmp(line, "  exit-link-params",
@@ -288,7 +289,8 @@ void vtysh_config_parse_line(void *arg, const char *line)
 				   || !strncmp(line, " no vrrp",
 					       strlen(" no vrrp"))) {
 				config_add_line(config->line, line);
-			} else if (!strncmp(line, " ip mroute", strlen(" ip mroute"))) {
+			} else if (!strncmp(line, " ip mroute",
+					    strlen(" ip mroute"))) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (config->index == RMAP_NODE
 				   || config->index == INTERFACE_NODE

If you are a new contributor to FRR, please see our contributing guidelines.

After making changes, you do not need to create a new PR. You should perform an amend or interactive rebase followed by a force push.

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 9, 2021

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/

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 arm8 part 5: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 5: No useful log found
Topotests Ubuntu 18.04 i386 part 5: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18I386-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 5
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO5U18I386/ErrorLog/log_topotests.txt

Topotests debian 10 amd64 part 8: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO8DEB10AMD64-20889/test

Topology Tests failed for Topotests debian 10 amd64 part 8
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO8DEB10AMD64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 amd64 part 5: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18AMD64-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 5
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO5U18AMD64/ErrorLog/log_topotests.txt

Topotests debian 10 amd64 part 5: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5DEB10AMD64-20889/test

Topology Tests failed for Topotests debian 10 amd64 part 5
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO5DEB10AMD64/ErrorLog/log_topotests.txt

Topotests debian 10 amd64 part 6: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO6DEB10AMD64-20889/test

Topology Tests failed for Topotests debian 10 amd64 part 6
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO6DEB10AMD64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 arm8 part 6: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 6: No useful log found
Topotests Ubuntu 18.04 arm8 part 1: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 1: No useful log found
Topotests Ubuntu 18.04 amd64 part 6: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO6U18AMD64-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 6
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO6U18AMD64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 i386 part 6: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO6U18I386-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 6
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO6U18I386/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 amd64 part 1: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TP1U1804AMD64-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 1
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TP1U1804AMD64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 amd64 part 8: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO8U18ARM64-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 8
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO8U18ARM64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 arm8 part 8: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 8: No useful log found
Topotests debian 10 amd64 part 1: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO1DEB10AMD64-20889/test

Topology Tests failed for Topotests debian 10 amd64 part 1
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO1DEB10AMD64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 i386 part 1: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO1U18I386-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 1
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO1U18I386/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 i386 part 8: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO8U18I386-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 8
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO8U18I386/ErrorLog/log_topotests.txt

Successful on other platforms/tests
  • Static analyzer (clang)
  • Addresssanitizer topotests part 5
  • Topotests Ubuntu 18.04 amd64 part 7
  • Topotests Ubuntu 18.04 i386 part 9
  • Topotests Ubuntu 18.04 amd64 part 0
  • Topotests Ubuntu 18.04 i386 part 4
  • Topotests Ubuntu 18.04 arm8 part 0
  • Addresssanitizer topotests part 0
  • IPv4 ldp protocol on Ubuntu 18.04
  • Topotests Ubuntu 18.04 arm8 part 9
  • Topotests Ubuntu 18.04 i386 part 0
  • Topotests debian 10 amd64 part 9
  • Topotests debian 10 amd64 part 4
  • Topotests Ubuntu 18.04 arm8 part 4
  • Topotests Ubuntu 18.04 amd64 part 9
  • IPv6 protocols on Ubuntu 18.04
  • Fedora 29 rpm pkg check
  • Topotests Ubuntu 18.04 arm8 part 3
  • Topotests Ubuntu 18.04 amd64 part 3
  • Addresssanitizer topotests part 1
  • Topotests Ubuntu 18.04 i386 part 7
  • Addresssanitizer topotests part 4
  • Topotests Ubuntu 18.04 amd64 part 4
  • Topotests debian 10 amd64 part 7
  • IPv4 protocols on Ubuntu 18.04
  • Addresssanitizer topotests part 8
  • Topotests Ubuntu 18.04 i386 part 2
  • Topotests Ubuntu 18.04 arm8 part 2
  • Topotests Ubuntu 18.04 amd64 part 2
  • Topotests Ubuntu 18.04 arm8 part 7
  • Topotests debian 10 amd64 part 2
  • Ubuntu 16.04 deb pkg check
  • Addresssanitizer topotests part 6
  • Addresssanitizer topotests part 2
  • Ubuntu 18.04 deb pkg check
  • Ubuntu 20.04 deb pkg check
  • Debian 9 deb pkg check
  • Debian 10 deb pkg check
  • CentOS 7 rpm pkg check
  • Topotests debian 10 amd64 part 3
  • Addresssanitizer topotests part 9
  • Topotests Ubuntu 18.04 i386 part 3
  • Addresssanitizer topotests part 7
  • Topotests debian 10 amd64 part 0
  • Addresssanitizer topotests part 3

Warnings Generated during build:

Checkout code: Successful with additional warnings
Topotests Ubuntu 18.04 arm8 part 5: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 5: No useful log found
Topotests Ubuntu 18.04 i386 part 5: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18I386-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 5
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO5U18I386/ErrorLog/log_topotests.txt

Topotests debian 10 amd64 part 8: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO8DEB10AMD64-20889/test

Topology Tests failed for Topotests debian 10 amd64 part 8
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO8DEB10AMD64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 amd64 part 5: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18AMD64-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 5
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO5U18AMD64/ErrorLog/log_topotests.txt

Topotests debian 10 amd64 part 5: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5DEB10AMD64-20889/test

Topology Tests failed for Topotests debian 10 amd64 part 5
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO5DEB10AMD64/ErrorLog/log_topotests.txt

Topotests debian 10 amd64 part 6: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO6DEB10AMD64-20889/test

Topology Tests failed for Topotests debian 10 amd64 part 6
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO6DEB10AMD64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 arm8 part 6: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 6: No useful log found
Topotests Ubuntu 18.04 arm8 part 1: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 1: No useful log found
Topotests Ubuntu 18.04 amd64 part 6: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO6U18AMD64-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 6
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO6U18AMD64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 i386 part 6: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO6U18I386-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 6
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO6U18I386/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 amd64 part 1: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TP1U1804AMD64-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 1
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TP1U1804AMD64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 amd64 part 8: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO8U18ARM64-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 8
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO8U18ARM64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 arm8 part 8: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 8: No useful log found
Topotests debian 10 amd64 part 1: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO1DEB10AMD64-20889/test

Topology Tests failed for Topotests debian 10 amd64 part 1
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO1DEB10AMD64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 i386 part 1: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO1U18I386-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 1
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO1U18I386/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 i386 part 8: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO8U18I386-20889/test

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 8
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20889/artifact/TOPO8U18I386/ErrorLog/log_topotests.txt

Report for vtysh_config.c | 2 issues
===============================================
< ERROR: do not use assignment in if condition
< #523: FILE: /tmp/f1-17784/vtysh_config.c:523:

@LabN-CI
Copy link
Collaborator

LabN-CI commented Aug 11, 2021

Outdated results 🚧

Basic BGPD CI results: Partial FAILURE, autoscript-2021-08-10-21:35:14.log.bz2 tests failed, has VALGRIND issues

_ _
Result SUCCESS git merge/9331 863d504
Date 08/10/2021
Start 21:34:01
Finish 21:59:47
Run-Time 25:46
Total 1813
Pass 1813
Fail 0
Details vncregress-2021-08-10-21:34:01.txt
Log autoscript-2021-08-10-21:35:14.log.bz2
Memory 494 482 425

For details, please contact louberger

@anlancs
Copy link
Contributor

anlancs commented Aug 11, 2021

@idryzhov
Like the mpls ldp can be both global-context and router-ospf context, we have met the another command:
profile can be both bfd and bdf-peer context.

Seem the same problem...

@LabN-CI
Copy link
Collaborator

LabN-CI commented Aug 13, 2021

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git merge/9331 863d504
Date 08/10/2021
Start 21:34:01
Finish 21:59:47
Run-Time 25:46
Total 1813
Pass 1813
Fail 0
Valgrind-Errors
Valgrind-Loss
Details vncregress-2021-08-10-21:34:01.txt
Log autoscript-2021-08-10-21:35:14.log.bz2
Memory 494 482 425

For details, please contact louberger

Copy link

@polychaeta polychaeta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution to FRR!

Click for style suggestions

To apply these suggestions:

curl -s https://gist.githubusercontent.com/polychaeta/ea88334050e64b849b971276e00b8537/raw/d65113e531699dfb004fcb9364dd4fa61198ca92/cr_9331_1629212670.diff | git apply

diff --git a/pathd/path_cli.c b/pathd/path_cli.c
index b9d9694d7..2dc706749 100644
--- a/pathd/path_cli.c
+++ b/pathd/path_cli.c
@@ -60,7 +60,7 @@ static int segment_list_has_prefix(
 
 DEFINE_MTYPE_STATIC(PATHD, PATH_CLI, "Client");
 
-DEFINE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DEFINE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 /* Vty node structures. */
 static struct cmd_node segment_routing_node = {
diff --git a/pathd/pathd.h b/pathd/pathd.h
index 81d7aa910..6476708f2 100644
--- a/pathd/pathd.h
+++ b/pathd/pathd.h
@@ -34,7 +34,7 @@
 
 DECLARE_MGROUP(PATHD);
 
-DECLARE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DECLARE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 enum srte_protocol_origin {
 	SRTE_ORIGIN_UNDEFINED = 0,

If you are a new contributor to FRR, please see our contributing guidelines.

After making changes, you do not need to create a new PR. You should perform an amend or interactive rebase followed by a force push.

@qlyoung qlyoung requested review from qlyoung and choppsv1 August 17, 2021 15:32
@LabN-CI
Copy link
Collaborator

LabN-CI commented Aug 17, 2021

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git merge/9331 d074f1b
Date 08/17/2021
Start 16:11:00
Finish 16:37:21
Run-Time 26:21
Total 1813
Pass 1813
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2021-08-17-16:11:00.txt
Log autoscript-2021-08-17-16:12:15.log.bz2
Memory 517 517 425

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 18, 2021

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-21140/

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 arm8 part 1: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 1: No useful log found
Successful on other platforms/tests
  • Topotests Ubuntu 18.04 arm8 part 9
  • Topotests Ubuntu 18.04 amd64 part 0
  • Addresssanitizer topotests part 5
  • Addresssanitizer topotests part 7
  • Topotests Ubuntu 18.04 i386 part 4
  • Topotests Ubuntu 18.04 i386 part 9
  • Topotests Ubuntu 18.04 amd64 part 7
  • Topotests Ubuntu 18.04 arm8 part 0
  • Addresssanitizer topotests part 0
  • IPv4 ldp protocol on Ubuntu 18.04
  • Topotests Ubuntu 18.04 arm8 part 5
  • Topotests debian 10 amd64 part 4
  • Topotests Ubuntu 18.04 arm8 part 4
  • Topotests Ubuntu 18.04 i386 part 0
  • Static analyzer (clang)
  • Topotests debian 10 amd64 part 9
  • Addresssanitizer topotests part 1
  • IPv6 protocols on Ubuntu 18.04
  • CentOS 7 rpm pkg check
  • Topotests debian 10 amd64 part 8
  • Topotests Ubuntu 18.04 amd64 part 5
  • Topotests Ubuntu 18.04 amd64 part 9
  • Topotests Ubuntu 18.04 amd64 part 3
  • Fedora 29 rpm pkg check
  • Topotests Ubuntu 18.04 arm8 part 3
  • Topotests debian 10 amd64 part 5
  • IPv4 protocols on Ubuntu 18.04
  • Topotests Ubuntu 18.04 amd64 part 4
  • Topotests Ubuntu 18.04 i386 part 2
  • Addresssanitizer topotests part 8
  • Topotests Ubuntu 18.04 arm8 part 6
  • Topotests Ubuntu 18.04 i386 part 7
  • Addresssanitizer topotests part 4
  • Topotests debian 10 amd64 part 6
  • Addresssanitizer topotests part 6
  • Ubuntu 16.04 deb pkg check
  • Topotests debian 10 amd64 part 7
  • Debian 10 deb pkg check
  • Topotests Ubuntu 18.04 arm8 part 2
  • Topotests Ubuntu 18.04 amd64 part 2
  • Topotests Ubuntu 18.04 i386 part 1
  • Topotests Ubuntu 18.04 i386 part 6
  • Topotests debian 10 amd64 part 2
  • Topotests Ubuntu 18.04 arm8 part 8
  • Topotests Ubuntu 18.04 amd64 part 6
  • Ubuntu 20.04 deb pkg check
  • Debian 9 deb pkg check
  • Topotests Ubuntu 18.04 amd64 part 1
  • Topotests debian 10 amd64 part 3
  • Ubuntu 18.04 deb pkg check
  • Addresssanitizer topotests part 3
  • Topotests Ubuntu 18.04 i386 part 5
  • Topotests Ubuntu 18.04 amd64 part 8
  • Addresssanitizer topotests part 2
  • Topotests debian 10 amd64 part 0
  • Topotests Ubuntu 18.04 i386 part 8
  • Topotests Ubuntu 18.04 i386 part 3
  • Topotests debian 10 amd64 part 1
  • Topotests Ubuntu 18.04 arm8 part 7
  • Addresssanitizer topotests part 9

Warnings Generated during build:

Checkout code: Successful with additional warnings
Topotests Ubuntu 18.04 arm8 part 1: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 1: No useful log found
Report for path_nb.c | 2 issues
===============================================
< WARNING: line over 80 characters
< #175: FILE: /tmp/f1-14858/path_nb.c:175:
Report for vtysh_config.c | 2 issues
===============================================
< ERROR: do not use assignment in if condition
< #521: FILE: /tmp/f1-14858/vtysh_config.c:521:

@idryzhov
Copy link
Contributor Author

ci:rerun

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 18, 2021

Continuous Integration Result: SUCCESSFUL

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-21176/

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.

Warnings Generated during build:

Checkout code: Successful with additional warnings
Report for path_nb.c | 2 issues
===============================================
< WARNING: line over 80 characters
< #175: FILE: /tmp/f1-30504/path_nb.c:175:
Report for vtysh_config.c | 2 issues
===============================================
< ERROR: do not use assignment in if condition
< #521: FILE: /tmp/f1-30504/vtysh_config.c:521:

Copy link

@polychaeta polychaeta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution to FRR!

Click for style suggestions

To apply these suggestions:

curl -s https://gist.githubusercontent.com/polychaeta/b6a0f6c80caf83f75c357c08a5663c53/raw/be4569a9efb5761e9075bb4676e203793fb644ba/cr_9331_1629308761.diff | git apply

diff --git a/pathd/path_cli.c b/pathd/path_cli.c
index bd629a2b7..cf7efc6a3 100644
--- a/pathd/path_cli.c
+++ b/pathd/path_cli.c
@@ -60,7 +60,7 @@ static int segment_list_has_prefix(
 
 DEFINE_MTYPE_STATIC(PATHD, PATH_CLI, "Client");
 
-DEFINE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DEFINE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 /* Vty node structures. */
 static struct cmd_node segment_routing_node = {
diff --git a/pathd/pathd.h b/pathd/pathd.h
index 81d7aa910..6476708f2 100644
--- a/pathd/pathd.h
+++ b/pathd/pathd.h
@@ -34,7 +34,7 @@
 
 DECLARE_MGROUP(PATHD);
 
-DECLARE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DECLARE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 enum srte_protocol_origin {
 	SRTE_ORIGIN_UNDEFINED = 0,
diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
index 54b915614..958b95195 100644
--- a/vtysh/vtysh_config.c
+++ b/vtysh/vtysh_config.c
@@ -281,7 +281,8 @@ void vtysh_config_parse_line(void *arg, const char *line)
 				   || !strncmp(line, " no vrrp",
 					       strlen(" no vrrp"))) {
 				config_add_line(config->line, line);
-			} else if (!strncmp(line, " ip mroute", strlen(" ip mroute"))) {
+			} else if (!strncmp(line, " ip mroute",
+					    strlen(" ip mroute"))) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (config->index == RMAP_NODE
 				   || config->index == INTERFACE_NODE

If you are a new contributor to FRR, please see our contributing guidelines.

After making changes, you do not need to create a new PR. You should perform an amend or interactive rebase followed by a force push.

@LabN-CI
Copy link
Collaborator

LabN-CI commented Aug 18, 2021

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git merge/9331 ecf580d
Date 08/18/2021
Start 13:52:16
Finish 14:18:32
Run-Time 26:16
Total 1813
Pass 1813
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2021-08-18-13:52:16.txt
Log autoscript-2021-08-18-13:53:24.log.bz2
Memory 495 514 422

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 18, 2021

Continuous Integration Result: SUCCESSFUL

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-21193/

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.

Warnings Generated during build:

Checkout code: Successful with additional warnings
Report for path_nb.c | 2 issues
===============================================
< WARNING: line over 80 characters
< #175: FILE: /tmp/f1-30619/path_nb.c:175:
Report for vtysh_config.c | 2 issues
===============================================
< ERROR: do not use assignment in if condition
< #519: FILE: /tmp/f1-30619/vtysh_config.c:519:

Copy link

@polychaeta polychaeta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution to FRR!

Click for style suggestions

To apply these suggestions:

curl -s https://gist.githubusercontent.com/polychaeta/3d3fb8d4955558275c8bc163f6aa1a45/raw/5a63b9482c75122460aab6f01623815e70ed50c3/cr_9331_1629718620.diff | git apply

diff --git a/pathd/path_cli.c b/pathd/path_cli.c
index bd629a2b7..cf7efc6a3 100644
--- a/pathd/path_cli.c
+++ b/pathd/path_cli.c
@@ -60,7 +60,7 @@ static int segment_list_has_prefix(
 
 DEFINE_MTYPE_STATIC(PATHD, PATH_CLI, "Client");
 
-DEFINE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DEFINE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 /* Vty node structures. */
 static struct cmd_node segment_routing_node = {
diff --git a/pathd/pathd.h b/pathd/pathd.h
index 81d7aa910..6476708f2 100644
--- a/pathd/pathd.h
+++ b/pathd/pathd.h
@@ -34,7 +34,7 @@
 
 DECLARE_MGROUP(PATHD);
 
-DECLARE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DECLARE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 enum srte_protocol_origin {
 	SRTE_ORIGIN_UNDEFINED = 0,
diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
index 2e1d7c5ba..cae7d0990 100644
--- a/vtysh/vtysh_config.c
+++ b/vtysh/vtysh_config.c
@@ -281,7 +281,8 @@ void vtysh_config_parse_line(void *arg, const char *line)
 				   || !strncmp(line, " no vrrp",
 					       strlen(" no vrrp"))) {
 				config_add_line(config->line, line);
-			} else if (!strncmp(line, " ip mroute", strlen(" ip mroute"))) {
+			} else if (!strncmp(line, " ip mroute",
+					    strlen(" ip mroute"))) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (config->index == RMAP_NODE
 				   || config->index == INTERFACE_NODE

If you are a new contributor to FRR, please see our contributing guidelines.

After making changes, you do not need to create a new PR. You should perform an amend or interactive rebase followed by a force push.

@LabN-CI
Copy link
Collaborator

LabN-CI commented Aug 23, 2021

Outdated results 🚧

Basic BGPD CI results: Partial FAILURE, 1 tests failed

_ _
Result SUCCESS git merge/9331 5adc041
Date 08/23/2021
Start 07:53:43
Finish 08:20:08
Run-Time 26:25
Total 1813
Pass 1812
Fail 1
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2021-08-23-07:53:43.txt
Log autoscript-2021-08-23-07:54:58.log.bz2
Memory 482 497 425

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 23, 2021

Continuous Integration Result: SUCCESSFUL

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-21295/

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.

Warnings Generated during build:

Checkout code: Successful with additional warnings
Report for path_nb.c | 2 issues
===============================================
< WARNING: line over 80 characters
< #175: FILE: /tmp/f1-28368/path_nb.c:175:
Report for vtysh_config.c | 2 issues
===============================================
< ERROR: do not use assignment in if condition
< #519: FILE: /tmp/f1-28368/vtysh_config.c:519:

Currently, in frr-reload we:
- store a list of single-line context keywords which needs to be
  frequently updated,
- have a separate "if" clause for every node and subnode we have in FRR.

Instead, we can store the tree of all known FRR nodes. This tree needs
to be updated whenever we add a new node, which is not frequent. And,
most importantly, it allows us to write node-agnostic code and save more
than 250 LOC.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Instead of setting a config_write callback for each node, set a single
callback and print all config from there. It is necessary for the
following work on explicit "exit" command in every node.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
There is a possibility that the same line can be matched as a command in
some node and its parent node. In this case, when reading the config,
this line is always executed as a command of the child node.

For example, with the following config:
```
router ospf
 network 193.168.0.0/16 area 0
!
mpls ldp
 discovery hello interval 111
!
```
Line `mpls ldp` is processed as command `mpls ldp-sync` inside the
`router ospf` node. This leads to a complete loss of `mpls ldp` node
configuration.

To eliminate this issue and all possible similar issues, let's print an
explicit "exit" at the end of every node config.

This commit also changes indentation for a couple of existing exit
commands so that all existing commands are on the same level as their
corresponding node-entering commands.

Fixes FRRouting#9206.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Copy link

@polychaeta polychaeta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution to FRR!

Click for style suggestions

To apply these suggestions:

curl -s https://gist.githubusercontent.com/polychaeta/0a2e13a8e23f0247c4c2a7a62e2970fd/raw/fb987d0b0c824c2f0153335611f05c26177adcbb/cr_9331_1629746176.diff | git apply

diff --git a/babeld/babel_interface.c b/babeld/babel_interface.c
index 615ed9fee..c609a0f19 100644
--- a/babeld/babel_interface.c
+++ b/babeld/babel_interface.c
@@ -1362,8 +1362,8 @@ interface_config_write (struct vty *vty)
                 write++;
             }
         }
-        vty_endframe (vty, "exit\n!\n");
-        write++;
+	vty_endframe(vty, "exit\n!\n");
+	write++;
     }
     return write;
 }
diff --git a/babeld/babeld.c b/babeld/babeld.c
index b9037423b..b4d4c3e44 100644
--- a/babeld/babeld.c
+++ b/babeld/babeld.c
@@ -132,7 +132,7 @@ babel_config_write (struct vty *vty)
 
     lines += config_write_distribute (vty, babel_routing_process->distribute_ctx);
 
-    vty_out (vty, "exit\n");
+    vty_out(vty, "exit\n");
 
     return lines;
 }
diff --git a/ldpd/ldp_vty_conf.c b/ldpd/ldp_vty_conf.c
index fbd718bb0..c4ea86763 100644
--- a/ldpd/ldp_vty_conf.c
+++ b/ldpd/ldp_vty_conf.c
@@ -134,7 +134,7 @@ ldp_af_iface_config_write(struct vty *vty, int af)
 			vty_out (vty, "   discovery hello interval %u\n",
 			    ia->hello_interval);
 
-		vty_out (vty, "  exit\n");
+		vty_out(vty, "  exit\n");
 	}
 }
 
@@ -316,7 +316,7 @@ ldp_config_write(struct vty *vty)
 	ldp_af_config_write(vty, AF_INET, ldpd_conf, &ldpd_conf->ipv4);
 	ldp_af_config_write(vty, AF_INET6, ldpd_conf, &ldpd_conf->ipv6);
 	vty_out (vty, " !\n");
-	vty_out (vty, "exit\n");
+	vty_out(vty, "exit\n");
 	vty_out (vty, "!\n");
 
 	return (1);
@@ -357,7 +357,7 @@ ldp_l2vpn_pw_config_write(struct vty *vty, struct l2vpn_pw *pw)
 	if (missing_pwid)
 		vty_out (vty,"  ! Incomplete config, specify a pw-id\n");
 
-	vty_out (vty, " exit\n");
+	vty_out(vty, " exit\n");
 }
 
 static int
@@ -388,7 +388,7 @@ ldp_l2vpn_config_write(struct vty *vty)
 			ldp_l2vpn_pw_config_write(vty, pw);
 
 		vty_out (vty, " !\n");
-		vty_out (vty, "exit\n");
+		vty_out(vty, "exit\n");
 		vty_out (vty, "!\n");
 	}
 
diff --git a/pathd/path_cli.c b/pathd/path_cli.c
index bd629a2b7..cf7efc6a3 100644
--- a/pathd/path_cli.c
+++ b/pathd/path_cli.c
@@ -60,7 +60,7 @@ static int segment_list_has_prefix(
 
 DEFINE_MTYPE_STATIC(PATHD, PATH_CLI, "Client");
 
-DEFINE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DEFINE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 /* Vty node structures. */
 static struct cmd_node segment_routing_node = {
diff --git a/pathd/pathd.h b/pathd/pathd.h
index 81d7aa910..6476708f2 100644
--- a/pathd/pathd.h
+++ b/pathd/pathd.h
@@ -34,7 +34,7 @@
 
 DECLARE_MGROUP(PATHD);
 
-DECLARE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DECLARE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 enum srte_protocol_origin {
 	SRTE_ORIGIN_UNDEFINED = 0,
diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
index 2e1d7c5ba..cae7d0990 100644
--- a/vtysh/vtysh_config.c
+++ b/vtysh/vtysh_config.c
@@ -281,7 +281,8 @@ void vtysh_config_parse_line(void *arg, const char *line)
 				   || !strncmp(line, " no vrrp",
 					       strlen(" no vrrp"))) {
 				config_add_line(config->line, line);
-			} else if (!strncmp(line, " ip mroute", strlen(" ip mroute"))) {
+			} else if (!strncmp(line, " ip mroute",
+					    strlen(" ip mroute"))) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (config->index == RMAP_NODE
 				   || config->index == INTERFACE_NODE

If you are a new contributor to FRR, please see our contributing guidelines.

After making changes, you do not need to create a new PR. You should perform an amend or interactive rebase followed by a force push.

@qlyoung
Copy link
Member

qlyoung commented Aug 23, 2021

Please ignore @polychaeta, it's having a bad day today.

@qlyoung
Copy link
Member

qlyoung commented Aug 23, 2021

@polychaeta rereview

Copy link

@polychaeta polychaeta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution to FRR!

Click for style suggestions

To apply these suggestions:

curl -s https://gist.githubusercontent.com/polychaeta/8efbaf8fb1ca2865b1afdc1d6c54d064/raw/5a63b9482c75122460aab6f01623815e70ed50c3/cr_9331_1629746589.diff | git apply

diff --git a/pathd/path_cli.c b/pathd/path_cli.c
index bd629a2b7..cf7efc6a3 100644
--- a/pathd/path_cli.c
+++ b/pathd/path_cli.c
@@ -60,7 +60,7 @@ static int segment_list_has_prefix(
 
 DEFINE_MTYPE_STATIC(PATHD, PATH_CLI, "Client");
 
-DEFINE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DEFINE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 /* Vty node structures. */
 static struct cmd_node segment_routing_node = {
diff --git a/pathd/pathd.h b/pathd/pathd.h
index 81d7aa910..6476708f2 100644
--- a/pathd/pathd.h
+++ b/pathd/pathd.h
@@ -34,7 +34,7 @@
 
 DECLARE_MGROUP(PATHD);
 
-DECLARE_HOOK(pathd_srte_config_write, (struct vty *vty), (vty));
+DECLARE_HOOK(pathd_srte_config_write, (struct vty * vty), (vty));
 
 enum srte_protocol_origin {
 	SRTE_ORIGIN_UNDEFINED = 0,
diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
index 2e1d7c5ba..cae7d0990 100644
--- a/vtysh/vtysh_config.c
+++ b/vtysh/vtysh_config.c
@@ -281,7 +281,8 @@ void vtysh_config_parse_line(void *arg, const char *line)
 				   || !strncmp(line, " no vrrp",
 					       strlen(" no vrrp"))) {
 				config_add_line(config->line, line);
-			} else if (!strncmp(line, " ip mroute", strlen(" ip mroute"))) {
+			} else if (!strncmp(line, " ip mroute",
+					    strlen(" ip mroute"))) {
 				config_add_line_uniq_end(config->line, line);
 			} else if (config->index == RMAP_NODE
 				   || config->index == INTERFACE_NODE

If you are a new contributor to FRR, please see our contributing guidelines.

After making changes, you do not need to create a new PR. You should perform an amend or interactive rebase followed by a force push.

@LabN-CI
Copy link
Collaborator

LabN-CI commented Aug 23, 2021

💚 Basic BGPD CI results: SUCCESS, 0 tests failed

Results table
_ _
Result SUCCESS git merge/9331 07679ad
Date 08/23/2021
Start 15:12:17
Finish 15:38:35
Run-Time 26:18
Total 1813
Pass 1813
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2021-08-23-15:12:17.txt
Log autoscript-2021-08-23-15:13:33.log.bz2
Memory 487 497 426

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-21308/

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.

Warnings Generated during build:

Checkout code: Successful with additional warnings
Report for path_nb.c | 2 issues
===============================================
< WARNING: line over 80 characters
< #175: FILE: /tmp/f1-27076/path_nb.c:175:
Report for vtysh_config.c | 2 issues
===============================================
< ERROR: do not use assignment in if condition
< #519: FILE: /tmp/f1-27076/vtysh_config.c:519:

@@ -175,31 +175,27 @@ static struct cmd_node pcep_node = {
.name = "srte pcep",
.node = PCEP_NODE,
.parent_node = SR_TRAFFIC_ENG_NODE,
.config_write = pcep_cli_pcep_config_write,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this function being called somewhere else?

pcep_cli_pcep_pce_config_write(vty);
pcep_cli_pce_config_write(vty);
pcep_cli_pcc_config_write(vty);
vty_out(vty, " exit\n");
return 1;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this function calls these three sub-functions, but all 4 functions were removed above from the *_config_node structures. Is this function being called in some other way?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Answering both comments – this is now called using a hook: hook_register(pathd_srte_config_write, pcep_cli_pcep_config_write);.

A direct call is necessary to control the order of the configuration output. The hook is needed because pcep is a plugin that may or may not be loaded, so it registers itself as a hook user.

# This dictionary contains a tree of all commands that we know start a
# new multi-line context. All other commands are treated either as
# commands inside a multi-line context or as single-line contexts. This
# dictionary should be updated whenever a new node is added to FRR.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems like something that will easily be missed, and then can easily go unnoticed. Any ideas on how to create a test to catch when this happens?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previously it was oneline_ctx_keywords list with single-line config commands. And we regularly updated the list because new single-line commands are frequently added to FRR. Now it's a list of nodes and they are not so frequently added so I consider this as an improvement :)

Regarding the question about catching the missing node, I'll think about it but it looks like a complicated thing. I hope we can merge this without waiting for such a test, given that we had the same problem before, but with single-line commands.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do not need to wait, but I would appreciate some ideas you have on this. The fact that we no longer have to update it as often may in fact lead to more missed updates I think.

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

Successfully merging this pull request may close these issues.

vtysh -b: % Unknown command
7 participants