[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