I see lots of commands in isisd.c that have 'area = vty->index'.  Does this
patch imply that they are all broken as well?

doanld

On Thu, Jul 2, 2015 at 10:16 PM, Amritha Nambiar <[email protected]>
wrote:

> isisd.c :
> set/reset overload-bit using "set-overload-bit" or "no set-overload-bit"
> commands fails to set the bit in LSP header. This is because
> area = vty->index does not find a valid area.
>
> Signed-off-by: Amritha Nambiar <[email protected]>
> ---
>  isisd/isisd.c |   23 ++++++++++++-----------
>  1 file changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/isisd/isisd.c b/isisd/isisd.c
> index 9c9b918..287ef81 100644
> --- a/isisd/isisd.c
> +++ b/isisd/isisd.c
> @@ -2143,12 +2143,13 @@ DEFUN (set_overload_bit,
>         "Set overload bit\n")
>  {
>    struct isis_area *area;
> +  struct listnode *anode;
>
> -  area = vty->index;
> -  assert (area);
> -
> -  area->overload_bit = LSPBIT_OL;
> -  lsp_regenerate_schedule (area, IS_LEVEL_1 | IS_LEVEL_2, 1);
> +  for (ALL_LIST_ELEMENTS_RO (isis->area_list, anode, area))
> +    {
> +      area->overload_bit = LSPBIT_OL;
> +      lsp_regenerate_schedule (area, IS_LEVEL_1 | IS_LEVEL_2, 1);
> +    }
>
>    return CMD_SUCCESS;
>  }
> @@ -2160,13 +2161,13 @@ DEFUN (no_set_overload_bit,
>         "Reset overload bit\n")
>  {
>    struct isis_area *area;
> +  struct listnode *anode;
>
> -  area = vty->index;
> -  assert (area);
> -
> -  area->overload_bit = 0;
> -  lsp_regenerate_schedule (area, IS_LEVEL_1 | IS_LEVEL_2, 1);
> -
> +  for (ALL_LIST_ELEMENTS_RO (isis->area_list, anode, area))
> +    {
> +      area->overload_bit = 0;
> +      lsp_regenerate_schedule (area, IS_LEVEL_1 | IS_LEVEL_2, 1);
> +    }
>    return CMD_SUCCESS;
>  }
>
>
>
> _______________________________________________
> Quagga-dev mailing list
> [email protected]
> https://lists.quagga.net/mailman/listinfo/quagga-dev
>
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to