You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
__mptcp_push_pending() and __mptcp_subflow_push_pending() allocate some fwd memory at the subflow level, for the pushed skbs and their contents - either via __mptcp_alloc_tx_skb() or mptcp_sendmsg_frag().
When such memory schedule fails, both __mptcp_push_pending() and __mptcp_subflow_push_pending() silently terminate, and the mptcp protocol will try to push again the data only on later sendmsg() or when receiving a later ack from the peer. Potentially on memory allocation failure the pending data can be stuck forever.
We could:
on failure schedule a timer and push again when the timer elapses, unless a push in between is successful
try to "borrow" fwd memory from the msk, if available (and e.v. schedule 2x required mem at sendmsg() time so that we will always be able to borrow it).
???
The text was updated successfully, but these errors were encountered:
__mptcp_push_pending() and __mptcp_subflow_push_pending() allocate some fwd memory at the subflow level, for the pushed skbs and their contents - either via __mptcp_alloc_tx_skb() or mptcp_sendmsg_frag().
When such memory schedule fails, both __mptcp_push_pending() and __mptcp_subflow_push_pending() silently terminate, and the mptcp protocol will try to push again the data only on later sendmsg() or when receiving a later ack from the peer. Potentially on memory allocation failure the pending data can be stuck forever.
We could:
The text was updated successfully, but these errors were encountered: