Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet6/udp6_usrreq.c
Show First 20 Lines • Show All 1,209 Lines • ▼ Show 20 Lines | if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) { | ||||
if (error != 0) | if (error != 0) | ||||
goto out; | goto out; | ||||
vflagsav = inp->inp_vflag; | vflagsav = inp->inp_vflag; | ||||
inp->inp_vflag |= INP_IPV4; | inp->inp_vflag |= INP_IPV4; | ||||
inp->inp_vflag &= ~INP_IPV6; | inp->inp_vflag &= ~INP_IPV6; | ||||
NET_EPOCH_ENTER(et); | NET_EPOCH_ENTER(et); | ||||
INP_HASH_WLOCK(pcbinfo); | INP_HASH_WLOCK(pcbinfo); | ||||
error = in_pcbconnect(inp, (struct sockaddr *)&sin, | error = in_pcbconnect(inp, (struct sockaddr *)&sin, | ||||
td->td_ucred); | td->td_ucred, true); | ||||
INP_HASH_WUNLOCK(pcbinfo); | INP_HASH_WUNLOCK(pcbinfo); | ||||
NET_EPOCH_EXIT(et); | NET_EPOCH_EXIT(et); | ||||
/* | /* | ||||
* If connect succeeds, mark socket as connected. If | * If connect succeeds, mark socket as connected. If | ||||
* connect fails and socket is unbound, reset inp_vflag | * connect fails and socket is unbound, reset inp_vflag | ||||
* field. | * field. | ||||
*/ | */ | ||||
if (error == 0) | if (error == 0) | ||||
▲ Show 20 Lines • Show All 145 Lines • Show Last 20 Lines |