FYI, QOS only works on OUTGOING traffic only your LAN, doesn't work on traffic coming back into your network from your WAN port.
So shaping the outgoing traffic is only good if you are running a porn site on the same network as your P2Pool!
Not true... Depends on the features of your router.
Mine allows detailed QoS priority settings for Outgoing and Incoming connections separately across the WAN <-> LAN and can also limit settings across various LAN IPs.
If your router only supports outgoing QoS, it's a shitty router/switch.
I think it depends on if you set it using a port or mac. Also, your router can't really control the next router.
This true, you can't control the ISP's router which sending you the traffic which might explain why the only routers I have seen that provide inbound WAN are enterprise level ones that ISP's would use. I doubt any bitcoin miner would want to become an ISP just so they can have QOS WAN inbound working properly.
Enterprise = products from RiverBed and Cisco.
I have the somewhat crappy consumer Router that Verizon FioS customers get and like I said above, it supports Inbound and Outbound QoS settings tied to Port, IP, MAC, etc. You can also get pretty granular with your priority tiers and how it manages them.
Note: this is not my setup...just using an example image from the 'net. My settings are actually a bit more elaborate for my various development services, mining related stuff (bitciond, namecoind, p2pool, stratum proxy etc) and my media stuff.
And that's not even going into the settings for Traffic Shaping, DSCP, 802.1p, etc.
And this router is hardly Enterprise Class.
In short; there is a lot of delicate information on this topic.
You can't directly QoS traffic coming inbound. When the traffic reaches your router, there's little you can do about it. What you do, is slow the rate of TCP replies, or start dropping packets to limit a certain type, say HTTP traffic, inbound. So, those settings he sees is the router trying to QoS traffic inbound indirectly.
It may work, it may not. Ultimately you're at the mercy of whoever is sending you traffic, because once traffic has arrived at your router to QoS, there's nothing that you can do at that point; it's already gone over your internet connection to reach your router, taking up your bandwidth. And even then, the indirect QoS can only work on TCP traffic. UDP traffic is connectionless, and no amount of dropped packets will slow it down. anything will send UDP traffic as fast as it can.
You see, when applying QoS to traffic, you put certain types of traffic (HTTP, HTTPS, etc.) into different priority queues (High, medium, and low in this case). The router only applies those queues when sending traffic outbound, because it can't do anything directly to traffic inbound.
So, as an example:
HTTP traffic is to be put in a low priority queue. Coming inbound, it would traverse your internet connection, and arrive at your router. Then, your router would apply the QoS policy to put it in a low priority queue, which would send it out to your LAN after higher priority traffic, say your bitcoin miner and vice versa when going outbound. Your router can try to drop packets to stem the flow of traffic, hoping that TCP's algorithms take hold and slow down traffic once the other end realizes that traffic is being dropped. But then you end up with dropped packets, etc. in short, your router cannot QoS traffic directly that has not arrived at it yet.