fix the change of interface in nd6_storelladdr for multicast

addresses too.

Reported by: Jun Kuriyama
This commit is contained in:
Luigi Rizzo 2004-04-26 20:31:46 +00:00
parent 5a59cefcd1
commit 354c3d34d2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=128666

View File

@ -2048,7 +2048,7 @@ nd6_storelladdr(ifp, rt0, m, dst, desten)
case IFT_ETHER:
case IFT_FDDI:
#ifdef IFT_L2VLAN
case IFT_L2VLAN:
case IFT_L2VLAN:
#endif
#ifdef IFT_IEEE80211
case IFT_IEEE80211:
@ -2056,7 +2056,7 @@ nd6_storelladdr(ifp, rt0, m, dst, desten)
case IFT_ISO88025:
ETHER_MAP_IPV6_MULTICAST(&SIN6(dst)->sin6_addr,
desten);
return (1);
return (0);
case IFT_IEEE1394:
/*
* netbsd can use if_broadcastaddr, but we don't do so
@ -2064,13 +2064,13 @@ nd6_storelladdr(ifp, rt0, m, dst, desten)
*/
for (i = 0; i < ifp->if_addrlen; i++)
desten[i] = ~0;
return (1);
return (0);
case IFT_ARCNET:
*desten = 0;
return (1);
return (0);
default:
m_freem(m);
return (0);
return (EAFNOSUPPORT);
}
}