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

ospf6d: add PtMP interface mode & related bits #9198

Closed
wants to merge 10 commits into from

Conversation

eqvinox
Copy link
Contributor

@eqvinox eqvinox commented Jul 27, 2021

This implements:

  • announcing the router's own addresses as /128 prefix in the Router LSA with the LA bit set (this is a prerequisite for implementing virtual link support too, since this is how the IPv6 address for the other router is found)
  • adds a ipv6 ospf6 neighbor X:X::X:X list under each interface, with cost and poll-interval settings each
  • ipv6 ospf6 p2p-p2mp disable-multicast-hello knob does what the label says
  • ipv6 ospf6 p2p-p2mp config-neighbors-only refuses becoming neighbor/adjacent with routers that aren't in the ipv6 ospf6 neighbor list
  • ipv6 ospf6 p2p-p2mp connected-prefixes <include|exclude> the semantically trickiest one (though code-wise extremely simple) controls whether addresses on the ptp/ptmp interface are announced as /128 or as /128 + (/64 or other prefix len)
  • ipv6 ospf6 network point-to-multipoint, finally, just changes from multicast to unicast for LSDB flooding & updates

User doc should explain everything.

Not fully tested yet, hence draft PR. Tests coming up soon™.

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/09771a37b1672fea61fd072fd6d5379d/raw/e14ce802b22b89674844f0d1450746d3c97f7580/cr_9198_1627402927.diff | git apply

diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c
index f4fadbd68..766fb98af 100644
--- a/ospf6d/ospf6_interface.c
+++ b/ospf6d/ospf6_interface.c
@@ -56,8 +56,8 @@ DEFINE_HOOK(ospf6_interface_change,
 unsigned char conf_debug_ospf6_interface = 0;
 
 const char *const ospf6_interface_state_str[] = {
-	"None",		"Down",	   "Loopback", "Waiting", "PointToPoint",
-	"PtMultipoint", "DROther", "BDR",      "DR",	  NULL};
+	"None",		"Down",    "Loopback", "Waiting", "PointToPoint",
+	"PtMultipoint", "DROther", "BDR",      "DR",      NULL};
 
 struct ospf6_interface *ospf6_interface_lookup_by_ifindex(ifindex_t ifindex,
 							  vrf_id_t vrf_id)
@@ -2458,16 +2458,13 @@ DEFUN (no_ipv6_ospf6_advertise_prefix_list,
 	return CMD_SUCCESS;
 }
 
