-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Feature: IS-IS triggered hello #3174
Feature: IS-IS triggered hello #3174
Conversation
} | ||
|
||
if (circuit->circ_type != CIRCUIT_T_BROADCAST) { | ||
zlog_warn("%s: encountered unknown circuit type %d on %s", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question to broader audience, while isis has not been converted to using the new flog_XXX code, should we insist on new warnings/errors be converted now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might make more sense to do a request to change all the zlog's to flog's at once (?)... I'm not certain about mixing these changes into other fixes, probably better to separate them (?).
This comment has been minimized.
This comment has been minimized.
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
To me, it looks correct:
Originally it divided by 1000000 to calculate `thread_timer_remain`
(seconds).
Now it divides by 1000 to calculate `thread_timer_remain_msec` which in
turn is divided by 1000 to calculate `thread_timer_remain`.
As to the usecase: I have a timer which usually is always pending and in
the seconds range. On specific events I want to advance this timer so to
expire e.g. in 0.1sec. However if the timer is already pending to expire in
e.g. 0.05sec, I don't want to make any changes to it. To me, looking at its
remaining time in msec seems like the most straightforward thing to do for
achieving this.
(There is already a function returning remaining time with microsecond
precision. However the result needs to be converted from `struct timeval`
and I'd rather have this implemented once than all over the place)
On Oct 15, 2018 12:41 AM, "Donald Sharp" <notifications@github.com> wrote:
*@donaldsharp* commented on this pull request.
------------------------------
In lib/thread.c
<#3174 (comment)>:
}
pthread_mutex_unlock(&thread->mtx);
return remain < 0 ? 0 : remain;
}
+/* Return remain time in seconds. */
+unsigned long thread_timer_remain_second(struct thread *thread)
+{
+ return thread_timer_remain_msec(thread) / 1000LL;
2 things:
1. shouldn't that be 1000000LL instead?
2. Why not just use thread_timer_remain? Does that no give you the
accuracty you want?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#3174 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABSN69tWg4nJ2S4K70QPBRZ-lx3hmWF_ks5uk720gaJpZM4XbXPN>
.
|
Sounds like a sensible thing to do. I will look into it.
…On Mon, Oct 15, 2018, 00:53 Donald Sharp ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In isisd/isis_pdu.c
<#3174 (comment)>:
> +
+ thread_add_timer_msec(master, send_hello_cb, circuit,
+ isis_jitter(delay, IIH_JITTER),
+ threadp);
+}
+
+void send_hello_sched(struct isis_circuit *circuit, int level, long delay)
+{
+ if (circuit->circ_type == CIRCUIT_T_P2P) {
+ _send_hello_sched(circuit, &circuit->u.p2p.t_send_p2p_hello,
+ delay);
+ return;
+ }
+
+ if (circuit->circ_type != CIRCUIT_T_BROADCAST) {
+ zlog_warn("%s: encountered unknown circuit type %d on %s",
Question to broader audience, while isis has not been converted to using
the new flog_XXX code, should we insist on new warnings/errors be converted
now?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#3174 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABSN6x-lrhbljtMxutJtJsQFScggSOyYks5uk8BxgaJpZM4XbXPN>
.
|
I will look into these test failures.
…On Mon, Oct 15, 2018, 01:29 NetDEF-CI ***@***.***> wrote:
Continuous Integration Result: FAILED
See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-5634/
This is a comment from an EXPERIMENTAL 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 and apply patch from patchwork: Successful Building Stage:
Successful Basic Tests: Failed
*CentOS 6 rpm pkg check: Successful*
*Debian 9 deb pkg check: Successful*
*Ubuntu 12.04 deb pkg check: Successful*
*Static analyzer (clang): Successful*
*Ubuntu 16.04 deb pkg check: Successful*
*CentOS 7 rpm pkg check: Successful*
*IPv4 ldp protocol on Ubuntu 16.04: Successful*
*Ubuntu 14.04 deb pkg check: Successful*
*Addresssanitizer topotest: Successful*
*Debian 8 deb pkg check: Successful*
*Fedora 24 rpm pkg check: Successful*
Topology tests on Ubuntu 16.04 amd64: Failed
Topology Test Results are at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-5634/test
*Topology Tests failed for Topology tests on Ubuntu 16.04 amd64*:
2018-10-14 15:56:33,032 ERROR: 'compare_isis_topology' failed after 89.55 seconds
2018-10-14 15:56:33,054 ERROR: assert failed at "test_isis_topo1/test_isis_convergence": ISIS did not converge on r4:
<lib.topotest.json_cmp_result object at 0x7fca20dd5050>
assert False
2018-10-14 15:56:33,850 ERROR: assert failed at "test_isis_topo1/test_isis_route_installation": Router 'r4' routes mismatch
assert expected key(s) [u'10.254.0.2/32'] in json (have [u'10.0.11.0/24', u'10.0.21.0/24', u'10.254.0.4/32'] <http://10.254.0.4/32'%5D>):
--- Expected value
+++ Current value
@@ -3,0 +4,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -8,0 +11 @@
+ "flags": 3,
@@ -15 +18,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43"
@@ -20,14 +24,2 @@
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "afi": "ipv4",
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.0.21.0/24",
- "protocol": "isis"
- },
- {
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -38,0 +31 @@
+ "flags": 3,
@@ -45,20 +38,2 @@
- "selected": true
- }
- ],
- "10.254.0.2/32": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv4",
- "fib": true,
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.254.0.2/32",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43"
@@ -68,0 +44,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -73,0 +51 @@
+ "flags": 3,
@@ -80 +58,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43"
json too few items (have 1, expected 2:
--- Expected value
+++ Current value
@@ -3,14 +3,2 @@
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "afi": "ipv4",
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.0.21.0/24",
- "protocol": "isis"
- },
- {
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -21,0 +10 @@
+ "flags": 3,
@@ -28 +17,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43")
2018-10-14 15:56:34,470 ERROR: assert failed at "test_isis_topo1/test_isis_linux_route_installation": Router 'r4' OS routes mismatch
assert expected key(s) [u'10.0.10.0/24', u'10.254.0.5', u'10.254.0.2', u'10.254.0.3', u'10.0.20.0/24'] in json (have ['10.0.11.0/24', '10.0.21.0/24'] <http://10.0.21.0/24'%5D>):
--- Expected value
+++ Current value
@@ -2 +2 @@
- "10.0.10.0/24": {
+ "10.0.11.0/24": {
@@ -4,3 +4,2 @@
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
+ "proto": "kernel",
+ "scope": "link"
@@ -8,7 +7 @@
- "10.0.20.0/24": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
- },
- "10.254.0.2": {
+ "10.0.21.0/24": {
@@ -16,15 +9,2 @@
- "metric": "20",
- "proto": "187",
- "via": "10.0.21.2"
- },
- "10.254.0.3": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
- },
- "10.254.0.5": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
+ "proto": "kernel",
+ "scope": "link"
2018-10-14 15:56:35,204 ERROR: assert failed at "test_isis_topo1/test_isis_route6_installation": Router 'r4' routes mismatch
assert expected key(s) [u'2001:db8:2:1::/64', u'2001:db8:f::3/128', u'2001:db8:f::5/128', u'2001:db8:f::2/128', u'2001:db8:1:1::/64'] in json (have [u'2001:db8:2:2::/64', u'2001:db8:1:2::/64', u'fe80::/64', u'2001:db8:f::4/128']):
--- Expected value
+++ Current value
@@ -2,18 +1,0 @@
- "2001:db8:1:1::/64": [
- {
- "distance": 115,
- "metric": 20,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:1:1::/64",
- "protocol": "isis",
- "selected": true
- }
- ],
@@ -21,0 +4,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -26,0 +11 @@
+ "flags": 3,
@@ -33,19 +18,2 @@
- "selected": true
- }
- ],
- "2001:db8:2:1::/64": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:2:1::/64",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43"
@@ -55,0 +24,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -60,0 +31 @@
+ "flags": 3,
@@ -67,37 +38,2 @@
- "selected": true
- }
- ],
- "2001:db8:f::2/128": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0"
- }
- ],
- "prefix": "2001:db8:f::2/128",
- "protocol": "isis",
- "selected": true
- }
- ],
- "2001:db8:f::3/128": [
- {
- "distance": 115,
- "metric": 20,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:f::3/128",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43"
@@ -107,0 +44,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -112,0 +51 @@
+ "flags": 3,
@@ -119 +58,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:45"
@@ -122 +62 @@
- "2001:db8:f::5/128": [
+ "fe80::/64": [
@@ -124,2 +64,2 @@
- "distance": 115,
- "metric": 10,
+ "internalFlags": 0,
+ "internalStatus": 2,
@@ -129 +69 @@
- "afi": "ipv6",
+ "directlyConnected": true,
@@ -130,0 +71,18 @@
+ "flags": 3,
+ "interfaceIndex": 2,
+ "interfaceName": "r4-eth0"
+ }
+ ],
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "uptime": "00:01:41"
+ },
+ {
+ "internalFlags": 0,
+ "internalStatus": 2,
+ "nexthops": [
+ {
+ "active": true,
+ "directlyConnected": true,
+ "fib": true,
+ "flags": 3,
@@ -135,3 +93,21 @@
- "prefix": "2001:db8:f::5/128",
- "protocol": "isis",
- "selected": true
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "uptime": "00:01:41"
+ },
+ {
+ "internalFlags": 16,
+ "internalStatus": 0,
+ "nexthops": [
+ {
+ "active": true,
+ "directlyConnected": true,
+ "fib": true,
+ "flags": 3,
+ "interfaceIndex": 1,
+ "interfaceName": "lo"
+ }
+ ],
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "selected": true,
+ "uptime": "00:01:43"
2018-10-14 15:56:35,856 ERROR: assert failed at "test_isis_topo1/test_isis_linux_route6_installation": Router 'r4' OS routes mismatch
assert expected key(s) [u'2001:db8:2:1::/64', u'2001:db8:f::2', u'2001:db8:f::3', u'2001:db8:1:1::/64', u'2001:db8:f::5'] in json (have ['2001:db8:2:2::/64', '2001:db8:1:2::/64', 'fe80::/64', 'unreachable']):
--- Expected value
+++ Current value
@@ -2 +2,7 @@
- "2001:db8:1:1::/64": {
+ "2001:db8:1:2::/64": {
+ "dev": "r4-eth0",
+ "metric": "256",
+ "pref": "medium",
+ "proto": "kernel"
+ },
+ "2001:db8:2:2::/64": {
@@ -4 +10 @@
- "metric": "20",
+ "metric": "256",
@@ -6 +12 @@
- "proto": "187"
+ "proto": "kernel"
@@ -8 +14 @@
- "2001:db8:2:1::/64": {
+ "fe80::/64": {
@@ -10 +16 @@
- "metric": "20",
+ "metric": "256",
@@ -12 +18 @@
- "proto": "187"
+ "proto": "kernel"
@@ -14,3 +20,3 @@
- "2001:db8:f::2": {
- "dev": "r4-eth0",
- "metric": "20",
+ "unreachable": {
+ "dev": "lo",
+ "metric": "256",
@@ -18,13 +24 @@
- "proto": "187"
- },
- "2001:db8:f::3": {
- "dev": "r4-eth1",
- "metric": "20",
- "pref": "medium",
- "proto": "187"
- },
- "2001:db8:f::5": {
- "dev": "r4-eth1",
- "metric": "20",
- "pref": "medium",
- "proto": "187"
+ "proto": "kernel"
*** defaultIntf: warning: lm has no interfaces
see full log at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-5634/artifact/TOPOU1604/ErrorLog/log_topotests.txt
IPv4 protocols on Ubuntu 14.04: Failed
*RFC Compliance Test ANVL-ISIS-17.1 failing*:
Test Summary
If there is no path from source to destination made up of routers,
which supports that particular type of service, then the packet will
forwarded using default metric
Test Reference
RFC 1195 S3.5 P23 Type of Service Routing
Test Classification
MUST
Test ANVL-ISIS-17.1: !FAILED!
Level 1 adjacency on DIface-0 is not established
IPv6 protocols on Ubuntu 14.04: Failed
*RFC Compliance Test ANVL-ISISV6-1.25 failing*:
Test Summary
For LSPs the "Interfaces Address" TLVs MUST contain only the
non-link-local IPv6 addresses assigned to the IS.
Test Reference
RFC 5308 s3 p4 IPv6 Interface Address TLV
Test Classification
MUST
Test ANVL-ISISV6-1.25: !FAILED!
Level 1 adjacency is not established
*RFC Compliance Test ANVL-ISISV6-17.15 failing*:
Test Summary
If a prefix is advertised with a metric larger than
MAX_V6_PATH_METRIC (0xFE000000), this prefix MUST not
be considered during the normal SPF computation.
Test Reference
RFC 5308, s2, p3 IPv6 Reachability TLV
Test Classification
MUST
Test ANVL-ISISV6-17.15: !FAILED!
Level 1 adjacency on DIface-1 is not established
Topotest tests on Ubuntu 16.04 i386: Failed
Topology Test Results are at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOI386-5634/test
*Topology Tests failed for Topotest tests on Ubuntu 16.04 i386*:
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
2018-10-14 15:56:19,076 ERROR: 'compare_isis_topology' failed after 91.85 seconds
2018-10-14 15:56:19,082 ERROR: assert failed at "test_isis_topo1/test_isis_convergence": ISIS did not converge on r4:
<lib.topotest.json_cmp_result object at 0xb7998a2c>
assert False
2018-10-14 15:56:19,943 ERROR: assert failed at "test_isis_topo1/test_isis_route_installation": Router 'r4' routes mismatch
assert expected key(s) [u'10.254.0.2/32'] in json (have [u'10.0.11.0/24', u'10.0.21.0/24', u'10.254.0.4/32'] <http://10.254.0.4/32'%5D>):
--- Expected value
+++ Current value
@@ -3,0 +4,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -8,0 +11 @@
+ "flags": 3,
@@ -15 +18,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:45"
@@ -20,14 +24,2 @@
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "afi": "ipv4",
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.0.21.0/24",
- "protocol": "isis"
- },
- {
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -38,0 +31 @@
+ "flags": 3,
@@ -45,20 +38,2 @@
- "selected": true
- }
- ],
- "10.254.0.2/32": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv4",
- "fib": true,
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.254.0.2/32",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:45"
@@ -68,0 +44,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -73,0 +51 @@
+ "flags": 3,
@@ -80 +58,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:45"
json too few items (have 1, expected 2:
--- Expected value
+++ Current value
@@ -3,14 +3,2 @@
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "afi": "ipv4",
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.0.21.0/24",
- "protocol": "isis"
- },
- {
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -21,0 +10 @@
+ "flags": 3,
@@ -28 +17,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:45")
2018-10-14 15:56:20,583 ERROR: assert failed at "test_isis_topo1/test_isis_linux_route_installation": Router 'r4' OS routes mismatch
assert expected key(s) [u'10.0.10.0/24', u'10.254.0.5', u'10.254.0.2', u'10.254.0.3', u'10.0.20.0/24'] in json (have ['10.0.11.0/24', '10.0.21.0/24'] <http://10.0.21.0/24'%5D>):
--- Expected value
+++ Current value
@@ -2 +2 @@
- "10.0.10.0/24": {
+ "10.0.11.0/24": {
@@ -4,3 +4,2 @@
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
+ "proto": "kernel",
+ "scope": "link"
@@ -8,7 +7 @@
- "10.0.20.0/24": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
- },
- "10.254.0.2": {
+ "10.0.21.0/24": {
@@ -16,15 +9,2 @@
- "metric": "20",
- "proto": "187",
- "via": "10.0.21.2"
- },
- "10.254.0.3": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
- },
- "10.254.0.5": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
+ "proto": "kernel",
+ "scope": "link"
2018-10-14 15:56:21,374 ERROR: assert failed at "test_isis_topo1/test_isis_route6_installation": Router 'r4' routes mismatch
assert expected key(s) [u'2001:db8:2:1::/64', u'2001:db8:f::3/128', u'2001:db8:f::5/128', u'2001:db8:f::2/128', u'2001:db8:1:1::/64'] in json (have [u'2001:db8:2:2::/64', u'2001:db8:1:2::/64', u'fe80::/64', u'2001:db8:f::4/128']):
--- Expected value
+++ Current value
@@ -2,18 +1,0 @@
- "2001:db8:1:1::/64": [
- {
- "distance": 115,
- "metric": 20,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:1:1::/64",
- "protocol": "isis",
- "selected": true
- }
- ],
@@ -21,0 +4,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -26,0 +11 @@
+ "flags": 3,
@@ -33,19 +18,2 @@
- "selected": true
- }
- ],
- "2001:db8:2:1::/64": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:2:1::/64",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:46"
@@ -55,0 +24,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -60,0 +31 @@
+ "flags": 3,
@@ -67,37 +38,2 @@
- "selected": true
- }
- ],
- "2001:db8:f::2/128": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0"
- }
- ],
- "prefix": "2001:db8:f::2/128",
- "protocol": "isis",
- "selected": true
- }
- ],
- "2001:db8:f::3/128": [
- {
- "distance": 115,
- "metric": 20,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:f::3/128",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:46"
@@ -107,0 +44,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -112,0 +51 @@
+ "flags": 3,
@@ -119 +58,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:47"
@@ -122 +62 @@
- "2001:db8:f::5/128": [
+ "fe80::/64": [
@@ -124,2 +64,2 @@
- "distance": 115,
- "metric": 10,
+ "internalFlags": 0,
+ "internalStatus": 2,
@@ -129 +69 @@
- "afi": "ipv6",
+ "directlyConnected": true,
@@ -130,0 +71 @@
+ "flags": 3,
@@ -135,3 +76,38 @@
- "prefix": "2001:db8:f::5/128",
- "protocol": "isis",
- "selected": true
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "uptime": "00:01:44"
+ },
+ {
+ "internalFlags": 0,
+ "internalStatus": 0,
+ "nexthops": [
+ {
+ "active": true,
+ "directlyConnected": true,
+ "fib": true,
+ "flags": 3,
+ "interfaceIndex": 2,
+ "interfaceName": "r4-eth0"
+ }
+ ],
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "uptime": "00:01:44"
+ },
+ {
+ "internalFlags": 16,
+ "internalStatus": 0,
+ "nexthops": [
+ {
+ "active": true,
+ "directlyConnected": true,
+ "fib": true,
+ "flags": 3,
+ "interfaceIndex": 1,
+ "interfaceName": "lo"
+ }
+ ],
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "selected": true,
+ "uptime": "00:01:45"
2018-10-14 15:56:22,009 ERROR: assert failed at "test_isis_topo1/test_isis_linux_route6_installation": Router 'r4' OS routes mismatch
assert expected key(s) [u'2001:db8:2:1::/64', u'2001:db8:f::2', u'2001:db8:f::3', u'2001:db8:1:1::/64', u'2001:db8:f::5'] in json (have ['2001:db8:2:2::/64', '2001:db8:1:2::/64', 'fe80::/64', 'unreachable']):
--- Expected value
+++ Current value
@@ -2 +2,7 @@
- "2001:db8:1:1::/64": {
+ "2001:db8:1:2::/64": {
+ "dev": "r4-eth0",
+ "metric": "256",
+ "pref": "medium",
+ "proto": "kernel"
+ },
+ "2001:db8:2:2::/64": {
@@ -4 +10 @@
- "metric": "20",
+ "metric": "256",
@@ -6 +12 @@
- "proto": "187"
+ "proto": "kernel"
@@ -8 +14 @@
- "2001:db8:2:1::/64": {
+ "fe80::/64": {
@@ -10 +16 @@
- "metric": "20",
+ "metric": "256",
@@ -12 +18 @@
- "proto": "187"
+ "proto": "kernel"
@@ -14,3 +20,3 @@
- "2001:db8:f::2": {
- "dev": "r4-eth0",
- "metric": "20",
+ "unreachable": {
+ "dev": "lo",
+ "metric": "256",
@@ -18,13 +24 @@
- "proto": "187"
- },
- "2001:db8:f::3": {
- "dev": "r4-eth1",
- "metric": "20",
- "pref": "medium",
- "proto": "187"
- },
- "2001:db8:f::5": {
- "dev": "r4-eth1",
- "metric": "20",
- "pref": "medium",
- "proto": "187"
+ "proto": "kernel"
*** defaultIntf: warning: lm has no interfaces
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
see full log at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-5634/artifact/TOPOI386/ErrorLog/log_topotests.txt
*Topology Tests memory analysis:*
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-5634/artifact/TOPOU1604/MemoryLeaks/
*Topology Tests memory analysis:*
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-5634/artifact/TOPOI386/MemoryLeaks/ Warnings
Generated during build: Checkout code: Successful with additional
warnings: Topology tests on Ubuntu 16.04 amd64: Failed
Topology Test Results are at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-5634/test
*Topology Tests failed for Topology tests on Ubuntu 16.04 amd64*:
2018-10-14 15:56:33,032 ERROR: 'compare_isis_topology' failed after 89.55 seconds
2018-10-14 15:56:33,054 ERROR: assert failed at "test_isis_topo1/test_isis_convergence": ISIS did not converge on r4:
<lib.topotest.json_cmp_result object at 0x7fca20dd5050>
assert False
2018-10-14 15:56:33,850 ERROR: assert failed at "test_isis_topo1/test_isis_route_installation": Router 'r4' routes mismatch
assert expected key(s) [u'10.254.0.2/32'] in json (have [u'10.0.11.0/24', u'10.0.21.0/24', u'10.254.0.4/32'] <http://10.254.0.4/32'%5D>):
--- Expected value
+++ Current value
@@ -3,0 +4,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -8,0 +11 @@
+ "flags": 3,
@@ -15 +18,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43"
@@ -20,14 +24,2 @@
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "afi": "ipv4",
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.0.21.0/24",
- "protocol": "isis"
- },
- {
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -38,0 +31 @@
+ "flags": 3,
@@ -45,20 +38,2 @@
- "selected": true
- }
- ],
- "10.254.0.2/32": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv4",
- "fib": true,
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.254.0.2/32",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43"
@@ -68,0 +44,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -73,0 +51 @@
+ "flags": 3,
@@ -80 +58,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43"
json too few items (have 1, expected 2:
--- Expected value
+++ Current value
@@ -3,14 +3,2 @@
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "afi": "ipv4",
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.0.21.0/24",
- "protocol": "isis"
- },
- {
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -21,0 +10 @@
+ "flags": 3,
@@ -28 +17,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43")
2018-10-14 15:56:34,470 ERROR: assert failed at "test_isis_topo1/test_isis_linux_route_installation": Router 'r4' OS routes mismatch
assert expected key(s) [u'10.0.10.0/24', u'10.254.0.5', u'10.254.0.2', u'10.254.0.3', u'10.0.20.0/24'] in json (have ['10.0.11.0/24', '10.0.21.0/24'] <http://10.0.21.0/24'%5D>):
--- Expected value
+++ Current value
@@ -2 +2 @@
- "10.0.10.0/24": {
+ "10.0.11.0/24": {
@@ -4,3 +4,2 @@
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
+ "proto": "kernel",
+ "scope": "link"
@@ -8,7 +7 @@
- "10.0.20.0/24": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
- },
- "10.254.0.2": {
+ "10.0.21.0/24": {
@@ -16,15 +9,2 @@
- "metric": "20",
- "proto": "187",
- "via": "10.0.21.2"
- },
- "10.254.0.3": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
- },
- "10.254.0.5": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
+ "proto": "kernel",
+ "scope": "link"
2018-10-14 15:56:35,204 ERROR: assert failed at "test_isis_topo1/test_isis_route6_installation": Router 'r4' routes mismatch
assert expected key(s) [u'2001:db8:2:1::/64', u'2001:db8:f::3/128', u'2001:db8:f::5/128', u'2001:db8:f::2/128', u'2001:db8:1:1::/64'] in json (have [u'2001:db8:2:2::/64', u'2001:db8:1:2::/64', u'fe80::/64', u'2001:db8:f::4/128']):
--- Expected value
+++ Current value
@@ -2,18 +1,0 @@
- "2001:db8:1:1::/64": [
- {
- "distance": 115,
- "metric": 20,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:1:1::/64",
- "protocol": "isis",
- "selected": true
- }
- ],
@@ -21,0 +4,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -26,0 +11 @@
+ "flags": 3,
@@ -33,19 +18,2 @@
- "selected": true
- }
- ],
- "2001:db8:2:1::/64": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:2:1::/64",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43"
@@ -55,0 +24,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -60,0 +31 @@
+ "flags": 3,
@@ -67,37 +38,2 @@
- "selected": true
- }
- ],
- "2001:db8:f::2/128": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0"
- }
- ],
- "prefix": "2001:db8:f::2/128",
- "protocol": "isis",
- "selected": true
- }
- ],
- "2001:db8:f::3/128": [
- {
- "distance": 115,
- "metric": 20,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:f::3/128",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:43"
@@ -107,0 +44,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -112,0 +51 @@
+ "flags": 3,
@@ -119 +58,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:45"
@@ -122 +62 @@
- "2001:db8:f::5/128": [
+ "fe80::/64": [
@@ -124,2 +64,2 @@
- "distance": 115,
- "metric": 10,
+ "internalFlags": 0,
+ "internalStatus": 2,
@@ -129 +69 @@
- "afi": "ipv6",
+ "directlyConnected": true,
@@ -130,0 +71,18 @@
+ "flags": 3,
+ "interfaceIndex": 2,
+ "interfaceName": "r4-eth0"
+ }
+ ],
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "uptime": "00:01:41"
+ },
+ {
+ "internalFlags": 0,
+ "internalStatus": 2,
+ "nexthops": [
+ {
+ "active": true,
+ "directlyConnected": true,
+ "fib": true,
+ "flags": 3,
@@ -135,3 +93,21 @@
- "prefix": "2001:db8:f::5/128",
- "protocol": "isis",
- "selected": true
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "uptime": "00:01:41"
+ },
+ {
+ "internalFlags": 16,
+ "internalStatus": 0,
+ "nexthops": [
+ {
+ "active": true,
+ "directlyConnected": true,
+ "fib": true,
+ "flags": 3,
+ "interfaceIndex": 1,
+ "interfaceName": "lo"
+ }
+ ],
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "selected": true,
+ "uptime": "00:01:43"
2018-10-14 15:56:35,856 ERROR: assert failed at "test_isis_topo1/test_isis_linux_route6_installation": Router 'r4' OS routes mismatch
assert expected key(s) [u'2001:db8:2:1::/64', u'2001:db8:f::2', u'2001:db8:f::3', u'2001:db8:1:1::/64', u'2001:db8:f::5'] in json (have ['2001:db8:2:2::/64', '2001:db8:1:2::/64', 'fe80::/64', 'unreachable']):
--- Expected value
+++ Current value
@@ -2 +2,7 @@
- "2001:db8:1:1::/64": {
+ "2001:db8:1:2::/64": {
+ "dev": "r4-eth0",
+ "metric": "256",
+ "pref": "medium",
+ "proto": "kernel"
+ },
+ "2001:db8:2:2::/64": {
@@ -4 +10 @@
- "metric": "20",
+ "metric": "256",
@@ -6 +12 @@
- "proto": "187"
+ "proto": "kernel"
@@ -8 +14 @@
- "2001:db8:2:1::/64": {
+ "fe80::/64": {
@@ -10 +16 @@
- "metric": "20",
+ "metric": "256",
@@ -12 +18 @@
- "proto": "187"
+ "proto": "kernel"
@@ -14,3 +20,3 @@
- "2001:db8:f::2": {
- "dev": "r4-eth0",
- "metric": "20",
+ "unreachable": {
+ "dev": "lo",
+ "metric": "256",
@@ -18,13 +24 @@
- "proto": "187"
- },
- "2001:db8:f::3": {
- "dev": "r4-eth1",
- "metric": "20",
- "pref": "medium",
- "proto": "187"
- },
- "2001:db8:f::5": {
- "dev": "r4-eth1",
- "metric": "20",
- "pref": "medium",
- "proto": "187"
+ "proto": "kernel"
*** defaultIntf: warning: lm has no interfaces
see full log at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-5634/artifact/TOPOU1604/ErrorLog/log_topotests.txt
IPv4 protocols on Ubuntu 14.04: Failed
*RFC Compliance Test ANVL-ISIS-17.1 failing*:
Test Summary
If there is no path from source to destination made up of routers,
which supports that particular type of service, then the packet will
forwarded using default metric
Test Reference
RFC 1195 S3.5 P23 Type of Service Routing
Test Classification
MUST
Test ANVL-ISIS-17.1: !FAILED!
Level 1 adjacency on DIface-0 is not established
IPv6 protocols on Ubuntu 14.04: Failed
*RFC Compliance Test ANVL-ISISV6-1.25 failing*:
Test Summary
For LSPs the "Interfaces Address" TLVs MUST contain only the
non-link-local IPv6 addresses assigned to the IS.
Test Reference
RFC 5308 s3 p4 IPv6 Interface Address TLV
Test Classification
MUST
Test ANVL-ISISV6-1.25: !FAILED!
Level 1 adjacency is not established
*RFC Compliance Test ANVL-ISISV6-17.15 failing*:
Test Summary
If a prefix is advertised with a metric larger than
MAX_V6_PATH_METRIC (0xFE000000), this prefix MUST not
be considered during the normal SPF computation.
Test Reference
RFC 5308, s2, p3 IPv6 Reachability TLV
Test Classification
MUST
Test ANVL-ISISV6-17.15: !FAILED!
Level 1 adjacency on DIface-1 is not established
Topotest tests on Ubuntu 16.04 i386: Failed
Topology Test Results are at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOI386-5634/test
*Topology Tests failed for Topotest tests on Ubuntu 16.04 i386*:
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
2018-10-14 15:56:19,076 ERROR: 'compare_isis_topology' failed after 91.85 seconds
2018-10-14 15:56:19,082 ERROR: assert failed at "test_isis_topo1/test_isis_convergence": ISIS did not converge on r4:
<lib.topotest.json_cmp_result object at 0xb7998a2c>
assert False
2018-10-14 15:56:19,943 ERROR: assert failed at "test_isis_topo1/test_isis_route_installation": Router 'r4' routes mismatch
assert expected key(s) [u'10.254.0.2/32'] in json (have [u'10.0.11.0/24', u'10.0.21.0/24', u'10.254.0.4/32'] <http://10.254.0.4/32'%5D>):
--- Expected value
+++ Current value
@@ -3,0 +4,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -8,0 +11 @@
+ "flags": 3,
@@ -15 +18,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:45"
@@ -20,14 +24,2 @@
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "afi": "ipv4",
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.0.21.0/24",
- "protocol": "isis"
- },
- {
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -38,0 +31 @@
+ "flags": 3,
@@ -45,20 +38,2 @@
- "selected": true
- }
- ],
- "10.254.0.2/32": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv4",
- "fib": true,
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.254.0.2/32",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:45"
@@ -68,0 +44,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -73,0 +51 @@
+ "flags": 3,
@@ -80 +58,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:45"
json too few items (have 1, expected 2:
--- Expected value
+++ Current value
@@ -3,14 +3,2 @@
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "afi": "ipv4",
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0",
- "ip": "10.0.21.2"
- }
- ],
- "prefix": "10.0.21.0/24",
- "protocol": "isis"
- },
- {
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -21,0 +10 @@
+ "flags": 3,
@@ -28 +17,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:45")
2018-10-14 15:56:20,583 ERROR: assert failed at "test_isis_topo1/test_isis_linux_route_installation": Router 'r4' OS routes mismatch
assert expected key(s) [u'10.0.10.0/24', u'10.254.0.5', u'10.254.0.2', u'10.254.0.3', u'10.0.20.0/24'] in json (have ['10.0.11.0/24', '10.0.21.0/24'] <http://10.0.21.0/24'%5D>):
--- Expected value
+++ Current value
@@ -2 +2 @@
- "10.0.10.0/24": {
+ "10.0.11.0/24": {
@@ -4,3 +4,2 @@
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
+ "proto": "kernel",
+ "scope": "link"
@@ -8,7 +7 @@
- "10.0.20.0/24": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
- },
- "10.254.0.2": {
+ "10.0.21.0/24": {
@@ -16,15 +9,2 @@
- "metric": "20",
- "proto": "187",
- "via": "10.0.21.2"
- },
- "10.254.0.3": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
- },
- "10.254.0.5": {
- "dev": "r4-eth1",
- "metric": "20",
- "proto": "187",
- "via": "10.0.11.1"
+ "proto": "kernel",
+ "scope": "link"
2018-10-14 15:56:21,374 ERROR: assert failed at "test_isis_topo1/test_isis_route6_installation": Router 'r4' routes mismatch
assert expected key(s) [u'2001:db8:2:1::/64', u'2001:db8:f::3/128', u'2001:db8:f::5/128', u'2001:db8:f::2/128', u'2001:db8:1:1::/64'] in json (have [u'2001:db8:2:2::/64', u'2001:db8:1:2::/64', u'fe80::/64', u'2001:db8:f::4/128']):
--- Expected value
+++ Current value
@@ -2,18 +1,0 @@
- "2001:db8:1:1::/64": [
- {
- "distance": 115,
- "metric": 20,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:1:1::/64",
- "protocol": "isis",
- "selected": true
- }
- ],
@@ -21,0 +4,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -26,0 +11 @@
+ "flags": 3,
@@ -33,19 +18,2 @@
- "selected": true
- }
- ],
- "2001:db8:2:1::/64": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:2:1::/64",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:46"
@@ -55,0 +24,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -60,0 +31 @@
+ "flags": 3,
@@ -67,37 +38,2 @@
- "selected": true
- }
- ],
- "2001:db8:f::2/128": [
- {
- "distance": 115,
- "metric": 10,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 2,
- "interfaceName": "r4-eth0"
- }
- ],
- "prefix": "2001:db8:f::2/128",
- "protocol": "isis",
- "selected": true
- }
- ],
- "2001:db8:f::3/128": [
- {
- "distance": 115,
- "metric": 20,
- "nexthops": [
- {
- "active": true,
- "afi": "ipv6",
- "fib": true,
- "interfaceIndex": 3,
- "interfaceName": "r4-eth1"
- }
- ],
- "prefix": "2001:db8:f::3/128",
- "protocol": "isis",
- "selected": true
+ "selected": true,
+ "uptime": "00:01:46"
@@ -107,0 +44,2 @@
+ "internalFlags": 16,
+ "internalStatus": 0,
@@ -112,0 +51 @@
+ "flags": 3,
@@ -119 +58,2 @@
- "selected": true
+ "selected": true,
+ "uptime": "00:01:47"
@@ -122 +62 @@
- "2001:db8:f::5/128": [
+ "fe80::/64": [
@@ -124,2 +64,2 @@
- "distance": 115,
- "metric": 10,
+ "internalFlags": 0,
+ "internalStatus": 2,
@@ -129 +69 @@
- "afi": "ipv6",
+ "directlyConnected": true,
@@ -130,0 +71 @@
+ "flags": 3,
@@ -135,3 +76,38 @@
- "prefix": "2001:db8:f::5/128",
- "protocol": "isis",
- "selected": true
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "uptime": "00:01:44"
+ },
+ {
+ "internalFlags": 0,
+ "internalStatus": 0,
+ "nexthops": [
+ {
+ "active": true,
+ "directlyConnected": true,
+ "fib": true,
+ "flags": 3,
+ "interfaceIndex": 2,
+ "interfaceName": "r4-eth0"
+ }
+ ],
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "uptime": "00:01:44"
+ },
+ {
+ "internalFlags": 16,
+ "internalStatus": 0,
+ "nexthops": [
+ {
+ "active": true,
+ "directlyConnected": true,
+ "fib": true,
+ "flags": 3,
+ "interfaceIndex": 1,
+ "interfaceName": "lo"
+ }
+ ],
+ "prefix": "fe80::/64",
+ "protocol": "connected",
+ "selected": true,
+ "uptime": "00:01:45"
2018-10-14 15:56:22,009 ERROR: assert failed at "test_isis_topo1/test_isis_linux_route6_installation": Router 'r4' OS routes mismatch
assert expected key(s) [u'2001:db8:2:1::/64', u'2001:db8:f::2', u'2001:db8:f::3', u'2001:db8:1:1::/64', u'2001:db8:f::5'] in json (have ['2001:db8:2:2::/64', '2001:db8:1:2::/64', 'fe80::/64', 'unreachable']):
--- Expected value
+++ Current value
@@ -2 +2,7 @@
- "2001:db8:1:1::/64": {
+ "2001:db8:1:2::/64": {
+ "dev": "r4-eth0",
+ "metric": "256",
+ "pref": "medium",
+ "proto": "kernel"
+ },
+ "2001:db8:2:2::/64": {
@@ -4 +10 @@
- "metric": "20",
+ "metric": "256",
@@ -6 +12 @@
- "proto": "187"
+ "proto": "kernel"
@@ -8 +14 @@
- "2001:db8:2:1::/64": {
+ "fe80::/64": {
@@ -10 +16 @@
- "metric": "20",
+ "metric": "256",
@@ -12 +18 @@
- "proto": "187"
+ "proto": "kernel"
@@ -14,3 +20,3 @@
- "2001:db8:f::2": {
- "dev": "r4-eth0",
- "metric": "20",
+ "unreachable": {
+ "dev": "lo",
+ "metric": "256",
@@ -18,13 +24 @@
- "proto": "187"
- },
- "2001:db8:f::3": {
- "dev": "r4-eth1",
- "metric": "20",
- "pref": "medium",
- "proto": "187"
- },
- "2001:db8:f::5": {
- "dev": "r4-eth1",
- "metric": "20",
- "pref": "medium",
- "proto": "187"
+ "proto": "kernel"
*** defaultIntf: warning: lm has no interfaces
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
see full log at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-5634/artifact/TOPOI386/ErrorLog/log_topotests.txt
Report for isis_adjacency.c | 4 issues
===============================================
< WARNING: braces {} are not necessary for single statement blocks
< #218: FILE: /tmp/f1-1523/isis_adjacency.c:218:
< WARNING: braces {} are not necessary for single statement blocks
< #233: FILE: /tmp/f1-1523/isis_adjacency.c:233:
Report for isis_dr.c | 6 issues
===============================================
< WARNING: Statements should start on a tabstop
< #87: FILE: /tmp/f1-1523/isis_dr.c:87:
< WARNING: line over 80 characters
< #91: FILE: /tmp/f1-1523/isis_dr.c:91:
< WARNING: Prefer using '"%s...", __func__' to using 'isis_run_dr', this function's name, in a string
< #91: FILE: /tmp/f1-1523/isis_dr.c:91:
Report for isis_pdu.c | 2 issues
===============================================
< WARNING: line over 80 characters
< #1783: FILE: /tmp/f1-1523/isis_pdu.c:1783:
Report for thread.h | 2 issues
===============================================
< WARNING: function definition argument 'struct thread *' should also have an identifier name
< #221: FILE: /tmp/f1-1523/thread.h:221:
------------------------------
CLANG Static Analyzer Summary
- Github Pull Request 3174, comparing to Git base SHA c9e3c7b
<c9e3c7b>
No Changes in Static Analysis warnings compared to base
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#3174 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABSN6zeI9b2R0jaeW8u_lPv7CJUwM3MWks5uk8jQgaJpZM4XbXPN>
.
|
I missread the diff. My apologies about the lib/thread.c changes. |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a good change. The code looks good to me, other than @donaldsharp 's comment on the timer. Commented on the zlog issue in a separate comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a pending question regarding isis_dr_commence() function.
Otherwise, the patch looks good to me. The CI error must be corrected before merging.
thread_add_timer(master, isis_run_dr_l2, circuit, | ||
2 * circuit->hello_interval[1], | ||
&circuit->u.bc.t_run_dr[1]); | ||
|
||
thread_add_timer(master, send_l2_csnp, circuit, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do you not add:
THREAD_TIMER_OFF(circuit->u.bc.t_run_dr[level -1];
thread_add_timer(master, isis_run_dr, circuit, 2 * circuit->hello_interval[level - 1], &circuit->u.bc.t_run_dr[level - 1]);
Like in line 258 ?
This is no more necessary at this step ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had some trouble recalling why I did that. Looking at a unified diff with more context made it clearer to me again. Maybe it also helps you to verify whether my change is correct, so here it is:
int isis_dr_commence(struct isis_circuit *circuit, int level)
{
uint8_t old_dr[ISIS_SYS_ID_LEN + 2];
if (isis->debugs & DEBUG_EVENTS)
zlog_debug("isis_dr_commence l%d", level);
/* Lets keep a pause in DR election */
circuit->u.bc.run_dr_elect[level - 1] = 0;
- if (level == 1)
- thread_add_timer(master, isis_run_dr_l1, circuit,
- 2 * circuit->hello_interval[0],
- &circuit->u.bc.t_run_dr[0]);
- else
- thread_add_timer(master, isis_run_dr_l2, circuit,
- 2 * circuit->hello_interval[1],
- &circuit->u.bc.t_run_dr[1]);
+ thread_add_timer(master, isis_run_dr,
+ &circuit->level_arg[level - 1],
+ 2 * circuit->hello_interval[level - 1],
+ &circuit->u.bc.t_run_dr[level - 1]);
circuit->u.bc.is_dr[level - 1] = 1;
if (level == 1) {
memcpy(old_dr, circuit->u.bc.l1_desig_is, ISIS_SYS_ID_LEN + 1);
LSP_FRAGMENT(old_dr) = 0;
if (LSP_PSEUDO_ID(old_dr)) {
/* there was a dr elected, purge its LSPs from the db */
lsp_purge_pseudo(old_dr, circuit, level);
}
memcpy(circuit->u.bc.l1_desig_is, isis->sysid, ISIS_SYS_ID_LEN);
*(circuit->u.bc.l1_desig_is + ISIS_SYS_ID_LEN) =
circuit->circuit_id;
assert(circuit->circuit_id); /* must be non-zero */
/* if (circuit->t_send_l1_psnp)
thread_cancel (circuit->t_send_l1_psnp); */
lsp_generate_pseudo(circuit, 1);
- THREAD_TIMER_OFF(circuit->u.bc.t_run_dr[0]);
- thread_add_timer(master, isis_run_dr_l1, circuit,
- 2 * circuit->hello_interval[0],
- &circuit->u.bc.t_run_dr[0]);
-
thread_add_timer(master, send_l1_csnp, circuit,
isis_jitter(circuit->csnp_interval[level - 1],
CSNP_JITTER),
&circuit->t_send_csnp[0]);
} else {
memcpy(old_dr, circuit->u.bc.l2_desig_is, ISIS_SYS_ID_LEN + 1);
LSP_FRAGMENT(old_dr) = 0;
if (LSP_PSEUDO_ID(old_dr)) {
/* there was a dr elected, purge its LSPs from the db */
lsp_purge_pseudo(old_dr, circuit, level);
}
memcpy(circuit->u.bc.l2_desig_is, isis->sysid, ISIS_SYS_ID_LEN);
*(circuit->u.bc.l2_desig_is + ISIS_SYS_ID_LEN) =
circuit->circuit_id;
assert(circuit->circuit_id); /* must be non-zero */
/* if (circuit->t_send_l1_psnp)
thread_cancel (circuit->t_send_l1_psnp); */
lsp_generate_pseudo(circuit, 2);
- THREAD_TIMER_OFF(circuit->u.bc.t_run_dr[1]);
- thread_add_timer(master, isis_run_dr_l2, circuit,
- 2 * circuit->hello_interval[1],
- &circuit->u.bc.t_run_dr[1]);
-
thread_add_timer(master, send_l2_csnp, circuit,
isis_jitter(circuit->csnp_interval[level - 1],
CSNP_JITTER),
&circuit->t_send_csnp[1]);
}
thread_add_event(master, isis_event_dis_status_change, circuit, 0,
NULL);
return ISIS_OK;
}
It seemed to me like the old code would:
- schedule the timeout
- cancel it immediately
- schedule the exact timeout again
So I decided to drop Steps 2 and 3.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. That's clear now.
So, I have one more suggestion: perhaps it is safer to drop step 1 & 2 and keep step 3 instead. i.e. move the call to thread_add_timer()
after the if (level == 1) { ... } else { ... }
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Add a function send_hello_sched so that the logic for scheduling a hello is not replicated inconsistently into different locations. Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Before this update, json_cmp_results which were formatted as strings would not show the error mesage but just an object reference. Signed-off-by: Christian Franke <chris@opensourcerouting.org>
017b1db
to
7fe06d5
Compare
I have found and fixed a bug in this PR which caused CI to fail. |
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
Continuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6064/ This is a comment from an EXPERIMENTAL automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings:
CLANG Static Analyzer Summary
4 Static Analyzer issues remaining.See details at |
isisd
would only send hellos after each hello interval (modulo jitter). When running with a high hello interval, this leads to significant time until adjancencies are established. For example, with three-way handshake enabled and an IIH of 60 seconds, it can take up to three minutes for IS-IS to declare an adjacency up.This is addressed by triggering transmission of hellos whenever an adjacency state change is observed. While in line with the spec, this leads to almost immediate (sub second) adjacency establishment after the first transmitted/received packet.