[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(usagi-users 04040) Re: Invalid argument when sending multicast listener general query V2



In article <dac45060804221000k115ee31eh1f375f7fe4ac952a@xxxxxxxxxxxxxx> (at Tue, 22 Apr 2008 20:00:33 +0300), "Mark Ryden" <markryde@xxxxxxxxx> says:

> 19:06:48.420 warning - sendmsg to ff02::1 with src
> fe80::240:95ff:fe30:b0a3 on eth0: Invalid argument
> 
> Any idea what can cause this "Invalid argument" error ?
> fe80::240:95ff:fe30:b0a3 is the IPv6 on eth0, on the machine where
> pim6sd daemon runs. And the dest IP is OK- ff02::1.

I've checked in the following changeset.  Thanks.

---
From d86729dc6fad6b6e4bb76b0c445ee82e2274c46b Mon Sep 17 00:00:00 2001
From: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx>
Date: Thu, 24 Apr 2008 01:24:05 +0900
Subject: [PATCH] [PIM6SD,PIM6DD]: Assign sin6_scope_id on Linux as well as KAME.

Issue reported by "Mark Ryden" <markryde@xxxxxxxxx>
(usagi-users 04039).

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx>
---
 pim6dd/mld6.c |    2 +-
 pim6sd/mld6.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pim6dd/mld6.c b/pim6dd/mld6.c
index b8bf094..7c7283e 100644
--- a/pim6dd/mld6.c
+++ b/pim6dd/mld6.c
@@ -532,7 +532,7 @@ send_mld6(type, code, src, dst, group, index, delay, datalen, alert)
     make_mld6_msg(type, code, src, dst, group, index, delay, datalen, alert);
     dstp = (struct sockaddr_in6 *)sndmh.msg_name;
 
-#ifdef __KAME__
+#if defined(__KAME__) || defined(__linux__)
     if (IN6_IS_ADDR_LINKLOCAL(&dstp->sin6_addr) || 
 	IN6_IS_ADDR_MC_LINKLOCAL(&dstp->sin6_addr))
 	dstp->sin6_scope_id = index;
diff --git a/pim6sd/mld6.c b/pim6sd/mld6.c
index f95e2f5..d828bbf 100644
--- a/pim6sd/mld6.c
+++ b/pim6sd/mld6.c
@@ -614,7 +614,7 @@ send_mld6(type, code, src, dst, group, index, delay, datalen, alert)
     make_mld6_msg(type, code, src, dst, group, index, delay, datalen, alert);
     dstp = (struct sockaddr_in6 *)sndmh.msg_name;
 
-#ifdef __KAME__
+#if defined(__KAME__) || defined(__linux__)
     if (IN6_IS_ADDR_LINKLOCAL(&dstp->sin6_addr) || 
 	IN6_IS_ADDR_MC_LINKLOCAL(&dstp->sin6_addr))
 	dstp->sin6_scope_id = index;
-- 
1.4.4.4

-- 
YOSHIFUJI Hideaki @ USAGI Project  <yoshfuji@xxxxxxxxxxxxxx>
GPG-FP  : 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA