[OLSR-users] problem while using global IPv6 address

Andreas Tønnesen (spam-protected)
Wed Jan 5 16:38:56 CET 2005


hmmm... The previous fix broke site-local IPv6 multicast
configuration :) Forget that patch and use the one I've attatched.
Sorry.

- Andreas

Andreas Tønnesen wrote:
> Hi,
> 
> There was a bug in the IPv6 global multipcast configuration.
> I have fixed it. A diff is attatched, you could patch your
> 0.4.8 source or check out the CVS version(in a couple of hours).
> 
> - Andreas
> 
> Audsin dev wrote:
> 
>> Hi
>>
>> I am using olsrd-0.4.8 and using global IPv6 address
>> for my experiment. I have configured my wireless
>> interface (eth1) with global IPv6 address and there is
>> no site-local IPv6 address for that interface (eth1)   I changed my 
>> /etc/olsrd.conf to configure for global
>> IPv6 address as mentioned below
>>
>> Ip6AddrType                global
>>
>> Ip6MulticastGlobal ff0e::1
>>
>> But while i run olsrd i get the following lines
>>
>> sendto(v6): Cannot assign requested address
>> Socket: 5 interface: 0
>> To: ff05::15 (size: 28)
>> Outputsize: 32
>>
>> Also, my routing table is also not changed by olsrd
>>
>> 1) My question is, why is olsrd still using ff05::15
>> (which is the multicast address for  site-local
>> address) and not ff0e::1 (multicast address for global
>> IPv6 address).
>>
>> 2) why iam a getting
>>
>> sendto(v6): Cannot assign requested address
>> Socket: 5 interface: 0
>> To: ff05::15 (size: 28)
>> Outputsize: 32
>>
>> what does "sendto(v6): Cannot assign requested
>> address"
>> means here?
>>
>> Everything works fine with site-local IPv6..
>>
>> Any suggestion why iam getting this error for global
>> IPv6.
>>
>> I am attaching my olsrd.conf and the log file
>> generated by olsrd
>>
>>
>>        
>> __________________________________ Do you Yahoo!? The all-new My 
>> Yahoo! - Get yours free! http://my.yahoo.com  
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> olsr-users mailing list
>> (spam-protected)
>> https://www.olsr.org/mailman/listinfo/olsr-users
> 
> 
> 
> ------------------------------------------------------------------------
> 
> Index: src/unix/ifnet.c
> ===================================================================
> RCS file: /cvsroot/olsrd/olsrd-current/src/unix/ifnet.c,v
> retrieving revision 1.9
> retrieving revision 1.13
> diff -u -r1.9 -r1.13
> --- src/unix/ifnet.c	4 Dec 2004 17:06:57 -0000	1.9
> +++ src/unix/ifnet.c	5 Jan 2005 15:23:02 -0000	1.13
> @@ -36,7 +36,7 @@
>   * to the project. For more information see the website or contact
>   * the copyright holders.
>   *
> - * $Id: ifnet.c,v 1.9 2004/12/04 17:06:57 tlopatic Exp $
> + * $Id: ifnet.c,v 1.13 2005/01/05 15:23:02 kattemat Exp $
>   */
>  
>  
> @@ -54,7 +54,7 @@
>  #define SIOCGIWMODE	0x8B07		/* get operation mode */
>  #define SIOCSIWSENS	0x8B08		/* set sensitivity (dBm) */
>  #define SIOCGIWSENS	0x8B09		/* get sensitivity (dBm) */
> -#elif defined __FreeBSD__ || defined __MacOSX__
> +#elif defined __FreeBSD__ || defined __MacOSX__ || defined __NetBSD__
>  #define ifr_netmask ifr_addr
>  #endif
>  
> @@ -197,7 +197,9 @@
>     */
>  
>    /* Check broadcast */
> -  if ((olsr_cnf->ip_version == AF_INET) && (!(ifp->int_flags & IFF_BROADCAST))) 
> +  if ((olsr_cnf->ip_version == AF_INET) && 
> +      (iface->cnf->ipv4_broadcast.v4) && /* Skip if fixed bcast */ 
> +      (!(ifp->int_flags & IFF_BROADCAST))) 
>      {
>        olsr_printf(3, "\tNo broadcast - removing\n");
>        goto remove_interface;
> @@ -562,7 +564,9 @@
>      }
>  
>    /* Check broadcast */
> -  if ((olsr_cnf->ip_version == AF_INET) && (!(ifs.int_flags & IFF_BROADCAST))) 
> +  if ((olsr_cnf->ip_version == AF_INET) &&
> +      (iface->cnf->ipv4_broadcast.v4) && /* Skip if fixed bcast */ 
> +      (!(ifs.int_flags & IFF_BROADCAST))) 
>      {
>        olsr_printf(debuglvl, "\tNo broadcast - skipping\n");
>        return 0;
> @@ -606,7 +610,9 @@
>        olsr_printf(debuglvl, "\tAddress: %s\n", ip6_to_string(&ifs.int6_addr.sin6_addr));
>        
>        /* Multicast */
> -      ifs.int6_multaddr.sin6_addr = (iface->cnf->ipv6_addrtype == 1) ? iface->cnf->ipv6_multi_site.v6 :iface->cnf->ipv6_multi_site.v6;
> +      ifs.int6_multaddr.sin6_addr = (iface->cnf->ipv6_addrtype == 1) ? 
> +	iface->cnf->ipv6_multi_site.v6 :
> +	iface->cnf->ipv6_multi_glbl.v6;
>        /* Set address family */
>        ifs.int6_multaddr.sin6_family = AF_INET6;
>        /* Set port */
> @@ -690,7 +696,7 @@
>    olsr_printf(1, "\tMTU: %d\n", ifs.int_mtu);
>  
>    olsr_syslog(OLSR_LOG_INFO, "Adding interface %s\n", iface->name);
> -  olsr_printf(1, "\tIndex %d\n", iface->name, ifs.if_nr);
> +  olsr_printf(1, "\tIndex %d\n", ifs.if_nr);
>  
>    if(olsr_cnf->ip_version == AF_INET)
>      {
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> olsr-users mailing list
> (spam-protected)
> https://www.olsr.org/mailman/listinfo/olsr-users

-- 
Andreas Tønnesen
http://www.olsr.org
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ipv6multifix.diff
URL: <http://lists.olsr.org/pipermail/olsr-users/attachments/20050105/6128b5d9/attachment.ksh>


More information about the Olsr-users mailing list