X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/c7d2c2c6ee645e10cbccdd01c6191873ec77239d..490019cf9519204c5fb36b2fba54ceb983bb6b72:/bsd/netinet/mp_pcb.c diff --git a/bsd/netinet/mp_pcb.c b/bsd/netinet/mp_pcb.c index 304c4c05c..31ea83fd0 100644 --- a/bsd/netinet/mp_pcb.c +++ b/bsd/netinet/mp_pcb.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2013 Apple Inc. All rights reserved. + * Copyright (c) 2012-2016 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -207,7 +207,17 @@ mp_pcballoc(struct socket *so, struct mppcbinfo *mppi) lck_mtx_unlock(&mppi->mppi_lock); mptcplog((LOG_ERR, "MPTCP Socket: Reached MPTCP socket limit."), MPTCP_SOCKET_DBG, MPTCP_LOGLVL_ERR); - return (ENOBUFS); + /* + * This limit may be reached either because of + * a leak or a transient condition where + * MPTCP connections are not released fast + * enough. + * We return EAFNOSUPPORT here to have user + * space library fallback to TCP. + * XXX We need to revist this when we get rid + * of the current low limit imposed on MPTCP. + */ + return (EAFNOSUPPORT); } lck_mtx_unlock(&mppi->mppi_lock);