Issue : Missing neighbor entries in LSP neighbor list TLV when new adjacencies 
were formed. Neighbor entries corresponding to new adjacencies did not always 
get added to LSP neighbor list.

Root cause :
Circuit type for the new adjacency was not set to IIH PDU circuit type before 
regenerating LSP when a new adjacency is up.

Details :
For P2P circuit, when an adjacency is created, the neighbor entry corresponding 
to the adjacency should be added to the neighbor list in LSP TLV. Although this 
is currently done, it was noticed that, sometimes the LSP neighbor list were 
missing some newly created adjacencies. This was root-caused to the adjacency 
circuit type being set to IIH PDU circuit type only after adjacency state 
change was done, which triggered regenerating the LSP. Only those adjacencies 
were added to the LSP neighbor list which were created within the minimum time 
allowed before LSP retransmission. For this type of adjacencies, when the LSP 
regenerate was scheduled, the timer would be turned on until LSP generate 
interval expires; and in those cases, the  adjacency circuit type got set to 
IIH PDU circuit type before the new LSP got regenerated, thus passing the check 
for adjacency circuit type in lsp_build(). Thus, the adjacency gets added to 
LSP neighbor list.

The adjacencies that were created once minimum time allowed before LSP 
retransmission had surpassed, instantly got their LSP regenerated, but the 
adjacency circuit type was not set to IIH PDU circuit type before the LSP was 
regenerated , hence didn't pass the check for adjacency circuit type in 
lsp_build(), and the adjacency was not added to neighbor list.

Fix proposed :
When a new adjacency is up, to build LSP with neighbor entry corresponding to 
the adjacency, set adjacency circuit type to circuit type from hello PDU header 
before new LSP is regenerated/built.  This will result in the new adjacency 
entry getting added to the LSP neighbor list TLV. This will fix the LSP missing 
some neighbor entries when new adjacencies were formed.

Thanks,
Amritha

_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to