Does/Will Tomato Support TCP Vegas??

Discussion in 'Tomato Firmware' started by rizsher, Apr 22, 2008.

  1. rizsher

    rizsher Network Guru Member

    Saw this over at the DD-WRT forum:,

    Seems like some of the folks have had very good results usingit for voip... tried it on my Tomato 1.19 WRT54GS and got a "Directory Nonexistant" message...

    Does anyone have any experience with this, and would it be something Tomato could do with?.
  2. puddle

    puddle LI Guru Member

    + 1

    I have used this on a linux machine recently and it is very cool indeed! I have a wireless uplink which is shared by many users, so my upload/download is very very burst'y...

    "TCP Vegas is a TCP congestion control, or network congestion avoidance, algorithm that emphasizes packet delay, rather than packet loss, as a signal to help determine the rate at which to send packets. It was developed at the University of Arizona by Lawrence Brakmo and Larry L. Peterson.

    TCP Vegas is one of several varieties of TCP congestion avoidance algorithm. It is one of a series of efforts at TCP tuning that adapt congestion control and system behaviors to new challenges faced by increases in available bandwidth in Internet components on networks like Internet2."
  3. rizsher

    rizsher Network Guru Member

    So... any plans to add this to Tomato then Jon?
  4. rcordorica

    rcordorica Network Guru Member

    The question is, can we tweak the congestion algorithm on each interface? For example, Westwood is best for the wireless network, but sucks (or is no better than) the default Reno. If you read some of the white papers:

    it seems that BIC is best overall in terms of bandwidth. Vegas should help with latency it seems (which is very important with p2p/mixed traffic and maintaining responsiveness) but doesn't achieve good bandwidth.

    It would be nice to have BIC on the WAN and Westwood on the WLAN.
  5. hardc0re

    hardc0re Network Guru Member

    From my understanding, the TCP Vegas congestion control mechanism does not apply to the router. It is set at the sending end-point, i.e. your PC. A good short description is here at

    Quote: "Vegas is an alternative implementation that interoperates with any other valid implementation of TCP, and all changes are confined to the sending side."

    If you are using Windows Vista, you can enable CTCP (Compound TCP, Microsoft's enhancemend based on TCP Vegas) by going to the command prompt.

    To check:
    netsh interface tcp show global

    To enable CTCP:
    netsh interface tcp set global congestionprovider=ctcp

    You may or may not like the difference.

    Back to Linux, the later versions of the Linux kernel support TCP Vegas, but I think that only applies to the Linux machine as a TCP end-point (client or server). In our case, the Linux machine (running Tomato) is the router, so there's probably no point to it.
  6. rizsher

    rizsher Network Guru Member

    Reading the DD forum, it seems like it DOES work on the router as well, the guy who enabled it seemed to rave aboutit.... not sure if it actually really does do anything for VoIP...which ismy main concern against the deluge of torrent downloads!!!
  7. hardc0re

    hardc0re Network Guru Member

    I read the DD forums too. But so far there is no hard evidence to suggest it works, or how it works.

    If the router really had an effect on TCP Vegas, then every router in the path would need to have TCP Vegas enabled, and there are A LOT of routers in the path, not just the WRT54G in our home. If you do a 'tracert', every reply that comes in is from an intermediate router between your PC and the destination.

    There were some changes in the users' experience that could have been caused by simply disabling QoS. QoS itself takes up significant CPU and if not properly adjusted, will cause more harm than good.

    On a side note, all thats needed to support TCP Vegas in Tomato is to update certain core Linux networking components. Some of them have already been updated in my SpeedMod, but not the ones that enable Vegas. I might try to see if I can update those when I have some time.
  8. callous

    callous Network Guru Member

    Stop approaching this like an academic who only wants to talk but not do.

    This works. Try it and then judge.
  9. TexasFlood

    TexasFlood Network Guru Member

    I've seen a number of positive reports over on the dd-wrt forums. It's anecdotal eveidence but seems overwhelmingly positive. Seems like an intriguing thing ot play with if it's not a terribly hard thing to implement.
  10. rizsher

    rizsher Network Guru Member

    Lately, there has been a suddent burst of feedback about Vegas on the DD-WRT forum, the feedback has been almost invariably positive, the programmers themselves are keeping rather mum on the subject, as if its presence was a surprise to them as well. In anycase, BrainSlayer has stated he will be merging it to the code base (not really sure what that means, but that is what he said he will do).

    Hardcore: My knowledge of the internet and how networks work is severely limited, but what you say about every other router on the network with regards to TCPVegas would/should just as much apply to standard QoS as well??, yet people generally report that QoS DOES indeed work.
  11. rizsher

    rizsher Network Guru Member

    Update: I flashed a spare router with DD-WRT v24 final and enabled TCP-Vegas as explained in their forum.

    Been running it without QoS enabled, today, I started downloading an ISO using Azureus, got a particularly good torrent and was getting speeds in excess of 107 KB/s, prior to that, with any kind of QoS settings, I used to have trouble with VoIP calls, but now, with Vegas, I've had multiple conference calls as well (3 parties including myself), and the quality was always exceptional.

    There surely is something in TCP_Vegas, maybe one of the Modded firmware creators can look at incorprating it in the code base??...
  12. Quick2822

    Quick2822 LI Guru Member

    I've been tossing around the idea of trying DD-WRT again so I can try the TCP Vegas thing that everyone is raving about.

    I wish it could be enabled on Tomato. Been a bit since an upgrade from 1.19.
  13. rizsher

    rizsher Network Guru Member

    Would it be possible to install this as a package on Tomato?
  14. Larix

    Larix LI Guru Member

    Has anyone asked Jon if he can add TCP Vegas into Tomato?
  15. V1King

    V1King Guest

    It would be great to have that enabled/included in tomato,,,,
  16. azeari

    azeari LI Guru Member

    hmm forgive my ignorance.. but

    1. QoS works by dropping packets of lower priorities while allowing higher priority packets through; and
    2. Vegas works by delaying packets of lower priorities instead of dropping them..

    in this case? wouldn't the router need an absurd amount of memory to store and forward delayed packets?

    I can understand how its possibly installed on the router(since its running linux), but to actually store/delay/forward.. not sure how tts possible (= perhaps someone could enlighten me ^^
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice