From: Yang Hongyang <yanghy@cn.fujitsu.com>
To: David Miller <davem@davemloft.net>, yoshfuji@linux-ipv6.org
Cc: netdev@vger.kernel.org
Subject: [PATCH] IPv6:fix the return interface index when get it while no message is received
Date: Fri, 08 Aug 2008 13:59:54 +0800 [thread overview]
Message-ID: <489BE0DA.80306@cn.fujitsu.com> (raw)
In-Reply-To: <489BCB1A.5040100@cn.fujitsu.com>
Yang Hongyang wrote:
> when I use getsockopt(sk, IPPROTO_IPV6, IPV6_2292PKTOPTIONS,(char *)incmsg, &cnt)
> to get receiving interface index while no message is received,
>
> What interface index should be returned?
When get receiving interface index while no message is received,
the bounded device's index of the socket should be returned?
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
--- a/ipv6_sockglue.c
+++ b/ipv6_sockglue.c
@@ -911,7 +911,7 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
} else {
if (np->rxopt.bits.rxinfo) {
struct in6_pktinfo src_info;
- src_info.ipi6_ifindex = np->mcast_oif;
+ src_info.ipi6_ifindex = np->mcast_oif ? np->mcast_oif : sk->sk_bound_dev_if;
ipv6_addr_copy(&src_info.ipi6_addr, &np->daddr);
put_cmsg(&msg, SOL_IPV6, IPV6_PKTINFO, sizeof(src_info), &src_info);
}
@@ -921,7 +921,7 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
}
if (np->rxopt.bits.rxoinfo) {
struct in6_pktinfo src_info;
- src_info.ipi6_ifindex = np->mcast_oif;
+ src_info.ipi6_ifindex = np->mcast_oif ? np->mcast_oif : sk->sk_bound_dev_if;
ipv6_addr_copy(&src_info.ipi6_addr, &np->daddr);
put_cmsg(&msg, SOL_IPV6, IPV6_2292PKTINFO, sizeof(src_info), &src_info);
}
--
1.5.3.8
next prev parent reply other threads:[~2008-08-08 6:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-08 4:27 get receiving interface index while no message is received Yang Hongyang
2008-08-08 5:59 ` Yang Hongyang [this message]
2008-08-08 6:03 ` [PATCH] IPv6:fix the return interface index when get it " David Miller
2008-08-08 14:58 ` Vlad Yasevich
2008-08-18 5:41 ` David Miller
-- strict thread matches above, loose matches on Subject: below --
2008-08-18 6:07 Yang Hongyang
2008-08-18 6:22 ` David Miller
2008-08-18 13:31 ` Vlad Yasevich
2008-08-19 5:38 ` David Miller
2008-08-19 6:28 ` Yang Hongyang
2008-08-19 13:36 ` Vlad Yasevich
2008-08-20 2:56 ` Yang Hongyang
2008-08-20 13:10 ` Vlad Yasevich
2008-08-22 11:54 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=489BE0DA.80306@cn.fujitsu.com \
--to=yanghy@cn.fujitsu.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=yoshfuji@linux-ipv6.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.