I had the same trouble with Half-Life 2 / Deathmatch / DoD and fixed it with QoS. If funchords' suggestion doesn't work, here's some more advanced setup for you.
Log into your router and try these settings:
Go to Advanced -> QoS Engine
Make sure these are checked:
Enable Traffic Shaping
Automatic Uplink Speed
Enable QoS Engine
Automatic Classification
Dynamic Fragmentation
Then create a QoS Entry:
Name: Half Life
Priority: 1
Protocol: UDP
Local IP Port Range: 192.168.0.1 to 192.168.0.254 ***
Remote IP Port Range: 0.0.0.0 to 255.255.255.255
Local Port Range: 27005 to 27015
Remote Port Range: 27005 to 27015
Make sure you put a checkmark in the box next to the entry, scroll up and click Save Settings. You may be required to reboot the router. Once this is complete, try firing up Half-Life and see how it works.
If you have a Digital Phone (VoIP / Vonage ), you may want a priority like what funchords suggested, 64. A game of Half Life could prevent the phone from working properly.

*** if you have changed your local ip network from default, make sure to use that network instead