Changeset View
Changeset View
Standalone View
Standalone View
sys/net/rtsock.c
Show First 20 Lines • Show All 793 Lines • ▼ Show 20 Lines | #ifdef INET6 | ||||
} | } | ||||
#endif | #endif | ||||
} | } | ||||
static void | static void | ||||
export_rtaddrs(const struct rtentry *rt, struct sockaddr *dst, | export_rtaddrs(const struct rtentry *rt, struct sockaddr *dst, | ||||
struct sockaddr *mask) | struct sockaddr *mask) | ||||
{ | { | ||||
uint32_t scopeid = 0; | |||||
#ifdef INET | #ifdef INET | ||||
if (dst->sa_family == AF_INET) { | if (dst->sa_family == AF_INET) { | ||||
struct sockaddr_in *dst4 = (struct sockaddr_in *)dst; | struct sockaddr_in *dst4 = (struct sockaddr_in *)dst; | ||||
struct sockaddr_in *mask4 = (struct sockaddr_in *)mask; | struct sockaddr_in *mask4 = (struct sockaddr_in *)mask; | ||||
uint32_t scopeid = 0; | |||||
rt_get_inet_prefix_pmask(rt, &dst4->sin_addr, &mask4->sin_addr, | rt_get_inet_prefix_pmask(rt, &dst4->sin_addr, &mask4->sin_addr, | ||||
&scopeid); | &scopeid); | ||||
return; | return; | ||||
} | } | ||||
#endif | #endif | ||||
#ifdef INET6 | #ifdef INET6 | ||||
if (dst->sa_family == AF_INET6) { | if (dst->sa_family == AF_INET6) { | ||||
struct sockaddr_in6 *dst6 = (struct sockaddr_in6 *)dst; | struct sockaddr_in6 *dst6 = (struct sockaddr_in6 *)dst; | ||||
struct sockaddr_in6 *mask6 = (struct sockaddr_in6 *)mask; | struct sockaddr_in6 *mask6 = (struct sockaddr_in6 *)mask; | ||||
rt_get_inet6_prefix_pmask(rt, &dst6->sin6_addr, &mask6->sin6_addr, | uint32_t scopeid = 0; | ||||
&scopeid); | rt_get_inet6_prefix_pmask(rt, &dst6->sin6_addr, | ||||
&mask6->sin6_addr, &scopeid); | |||||
dst6->sin6_scope_id = scopeid; | dst6->sin6_scope_id = scopeid; | ||||
return; | return; | ||||
} | } | ||||
#endif | #endif | ||||
} | } | ||||
/* | /* | ||||
▲ Show 20 Lines • Show All 1,495 Lines • Show Last 20 Lines |