4 ms·
While I (sort of) agree with the basic premise of what you're saying, in the real world, its not very helpful. We didn't "pick" UDP. We operate a VoIP related
by sunsu 11y ago
While I (sort of) agree with the basic premise of what you're saying, in the real world, its not very helpful.
We didn't "pick" UDP. We operate a VoIP related service that interoperates with many different carriers via SIP. Almost all of those carriers ONLY use UDP. SIP UDP packets can often be fairly large. This is especially problematic because GCE uses a non standard MTU size (1460 bytes). This does not make our app, or every other SIP related app that is forced to use UDP, "Buggy".
- jsolson 11y agoUpon further consideration, I've deleted the bulk of this comment. Rough summary of what I had here: I'm an engineer on GCE (in particular I built our current virtio-net device and a small fraction of the other fiddly bits that sit behind that) -- some details in the bug jumped out at me and I thought there might be a quick fix, but I hadn't processed all of the details and posted a bit prematurely. After further review my original post was essentially content free other than 'IP fragmentation works correctly between internal IPs', which is not germane to the actual customer-reported issue.
- sunsu 11y agoThanks for your comment. The vast majority of networks outside of GCE don't use an MTU of 1460. Even if we set the instance MTU size to 1460, we still have problems. If a UDP packet sent to a GCE instance from outside GCE is larger than GCE's MTU, the first fragment is received and no subsequent fragments ever make it to the instance. This is the bug. This is very common with protocols like SIP when the SDP gets large due to a lot of media attributes.
- jsolson 11y agoYup, sorry, I hadn't read all of the details before I commented. I've mostly deleted my original as it didn't apply. When I jumped on HN on my ride home I saw this and was a weeee bit over-eager to be helpful.