[quagga-dev 8354] Re: [PATCH 5/7] ospf6d: Memory cleanup

Balaji G balajig81 at gmail.com
Tue Nov 16 06:18:24 GMT 2010


Applied,

Though i have applied it i cannot validate these changes myself as i have
not gone through the ospf code.

Cheers,
  - Balaji

On Thu, Nov 11, 2010 at 2:32 AM, Tom Goff <thomas.goff at boeing.com> wrote:

> * ospf6_area.c: Call ospf6_spf_table_finish() before deleting the spf
>    table.  This ensures that the associated ospf6_vertex structures
>    are also freed.
>
> * ospf6_spf.c: Only allocate a priority queue when a spf calculation
>    is actually performed.  Also defer calling ospf6_spf_table_finish().
>
> Signed-off-by: Tom Goff <thomas.goff at boeing.com>
> ---
>  ospf6d/ospf6_area.c |    1 +
>  ospf6d/ospf6_spf.c  |   13 +++++++------
>  2 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/ospf6d/ospf6_area.c b/ospf6d/ospf6_area.c
> index 3c999bb..bf8dbc3 100644
> --- a/ospf6d/ospf6_area.c
> +++ b/ospf6d/ospf6_area.c
> @@ -199,6 +199,7 @@ ospf6_area_delete (struct ospf6_area *oa)
>   ospf6_lsdb_delete (oa->lsdb);
>   ospf6_lsdb_delete (oa->lsdb_self);
>
> +  ospf6_spf_table_finish (oa->spf_table);
>   ospf6_route_table_delete (oa->spf_table);
>   ospf6_route_table_delete (oa->route_table);
>
> diff --git a/ospf6d/ospf6_spf.c b/ospf6d/ospf6_spf.c
> index bfb6df2..d501c54 100644
> --- a/ospf6d/ospf6_spf.c
> +++ b/ospf6d/ospf6_spf.c
> @@ -404,18 +404,19 @@ ospf6_spf_calculation (u_int32_t router_id,
>   caddr_t lsdesc;
>   struct ospf6_lsa *lsa;
>
> -  /* initialize */
> -  candidate_list = pqueue_create ();
> -  candidate_list->cmp = ospf6_vertex_cmp;
> -
> -  ospf6_spf_table_finish (result_table);
> -
>   /* Install the calculating router itself as the root of the SPF tree */
>   /* construct root vertex */
>   lsa = ospf6_lsdb_lookup (htons (OSPF6_LSTYPE_ROUTER), htonl (0),
>                            router_id, oa->lsdb);
>   if (lsa == NULL)
>     return;
> +
> +  /* initialize */
> +  candidate_list = pqueue_create ();
> +  candidate_list->cmp = ospf6_vertex_cmp;
> +
> +  ospf6_spf_table_finish (result_table);
> +
>   root = ospf6_vertex_create (lsa);
>   root->area = oa;
>   root->cost = 0;
> --
> 1.7.0.4
>
> _______________________________________________
> Quagga-dev mailing list
> Quagga-dev at lists.quagga.net
> http://lists.quagga.net/mailman/listinfo/quagga-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20101116/e6237093/attachment-0001.html>


More information about the Quagga-dev mailing list