(toppers-users 4005) TINETのマルチキャスト送信の件

高橋和浩@nifty takahashi_kazuhiro @ nifty.com
2012年 7月 19日 (木) 15:47:46 JST


阿部先生、MLの皆様
お世話になっております。

マルチキャスト受信は、先日の変更で受信できましたが、送信については、
さらに以下の変更が必要でした。

以下、報告します。

1行追加のみです。


tinet\netinet6\in6.c
/*
 * in6_ifawithifp -- 宛先アドレスにふさわしい送信元アドレスを、
 *                   ネットワークインタフェースから探索する。
 */

T_IN6_IFADDR *
in6_ifawithifp (T_IFNET *ifp, T_IN6_ADDR *dst)
{
	uint_t	scope;
	int_t	ix;

	/* 宛先アドレスと同じスコープのアドレスを返す。*/
	if ((ix = in6_addr2ifaix(dst)) != IPV6_IFADDR_IX_INVALID)
		return &ifp->in_ifaddrs[ix];
	else if ((ix = in6_addr2maix(dst)) == IPV6_MADDR_IX_SOL_NODE ||
	          ix                       == IPV6_MADDR_IX_MDNS ||				//alvs高橋
	          ix                       == IPV6_MADDR_IX_LL_ALL_NODE)
		return &ifp->in_ifaddrs[IPV6_IFADDR_IX_LINKLOCAL];
	else {
		scope = in6_addrscope(dst);
		for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) {
			if ((ifp->in_ifaddrs[ix].flags & IN6_IFF_DEFINED) &&
			    (ifp->in_ifaddrs[ix].flags & IN6_IFF_DETACHED) == 0 &&
			    in6_addrscope(&ifp->in_ifaddrs[ix].addr) == scope) {
				return &ifp->in_ifaddrs[ix];
				}
			}
		return NULL;
		}
	}
---
アライブビジョンソフトウエア株式会社
高橋和浩
673-0005兵庫県明石市小久保2-2-7幹線ビル4F
Email:takahashi_kazuhiro @ nifty.com
http://homepage3.nifty.com/ALVS/