[quagga-dev 12843] Re: [PATCH] isisd: Add new adjacency to LSP neighbor list

Donald Sharp sharpd at cumulusnetworks.com
Fri Jul 3 00:39:13 BST 2015


Why is this also not a bug for both calls into isis_adj_state_change(),
proceeded by calls to isis_new_adj()?  It sure seems like to me that it
would be better to set adj->circuit_t inside of isis_new_adj().

donald

On Thu, Jul 2, 2015 at 6:42 PM, Amritha Nambiar <amritha.nambiar at intel.com>
wrote:

> isis_pdu.c :
> New adjacency did not always get 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.
>
> 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.
>
> Signed-off-by: Amritha Nambiar <amritha.nambiar at intel.com>
> ---
>  isisd/isis_pdu.c |    8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c
> index 7c04f44..c50b53f 100644
> --- a/isisd/isis_pdu.c
> +++ b/isisd/isis_pdu.c
> @@ -601,6 +601,13 @@ process_p2p_hello (struct isis_circuit *circuit)
>            adj->level = hdr->circuit_t;
>          }
>        circuit->u.p2p.neighbor = adj;
> +      /* Build lsp with the new neighbor entry when a new
> +       * adjacency is formed. Set adjacency circuit type to
> +       * IIH PDU header circuit type before lsp is regenerated
> +       * when an adjacency is up. This will result in the new
> +       * adjacency entry getting added to the lsp tlv neighbor list.
> +       */
> +      adj->circuit_t = hdr->circuit_t;
>        isis_adj_state_change (adj, ISIS_ADJ_INITIALIZING, NULL);
>        adj->sys_type = ISIS_SYSTYPE_UNKNOWN;
>      }
> @@ -886,7 +893,6 @@ process_p2p_hello (struct isis_circuit *circuit)
>        break;
>      }
>
> -  adj->circuit_t = hdr->circuit_t;
>
>    if (isis->debugs & DEBUG_ADJ_PACKETS)
>      {
>
>
> _______________________________________________
> Quagga-dev mailing list
> Quagga-dev at lists.quagga.net
> https://lists.quagga.net/mailman/listinfo/quagga-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20150702/70650ae6/attachment-0001.html>


More information about the Quagga-dev mailing list