[quagga-dev 8707] Re: [PATCH 2/2] Solve segfaults with ospf6d on FreeBSD

Ingo Flaschberger if at xip.at
Sun Apr 17 20:28:22 BST 2011


Dear Paul,

please do not commit this patch to the tree, there are some issues with 
link-detect. I will submit a new one.

Mit freundlichen Gruessen,
 	Ingo Flaschberger

Geschaeftsleitung
____________________________________
crossip communications gmbh
A-1020 Wien, Sebastian Kneipp Gasse 1/3

Sitz der Gesellschaft: 1020 Wien, Oesterreich
Firmenbuchgericht: Handelsgericht Wien, FN 269698 s,
Umsatzsteueridentifikationsnummer (UID): ATU62080367

Haftungsausschluss / Disclaimer <http://www.xip.at/content/view/278/>

On Mon, 11 Apr 2011, if at xip.at wrote:

> From: Ingo Flaschberger <if at xip.at>
>
> Do not send ospf6d hellos on fresh created interfaces without configuration (ie. no vlan configured)
> ---
> ospf6d/ospf6_message.c |    7 +++++++
> zebra/kernel_socket.c  |   15 ++++++++++-----
> 2 files changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/ospf6d/ospf6_message.c b/ospf6d/ospf6_message.c
> index d06eba2..d030551 100644
> --- a/ospf6d/ospf6_message.c
> +++ b/ospf6d/ospf6_message.c
> @@ -1396,6 +1396,13 @@ ospf6_hello_send (struct thread *thread)
>       return 0;
>     }
>
> +  if (iobuflen == 0)
> +    {
> +      zlog_debug ("Unable to send Hello on interface %s iobuflen is 0",
> +                   oi->interface->name);
> +      return 0;
> +    }
> +
>   /* set next thread */
>   oi->thread_send_hello = thread_add_timer (master, ospf6_hello_send,
>                                             oi, oi->hello_interval);
> diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c
> index feeaf5d..71bbeee 100644
> --- a/zebra/kernel_socket.c
> +++ b/zebra/kernel_socket.c
> @@ -280,14 +280,19 @@ ifan_read (struct if_announcemsghdr *ifan)
> 				       sizeof(ifan->ifan_name)));
>       ifp->ifindex = ifan->ifan_index;
>
> +      if_get_flags (ifp);
> +      if_get_mtu (ifp);
> +      if_get_metric (ifp);
> +
>       if_add_update (ifp);
>     }
>   else if (ifp != NULL && ifan->ifan_what == IFAN_DEPARTURE)
> -    if_delete_update (ifp);
> -
> -  if_get_flags (ifp);
> -  if_get_mtu (ifp);
> -  if_get_metric (ifp);
> +    {
> +      if_get_flags (ifp);
> +      if_get_mtu (ifp);
> +      if_get_metric (ifp);
> +      if_delete_update (ifp);
> +    }
>
>   if (IS_ZEBRA_DEBUG_KERNEL)
>     zlog_debug ("%s: interface %s index %d",
> -- 
> 1.7.1.1
>
>



More information about the Quagga-dev mailing list