Changeset View
Changeset View
Standalone View
Standalone View
head/sys/net/if_ethersubr.c
Show First 20 Lines • Show All 219 Lines • ▼ Show 20 Lines | #ifdef INET | ||||
} | } | ||||
break; | break; | ||||
#endif | #endif | ||||
#ifdef INET6 | #ifdef INET6 | ||||
case AF_INET6: | case AF_INET6: | ||||
if (lle != NULL && (pflags & LLE_VALID)) | if (lle != NULL && (pflags & LLE_VALID)) | ||||
memcpy(edst, &lle->ll_addr.mac16, sizeof(edst)); | memcpy(edst, &lle->ll_addr.mac16, sizeof(edst)); | ||||
else | else | ||||
error = nd6_storelladdr(ifp, m, dst, (u_char *)edst, | error = nd6_resolve(ifp, is_gw, m, dst, (u_char *)edst, | ||||
&pflags); | &pflags); | ||||
if (error) | if (error) | ||||
return error; | return (error == EWOULDBLOCK ? 0 : error); | ||||
type = htons(ETHERTYPE_IPV6); | type = htons(ETHERTYPE_IPV6); | ||||
break; | break; | ||||
#endif | #endif | ||||
case pseudo_AF_HDRCMPLT: | case pseudo_AF_HDRCMPLT: | ||||
{ | { | ||||
const struct ether_header *eh; | const struct ether_header *eh; | ||||
hdrcmplt = 1; | hdrcmplt = 1; | ||||
▲ Show 20 Lines • Show All 902 Lines • Show Last 20 Lines |