Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet6/in6_src.c
Show First 20 Lines • Show All 967 Lines • ▼ Show 20 Lines | #endif | ||||
INP_HASH_WLOCK_ASSERT(pcbinfo); | INP_HASH_WLOCK_ASSERT(pcbinfo); | ||||
error = prison_local_ip6(cred, laddr, | error = prison_local_ip6(cred, laddr, | ||||
((inp->inp_flags & IN6P_IPV6_V6ONLY) != 0)); | ((inp->inp_flags & IN6P_IPV6_V6ONLY) != 0)); | ||||
if (error) | if (error) | ||||
return(error); | return(error); | ||||
/* XXX: this is redundant when called from in6_pcbbind */ | /* XXX: this is redundant when called from in6_pcbbind */ | ||||
if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT)) == 0) | if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT|SO_REUSEPORT_LB)) == 0) | ||||
lookupflags = INPLOOKUP_WILDCARD; | lookupflags = INPLOOKUP_WILDCARD; | ||||
inp->inp_flags |= INP_ANONPORT; | inp->inp_flags |= INP_ANONPORT; | ||||
error = in_pcb_lport(inp, NULL, &lport, cred, lookupflags); | error = in_pcb_lport(inp, NULL, &lport, cred, lookupflags); | ||||
if (error != 0) | if (error != 0) | ||||
return (error); | return (error); | ||||
▲ Show 20 Lines • Show All 259 Lines • Show Last 20 Lines |