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

isisd: Missing routes/corrupted LSDB with large complex networks #980

Closed
mwinter-osr opened this issue Aug 15, 2017 · 3 comments
Closed
Assignees
Milestone

Comments

@mwinter-osr
Copy link
Member

This seems to happen with ISIS topologies of more than approx 6000 routes and > 3000 routers.

The issue seems to be timing related - if debug isis snp-packets is configured, then everything works fine.

Output without the debug:

osr-perf3# show ip route summ
Route Source         Routes               FIB  (vrf Default-IP-Routing-Table)
kernel               1                    1                    
connected            5                    5                    
static               1                    1                    
isis                 6970                 6969                 
------
Totals               6977                 6976                 

and with the debug (correct):

osr-perf3# show ip route summ
Route Source         Routes               FIB  (vrf Default-IP-Routing-Table)
kernel               1                    1                    
connected            5                    5                    
static               1                    1                    
isis                 7073                 7072                 
------
Totals               7080                 7079

The issue can be tracked down to debug call in isis_pdu.c near lines 1780-1792:

if (isis->debugs & DEBUG_SNP_PACKETS) {
	zlog_debug(
		"ISIS-Snp (%s): Sending L%d CSNP on %s, length %zd",
			circuit->area->area_tag, level,
			circuit->interface->name,
			stream_get_endp(circuit->snd_stream));
	log_multiline(LOG_DEBUG, "              ", "%s",
		isis_format_tlvs(tlvs));
	if (isis->debugs & DEBUG_PACKET_DUMP)
		zlog_dump_data(
			STREAM_DATA(circuit->snd_stream),
			stream_get_endp(circuit->snd_stream));
}

Just adding a simple usleep(5000) in front of this will avoid the issue (and make it work without the debug enabled).

@mwinter-osr mwinter-osr added this to the 3.0 milestone Aug 15, 2017
@mwinter-osr
Copy link
Member Author

Christian is working on this and has the information and testbed to reproduce the issue.

@cfra
Copy link
Member

cfra commented Aug 23, 2017

Got full 7072 routes with master-2017-08-23 when I started frr while ixia was already running. Still investigating for other sequences and for stable/3.0

@donaldsharp
Copy link
Member

This has been a long-standing issue, should we just document this as opposed to making this a 3.0 release gating issue?

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

No branches or pull requests

3 participants