-DEFUN (ipv6_ospf6_network,
-       ipv6_ospf6_network_cmd,
-       "ipv6 ospf6 network <broadcast|point-to-point|point-to-multipoint>",
-       IP6_STR
-       OSPF6_STR
-       "Network type\n"
-       "Specify OSPF6 broadcast network\n"
-       "Specify OSPF6 point-to-point network\n"
-       "Specify OSPF6 point-to-multipoint network\n"
-       )
+DEFUN(ipv6_ospf6_network, ipv6_ospf6_network_cmd,
+      "ipv6 ospf6 network <broadcast|point-to-point|point-to-multipoint>",
+      IP6_STR OSPF6_STR
+      "Network type\n"
+      "Specify OSPF6 broadcast network\n"
+      "Specify OSPF6 point-to-point network\n"
+      "Specify OSPF6 point-to-multipoint network\n")
 {
 	VTY_DECLVAR_CONTEXT(interface, ifp);
 	int idx_network = 3;
@@ -2542,14 +2539,11 @@ DEFUN (no_ipv6_ospf6_network,
 	return CMD_SUCCESS;
 }
 
-DEFPY (ipv6_ospf6_p2xp_only_cfg_neigh,
-       ipv6_ospf6_p2xp_only_cfg_neigh_cmd,
-       "[no] ipv6 ospf6 p2p-p2mp config-neighbors-only",
-       NO_STR
-       IP6_STR
-       OSPF6_STR
-       "Point-to-point and Point-to-Multipoint parameters\n"
-       "Only form adjacencies with explicitly configured neighbors\n")
+DEFPY(ipv6_ospf6_p2xp_only_cfg_neigh, ipv6_ospf6_p2xp_only_cfg_neigh_cmd,
+      "[no] ipv6 ospf6 p2p-p2mp config-neighbors-only",
+      NO_STR IP6_STR OSPF6_STR
+      "Point-to-point and Point-to-Multipoint parameters\n"
+      "Only form adjacencies with explicitly configured neighbors\n")
 {
 	VTY_DECLVAR_CONTEXT(interface, ifp);
 	struct ospf6_interface *oi = ifp->info;
@@ -2569,14 +2563,12 @@ DEFPY (ipv6_ospf6_p2xp_only_cfg_neigh,
 	return CMD_SUCCESS;
 }
 
-DEFPY (ipv6_ospf6_p2xp_no_multicast_hello,
-       ipv6_ospf6_p2xp_no_multicast_hello_cmd,
-       "[no] ipv6 ospf6 p2p-p2mp disable-multicast-hello",
-       NO_STR
-       IP6_STR
-       OSPF6_STR
-       "Point-to-point and Point-to-Multipoint parameters\n"
-       "Do not send multicast hellos\n")
+DEFPY(ipv6_ospf6_p2xp_no_multicast_hello,
+      ipv6_ospf6_p2xp_no_multicast_hello_cmd,
+      "[no] ipv6 ospf6 p2p-p2mp disable-multicast-hello",
+      NO_STR IP6_STR OSPF6_STR
+      "Point-to-point and Point-to-Multipoint parameters\n"
+      "Do not send multicast hellos\n")
 {
 	VTY_DECLVAR_CONTEXT(interface, ifp);
 	struct ospf6_interface *oi = ifp->info;
@@ -2596,16 +2588,13 @@ DEFPY (ipv6_ospf6_p2xp_no_multicast_hello,
 	return CMD_SUCCESS;
 }
 
-DEFPY (ipv6_ospf6_p2xp_connected_pfx,
-       ipv6_ospf6_p2xp_connected_pfx_cmd,
-       "[no] ipv6 ospf6 p2p-p2mp connected-prefixes <include$incl|exclude$excl>",
-       NO_STR
-       IP6_STR
-       OSPF6_STR
-       "Point-to-point and Point-to-Multipoint parameters\n"
-       "Adjust handling of directly connected prefixes\n"
-       "Advertise prefixes and own /128 (default for PtP)\n"
-       "Ignore, only advertise own /128 (default for PtMP)\n")
+DEFPY(ipv6_ospf6_p2xp_connected_pfx, ipv6_ospf6_p2xp_connected_pfx_cmd,
+      "[no] ipv6 ospf6 p2p-p2mp connected-prefixes <include$incl|exclude$excl>",
+      NO_STR IP6_STR OSPF6_STR
+      "Point-to-point and Point-to-Multipoint parameters\n"
+      "Adjust handling of directly connected prefixes\n"
+      "Advertise prefixes and own /128 (default for PtP)\n"
+      "Ignore, only advertise own /128 (default for PtMP)\n")
 {
 	VTY_DECLVAR_CONTEXT(interface, ifp);
 	struct ospf6_interface *oi = ifp->info;
@@ -2633,14 +2622,11 @@ DEFPY (ipv6_ospf6_p2xp_connected_pfx,
 	return CMD_SUCCESS;
 }
 
-ALIAS (ipv6_ospf6_p2xp_connected_pfx,
-       no_ipv6_ospf6_p2xp_connected_pfx_cmd,
-       "no ipv6 ospf6 p2p-p2mp connected-prefixes",
-       NO_STR
-       IP6_STR
-       OSPF6_STR
-       "Point-to-point and Point-to-Multipoint parameters\n"
-       "Adjust handling of directly connected prefixes\n")
+ALIAS(ipv6_ospf6_p2xp_connected_pfx, no_ipv6_ospf6_p2xp_connected_pfx_cmd,
+      "no ipv6 ospf6 p2p-p2mp connected-prefixes",
+      NO_STR IP6_STR OSPF6_STR
+      "Point-to-point and Point-to-Multipoint parameters\n"
+      "Adjust handling of directly connected prefixes\n")
 
 
 static int config_write_ospf6_interface(struct vty *vty, struct vrf *vrf)
diff --git a/ospf6d/ospf6_interface.h b/ospf6d/ospf6_interface.h
index 970af8fce..d7ed60040 100644
--- a/ospf6d/ospf6_interface.h
+++ b/ospf6d/ospf6_interface.h
@@ -172,16 +172,16 @@ struct ospf6_interface {
 DECLARE_QOBJ_TYPE(ospf6_interface);
 
 /* interface state */
-#define OSPF6_INTERFACE_NONE               0
-#define OSPF6_INTERFACE_DOWN               1
-#define OSPF6_INTERFACE_LOOPBACK           2
-#define OSPF6_INTERFACE_WAITING            3
-#define OSPF6_INTERFACE_POINTTOPOINT       4
-#define OSPF6_INTERFACE_POINTTOMULTIPOINT  5
-#define OSPF6_INTERFACE_DROTHER            6
-#define OSPF6_INTERFACE_BDR                7
-#define OSPF6_INTERFACE_DR                 8
-#define OSPF6_INTERFACE_MAX                9
+#define OSPF6_INTERFACE_NONE 0
+#define OSPF6_INTERFACE_DOWN 1
+#define OSPF6_INTERFACE_LOOPBACK 2
+#define OSPF6_INTERFACE_WAITING 3
+#define OSPF6_INTERFACE_POINTTOPOINT 4
+#define OSPF6_INTERFACE_POINTTOMULTIPOINT 5
+#define OSPF6_INTERFACE_DROTHER 6
+#define OSPF6_INTERFACE_BDR 7
+#define OSPF6_INTERFACE_DR 8
+#define OSPF6_INTERFACE_MAX 9
 
 extern const char *const ospf6_interface_state_str[];
 
diff --git a/ospf6d/ospf6_neighbor.c b/ospf6d/ospf6_neighbor.c
index 13b9df23f..86550da0b 100644
--- a/ospf6d/ospf6_neighbor.c
+++ b/ospf6d/ospf6_neighbor.c
@@ -715,14 +715,11 @@ static void p2xp_neigh_refresh(struct ospf6_neighbor *on, uint32_t prev_cost)
 #include "ospf6d/ospf6_neighbor_clippy.c"
 #endif
 
-DEFPY (ipv6_ospf6_p2xp_neigh,
-       ipv6_ospf6_p2xp_neigh_cmd,
-       "[no] ipv6 ospf6 neighbor X:X::X:X",
-       NO_STR
-       IP6_STR
-       OSPF6_STR
-       "Configure static neighbor\n"
-       "Neighbor link-local address\n")
+DEFPY(ipv6_ospf6_p2xp_neigh, ipv6_ospf6_p2xp_neigh_cmd,
+      "[no] ipv6 ospf6 neighbor X:X::X:X",
+      NO_STR IP6_STR OSPF6_STR
+      "Configure static neighbor\n"
+      "Neighbor link-local address\n")
 {
 	VTY_DECLVAR_CONTEXT(interface, ifp);
 	struct ospf6_interface *oi = ifp->info;
@@ -760,16 +757,13 @@ DEFPY (ipv6_ospf6_p2xp_neigh,
 	return CMD_SUCCESS;
 }
 
-DEFPY (ipv6_ospf6_p2xp_neigh_cost,
-       ipv6_ospf6_p2xp_neigh_cost_cmd,
-       "[no] ipv6 ospf6 neighbor X:X::X:X cost (1-65535)",
-       NO_STR
-       IP6_STR
-       OSPF6_STR
-       "Configure static neighbor\n"
-       "Neighbor link-local address\n"
-       "Outgoing metric for this neighbor\n"
-       "Outgoing metric for this neighbor\n")
+DEFPY(ipv6_ospf6_p2xp_neigh_cost, ipv6_ospf6_p2xp_neigh_cost_cmd,
+      "[no] ipv6 ospf6 neighbor X:X::X:X cost (1-65535)",
+      NO_STR IP6_STR OSPF6_STR
+      "Configure static neighbor\n"
+      "Neighbor link-local address\n"
+      "Outgoing metric for this neighbor\n"
+      "Outgoing metric for this neighbor\n")
 {
 	VTY_DECLVAR_CONTEXT(interface, ifp);
 	struct ospf6_interface *oi = ifp->info;
@@ -841,16 +835,14 @@ static int p2xp_unicast_hello_send(struct thread *thread)
 	return 0;
 }
 
-DEFPY (ipv6_ospf6_p2xp_neigh_poll_interval,
-       ipv6_ospf6_p2xp_neigh_poll_interval_cmd,
-       "[no] ipv6 ospf6 neighbor X:X::X:X poll-interval (1-65535)",
-       NO_STR
-       IP6_STR
-       OSPF6_STR
-       "Configure static neighbor\n"
-       "Neighbor link-local address\n"
-       "Send unicast hellos to neighbor when down\n"
-       "Unicast hello interval when down (seconds)\n")
+DEFPY(ipv6_ospf6_p2xp_neigh_poll_interval,
+      ipv6_ospf6_p2xp_neigh_poll_interval_cmd,
+      "[no] ipv6 ospf6 neighbor X:X::X:X poll-interval (1-65535)",
+      NO_STR IP6_STR OSPF6_STR
+      "Configure static neighbor\n"
+      "Neighbor link-local address\n"
+      "Send unicast hellos to neighbor when down\n"
+      "Unicast hello interval when down (seconds)\n")
 {
 	VTY_DECLVAR_CONTEXT(interface, ifp);
 	struct ospf6_interface *oi = ifp->info;

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 Jul 27, 2021

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git merge/9198 4f49645
Date 07/27/2021
Start 14:52:51
Finish 15:18:27
Run-Time 25:36
Total 1813
Pass 1813
Fail 0
Valgrind-Errors
Valgrind-Loss
Details vncregress-2021-07-27-14:52:51.txt
Log autoscript-2021-07-27-14:54:07.log.bz2
Memory 501 502 414

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Jul 27, 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-20579/

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 ospf6_interface.c | 2 issues
===============================================
< WARNING: braces {} are not necessary for single statement blocks
< #2526: FILE: /tmp/f1-1084/ospf6_interface.c:2526:
Report for ospf6_neighbor.c | 6 issues
===============================================
< WARNING: Missing a blank line after declarations
< #787: FILE: /tmp/f1-1084/ospf6_neighbor.c:787:
< WARNING: space prohibited between function name and open parenthesis '('
< #822: FILE: /tmp/f1-1084/ospf6_neighbor.c:822:
< WARNING: space prohibited between function name and open parenthesis '('
< #1536: FILE: /tmp/f1-1084/ospf6_neighbor.c:1536:

CLANG Static Analyzer Summary

  • Github Pull Request 9198, comparing to Git base SHA 42ac787
  • Base image data for Git 42ac787 does not exist - compare skipped

1 Static Analyzer issues remaining.

See details at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20579/artifact/shared/static_analysis/index.html

#define OSPF6_INTERFACE_BDR 6
#define OSPF6_INTERFACE_DR 7
#define OSPF6_INTERFACE_MAX 8
#define OSPF6_INTERFACE_NONE 0
Copy link
Member

Choose a reason for hiding this comment

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

blech white space change

Copy link
Contributor Author

Choose a reason for hiding this comment

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

POINTTOMULTIPOINT is longer than the other names… without the whitespace change it's this:

#define OSPF6_INTERFACE_WAITING          3
#define OSPF6_INTERFACE_POINTTOPOINT     4
#define OSPF6_INTERFACE_POINTTOMULTIPOINT 5
#define OSPF6_INTERFACE_DROTHER          6
#define OSPF6_INTERFACE_BDR              7

⇒ I'd say the whitespace change is appropriate.

Copy link
Member

Choose a reason for hiding this comment

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

agreed

@donaldsharp
Copy link
Member

topotests and SA issue introduced

Copy link
Member

@riw777 riw777 left a comment

Choose a reason for hiding this comment

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

looks good so far ... let me know when this is done and I'll take another look

- distinct costs can be set for each pair of routers and direction

The main downside is less efficient flooding on networks with a large number
of OSPFv3 routers.
Copy link
Member

Choose a reason for hiding this comment

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

There's actually another downside, but I don't know if it's worth going into in the comments. :-) With the DR, all the routers on a single broadcast interface look like a hub-and-spoke rather than a full mesh. This reduces the size of the spt, so spf can calculate just a hair faster. It's not a "thing" in most networks and on most processors now, but way back in the day when all our server room floors were dirt, it made a difference. :-)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's kinda listed as an advantage because the very same thing allows you to control metrics in a n×m manner 😄 … but yeah that's another reason why I put the "advanced options, make sure you know what you're doing" above.

ospf6d/ospf6_interface.c Show resolved Hide resolved
@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 2, 2021

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

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

Checkout code: Failed (click for details)

PullReq merge failed. Please rebase your branch:
see merge log in attachment https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20717/artifact/CHECKOUT/ErrorLog/log_merge.txt

@LabN-CI
Copy link
Collaborator

LabN-CI commented Aug 2, 2021

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git pull/9198 801f69f (merge failed)
Date 08/02/2021
Start 11:51:30
Finish 12:17:06
Run-Time 25:36
Total 1813
Pass 1813
Fail 0
Valgrind-Errors
Valgrind-Loss
Details vncregress-2021-08-02-11:51:30.txt
Log autoscript-2021-08-02-11:52:50.log.bz2
Memory 495 491 414

For details, please contact louberger

@eqvinox
Copy link
Contributor Author

eqvinox commented Aug 4, 2021

(I'm aware this needs to be rebased. It's a DRAFT. I pushed it out for visibility and to avoid duplicate work. Due to priorities/resource allocations, this is probably going to sit here for a bit.)

@riw777 riw777 self-requested a review August 10, 2021 13:30
Copy link
Member

@riw777 riw777 left a comment

Choose a reason for hiding this comment

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

looks okay to me ... let me know when you want to pull this out of draft state and do a final review

@LabN-CI
Copy link
Collaborator

LabN-CI commented Aug 27, 2021

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git merge/9198 7bd5f0d
Date 08/27/2021
Start 06:06:03
Finish 06:32:29
Run-Time 26:26
Total 1813
Pass 1813
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2021-08-27-06:06:03.txt
Log autoscript-2021-08-27-06:07:17.log.bz2
Memory 517 515 424

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 27, 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-21424/

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 ospf6_interface.c | 2 issues
===============================================
< WARNING: braces {} are not necessary for single statement blocks
< #2554: FILE: /tmp/f1-16854/ospf6_interface.c:2554:
Report for ospf6_neighbor.c | 6 issues
===============================================
< WARNING: Missing a blank line after declarations
< #811: FILE: /tmp/f1-16854/ospf6_neighbor.c:811:
< WARNING: space prohibited between function name and open parenthesis '('
< #846: FILE: /tmp/f1-16854/ospf6_neighbor.c:846:
< WARNING: space prohibited between function name and open parenthesis '('
< #1560: FILE: /tmp/f1-16854/ospf6_neighbor.c:1560:

CLANG Static Analyzer Summary

  • Github Pull Request 9198, comparing to Git base SHA 3e386e9
  • Base image data for Git 3e386e9 does not exist - compare skipped

1 Static Analyzer issues remaining.

See details at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-21424/artifact/shared/static_analysis/index.html

Copy link
Member

@riw777 riw777 left a comment

Choose a reason for hiding this comment

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

waiting on merge conflicts

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

This function is not implemented anywhere.  Not sure it ever existed.

Signed-off-by: David Lamparter <[email protected]>
Both for virtual links and correct PtMP operation, advertising local
addresses as Intra-Prefix with LA set is a prerequisite.  Add the
appropriate entries.

Signed-off-by: David Lamparter <[email protected]>
For PtMP the cost may need to be recalculated when the LL addr changes
(since neighbors are configured by LL addr and a different entry with a
different cost may match.)

Signed-off-by: David Lamparter <[email protected]>
Add a list of configured neighbors for each interface.  Only stores cost
(and "existence") for now.

Signed-off-by: David Lamparter <[email protected]>
This adds a knob to refuse forming adjacencies with neighbors not listed
in the config.  Only works on PtP/PtMP of course, otherwise the DR/BDR
machinery gets broken.

Signed-off-by: David Lamparter <[email protected]>
With the configured neighbor list, unicast hellos can be sent.  Allow
disabling multicast hellos for that scenario.

Signed-off-by: David Lamparter <[email protected]>
Some lower layers still don't handle multicast correctly (or
efficiently.)  Add option to send unicast hellos on explicitly
configured neighbors for PtP/PtMP.

Signed-off-by: David Lamparter <[email protected]>
This adds the PtMP interface type, which is effectively identical to PtP
except that all the database flooding & updates are unicast.

Signed-off-by: David Lamparter <[email protected]>
To announce connected prefixes, or not to announce connected prefixes,
that is the question...

Signed-off-by: David Lamparter <[email protected]>
Update & add docs for all the stuff in the previous 10-ish commits.

Signed-off-by: David Lamparter <[email protected]>
@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: FAILED

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

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 amd64 part 9: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18AMD64-9625/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 9
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-9625/artifact/TOPO9U18AMD64/TopotestLogs/log_topotests.txt

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

Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18I386-9625/test

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 9
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-9625/artifact/TOPO9U18I386/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 i386 part 9: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-9625/artifact/TOPO9U18I386/TopotestDetails/

Topotests Ubuntu 18.04 arm8 part 9: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 9: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-9625/artifact/TOPO9U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 9: No useful log found
Successful on other platforms/tests
  • Topotests Ubuntu 18.04 amd64 part 8
  • Topotests debian 10 amd64 part 7
  • Static analyzer (clang)
  • Topotests Ubuntu 18.04 arm8 part 0
  • Debian 9 deb pkg check
  • Addresssanitizer topotests part 8
  • Topotests debian 10 amd64 part 2
  • Debian 10 deb pkg check
  • Topotests Ubuntu 18.04 amd64 part 6
  • Topotests Ubuntu 18.04 arm8 part 5
  • Topotests Ubuntu 18.04 amd64 part 1
  • Addresssanitizer topotests part 6
  • Ubuntu 18.04 deb pkg check
  • Ubuntu 20.04 deb pkg check
  • Topotests debian 10 amd64 part 1
  • Addresssanitizer topotests part 5
  • Topotests Ubuntu 18.04 arm8 part 1
  • Topotests debian 10 amd64 part 6
  • Addresssanitizer topotests part 0
  • Topotests debian 10 amd64 part 4
  • Addresssanitizer topotests part 4
  • Topotests debian 10 amd64 part 3
  • Addresssanitizer topotests part 1
  • Topotests Ubuntu 18.04 arm8 part 3
  • Topotests Ubuntu 18.04 i386 part 4
  • Addresssanitizer topotests part 9
  • Topotests Ubuntu 18.04 amd64 part 3
  • Topotests debian 10 amd64 part 5
  • Topotests debian 10 amd64 part 0
  • Ubuntu 16.04 deb pkg check
  • Topotests Ubuntu 18.04 arm8 part 2
  • Topotests Ubuntu 18.04 arm8 part 7
  • Topotests Ubuntu 18.04 i386 part 1
  • Addresssanitizer topotests part 7
  • Topotests Ubuntu 18.04 arm8 part 8
  • Topotests Ubuntu 18.04 i386 part 7
  • Topotests Ubuntu 18.04 i386 part 6
  • Topotests Ubuntu 18.04 amd64 part 5
  • Topotests Ubuntu 18.04 i386 part 2
  • Topotests Ubuntu 18.04 arm8 part 6
  • Topotests Ubuntu 18.04 amd64 part 2
  • Topotests Ubuntu 18.04 i386 part 3
  • Topotests Ubuntu 18.04 amd64 part 7
  • Fedora 29 rpm pkg check
  • Topotests Ubuntu 18.04 i386 part 5
  • Topotests Ubuntu 18.04 i386 part 8
  • Addresssanitizer topotests part 3
  • Topotests debian 10 amd64 part 8
  • Topotests Ubuntu 18.04 i386 part 0
  • Topotests Ubuntu 18.04 arm8 part 4
  • Topotests debian 10 amd64 part 9
  • Topotests Ubuntu 18.04 amd64 part 4
  • CentOS 7 rpm pkg check
  • Addresssanitizer topotests part 2
  • Topotests Ubuntu 18.04 amd64 part 0

Warnings Generated during build:

Checkout code: Successful with additional warnings
Topotests Ubuntu 18.04 amd64 part 9: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18AMD64-9625/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 9
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-9625/artifact/TOPO9U18AMD64/TopotestLogs/log_topotests.txt

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

Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18I386-9625/test

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 9
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-9625/artifact/TOPO9U18I386/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 i386 part 9: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-9625/artifact/TOPO9U18I386/TopotestDetails/

Topotests Ubuntu 18.04 arm8 part 9: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 9: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-9625/artifact/TOPO9U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 9: No useful log found
Report for ospf6_interface.c | 2 issues
===============================================
< WARNING: braces {} are not necessary for single statement blocks
< #2607: FILE: /tmp/f1-934817/ospf6_interface.c:2607:
Report for ospf6_neighbor.c | 2 issues
===============================================
< WARNING: Missing a blank line after declarations
< #792: FILE: /tmp/f1-934817/ospf6_neighbor.c:792:

CLANG Static Analyzer Summary

  • Github Pull Request 9198, comparing to Git base SHA 7809df2
  • Base image data for Git 7809df2 does not exist - compare skipped

1 Static Analyzer issues remaining.

See details at
https://ci1.netdef.org/browse/FRR-PULLREQ2-9625/artifact/shared/static_analysis/index.html

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@rzalamena
Copy link
Member

A newer version of this PR was merged in #14546 so this is no longer needed.

@rzalamena rzalamena closed this Nov 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants