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