The inner workings of TCP zero-copy