Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet6/in6_src.c
Show First 20 Lines • Show All 185 Lines • ▼ Show 20 Lines | in6_selectsrc(uint32_t fibnum, struct sockaddr_in6 *dstsock, | ||||
struct in6_pktinfo *pi = NULL; | struct in6_pktinfo *pi = NULL; | ||||
int dst_scope = -1, best_scope = -1, best_matchlen = -1; | int dst_scope = -1, best_scope = -1, best_matchlen = -1; | ||||
struct in6_addrpolicy *dst_policy = NULL, *best_policy = NULL; | struct in6_addrpolicy *dst_policy = NULL, *best_policy = NULL; | ||||
u_int32_t odstzone; | u_int32_t odstzone; | ||||
int prefer_tempaddr; | int prefer_tempaddr; | ||||
int error; | int error; | ||||
struct ip6_moptions *mopts; | struct ip6_moptions *mopts; | ||||
NET_EPOCH_ASSERT(); | |||||
KASSERT(srcp != NULL, ("%s: srcp is NULL", __func__)); | KASSERT(srcp != NULL, ("%s: srcp is NULL", __func__)); | ||||
dst = dstsock->sin6_addr; /* make a copy for local operation */ | dst = dstsock->sin6_addr; /* make a copy for local operation */ | ||||
if (ifpp) { | if (ifpp) { | ||||
/* | /* | ||||
* Save a possibly passed in ifp for in6_selectsrc. Only | * Save a possibly passed in ifp for in6_selectsrc. Only | ||||
* neighbor discovery code should use this feature, where | * neighbor discovery code should use this feature, where | ||||
* we may know the interface but not the FIB number holding | * we may know the interface but not the FIB number holding | ||||
▲ Show 20 Lines • Show All 1,022 Lines • Show Last 20 Lines |