So, Comcast cable internet has a new failure mode for me. It's done this twice in the last week: connection is still up, enough packets get through to kind of use websites, in fact all the downstream packets get through so for some uses it's almost fine, but there's massive packet loss on the upstream path, and worse for larger packets.
So if I ping an external host, with the default 64 byte packet size, I see something like 3% packet loss (and by running another ping in the other direction and sniffing traffic at both ends, it's obvious the traffic loss is only upstream from my house: if a ping gets out from my house, it always gets a response, and any drops are because the ping request never gets to the remote server; in the other direction, I see pings that leave the remote server, hit my house, this end claims a response was sent and the other end never sees it).
If I use "ping -s 1400" to generate larger packets, I see something more like:
123 packets transmitted, 65 packets received, 47.2% packet loss
round-trip min/avg/max/stddev = 15.701/179.111/3119.093/575.770 ms
Comcast's speed test (which tries to measure ping rtt, then downstream speed of some large file, then upstream speed of some garbage data) often stalls completely, but if it gives me a downstream result at all, it'll be just fine -- say 32mbps. Then the upstream test usually gets too confused to yield a result.