http://bugs.winehq.org/show_bug.cgi?id=12302
--- Comment #47 from Daniel Santos daniel.santos@pobox.com 2008-07-07 13:51:56 --- Thanks for the response. I guess I'm "it" then. Let me make this really really simple. I ran wireshark and went through an area I knew had problems. In a one particular 0.499944 second time frame (I presume timing was aimed at half a second) the lotro client sent 8530 identical UDP packets at 62 bytes each (19 bytes of actual date, the rest headers). That's a very short time for half a MB of data. But also keep in mind that routers and even the local machine has to do processing for each packet (probably what kills some routers with this bug). Furthermore, I've located evidence (http://forums.lotro.com/showthread.php?t=79612) that a variation of this bug has existed for windows users in the past, propping up the supposition that this is an inherent lotro client bug.
I propose a very simple hack that detects when the same packet is being sent within a 1 second time frame that will simply drop the additional packets. It may be possible to refine it further by looking for some opcode in the packet. I'm wondering if this can actually be done in netfilter, at least as a temporary solution. But I barely know where to start in wine. My hope is that there is a "hacks" library of some type somewhere to contain hacky work-arounds for crappy applications like this one to keep them out of everything else. I guess I need to start surfing and trolling, err, I mean visiting the wine chat room :)
If nothing else, I can make a patch for winsock.c that will be for use only for people running lotro (an ugly idea IMO).