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
When passing the socket to kernelspace, userspace may had already started reading a new (but not complete!) packet.
This means that now DCO will receive data which is not the beginning of a new packet, but rather the end of a previous one, that is partly buffered in userspace.
This goes against the current assumption made bvy DCO, that is "I expect new packets from the beginning".
To fix this scenario, userspace could pass a "residual length" parameter along with the socket telling DCO how many bytes should directly be passed to userspace before assuming that a new packet will begin.
This change should happen in the new-peer command.
The text was updated successfully, but these errors were encountered:
As of now userspace won't make this happen, because it checks if there is any residual and if so, it just bails out.
However we will likely implement this feature to improve flexibility and avoid corner cases.
When passing the socket to kernelspace, userspace may had already started reading a new (but not complete!) packet.
This means that now DCO will receive data which is not the beginning of a new packet, but rather the end of a previous one, that is partly buffered in userspace.
This goes against the current assumption made bvy DCO, that is "I expect new packets from the beginning".
To fix this scenario, userspace could pass a "residual length" parameter along with the socket telling DCO how many bytes should directly be passed to userspace before assuming that a new packet will begin.
This change should happen in the new-peer command.
The text was updated successfully, but these errors were encountered: