fillPacket was incorrectly setting the buffer sizes and
causing large packets to be egressed incorrectly resulting
in packet drops when the MTU was > buffer size.
PiperOrigin-RevId: 420178122
The same create/write/read pattern is copied around several places. It's easier
to understand in a package with names and comments, and we can reuse the smart
blocking code in package rawfile.
PiperOrigin-RevId: 401647108