Skip to content
BSD syscall#447

svc · unix #447

connectx

Multipath-aware connect that takes a list of source/destination endpoints and can return immediately for TFO.

Prototype

int connectx(int socket, const sa_endpoints_t *endpoints, sae_associd_t associd, unsigned int flags, const struct iovec *iov, unsigned int iovcnt, size_t *len, sae_connid_t *connid);

Returns: int

Arguments

NameTypeDirDescription
socketint-
endpointsconst sa_endpoints_t-
associdsae_associd_t-
flagsunsigned int-
iovconst struct iovec-
iovcntunsigned int-
lensize_t-
connidsae_connid_t-

Version history

XNU tagmacOS#
xnu-2422.115.4macOS 10.9 Mavericks447
xnu-2782.40.9macOS 10.10 Yosemite447
xnu-3247.1.106macOS 10.11 El Capitan447
xnu-3789.1.32macOS 10.12 Sierra447
xnu-4570.1.46macOS 10.13 High Sierra447
xnu-4903.221.2macOS 10.14 Mojave447
xnu-6153.11.26macOS 10.15 Catalina447
xnu-7195.50.7.100.1macOS 11.0 Big Sur447
xnu-8019.41.5macOS 12.0 Monterey447
xnu-8792.41.9macOS 13.0 Ventura447
xnu-10002.1.13macOS 14.0 Sonoma447
xnu-11215.1.10macOS 15.0 Sequoia447
xnu-11417.101.15macOS 15.4 Sequoia447
xnu-12377.1.9macOS 26.0 Tahoe447
xnu-10002.41.9—447
xnu-10002.61.3—447
xnu-10002.81.5—447
xnu-10063.101.15—447
xnu-10063.121.3—447
xnu-10063.141.1—447
xnu-11215.41.3—447
xnu-11215.61.5—447
xnu-11215.81.4—447
xnu-11417.121.6—447
xnu-11417.140.69—447
xnu-12377.101.15—447
xnu-12377.41.6—447
xnu-12377.61.12—447
xnu-12377.81.4—447
xnu-2422.1.72—447
xnu-2422.100.13—447
xnu-2422.110.17—447
xnu-2422.90.20—447
xnu-2782.1.97—447
xnu-2782.10.72—447
xnu-2782.20.48—447
xnu-2782.30.5—447
xnu-3247.10.11—447
xnu-3248.20.55—447
xnu-3248.30.4—447
xnu-3248.40.184—447
xnu-3248.50.21—447
xnu-3248.60.10—447
xnu-3789.21.4—447
xnu-3789.31.2—447
xnu-3789.41.3—447
xnu-3789.51.2—447
xnu-3789.60.24—447
xnu-3789.70.16—447
xnu-4570.20.62—447
xnu-4570.31.3—447
xnu-4570.41.2—447
xnu-4570.51.1—447
xnu-4570.61.1—447
xnu-4570.71.2—447
xnu-4903.231.4—447
xnu-4903.241.1—447
xnu-4903.270.47—447
xnu-6153.101.6—447
xnu-6153.121.1—447
xnu-6153.141.1—447
xnu-6153.41.3—447
xnu-6153.61.1—447
xnu-6153.81.5—447
xnu-7195.101.1—447
xnu-7195.121.3—447
xnu-7195.141.2—447
xnu-7195.60.75—447
xnu-7195.81.3—447
xnu-8019.61.5—447
xnu-8019.80.24—447
xnu-8020.101.4—447
xnu-8020.121.3—447
xnu-8020.140.41—447
xnu-8792.61.2—447
xnu-8792.81.2—447
xnu-8796.101.5—447
xnu-8796.121.2—447
xnu-8796.141.3—447

Notes

Backbone of macOS/iOS Multipath TCP (MPTCP) and SIOCSCONNECTIONID-style flows: callers pass an sa_endpoints_t with one or more local interfaces and one or more remote addresses, and the kernel picks an interface using NECP and the current MPTCP scheduler. The CONNECT_RESUME_ON_READ_WRITE flag enables TCP Fast Open by deferring the SYN until the first send. Returns an associd_t the caller can later use with disconnectx/peeloff.

Detection

Surfaces in NEFilterDataProvider just like connect, but the NEFilterSocketFlow carries multipath metadata. iOS-style 'Wi-Fi Assist' uses connectx to fan out connections; on macOS only Apple's networking stack and entitled apps invoke it directly.

Related APIs

connectdisconnectxpeeloffnecp_client_actionsetsockopt