Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
The Internet

XORP 1.0 Released 76

Mark Handley writes "XORP is the eXtensible Open Router Platform - an open-source router software stack for FreeBSD and Linux. It's designed from scratch to be extensible, so you can write your own router applications that play nicely with the existing routing protocols. We just released XORP 1.0! There's also a Live CD if you want to try it out without reinstalling your machine. More details in this CNET article."
This discussion has been archived. No new comments can be posted.

XORP 1.0 Released

Comments Filter:
  • by Gopal.V ( 532678 ) on Saturday July 10, 2004 @08:23AM (#9660283) Homepage Journal
    For the time I've looked at routers (briefly) , I've already noticed the BusyBox Hall Of Shame [busybox.net] - where router vendors have refused to comply to the license. But I sincerely fear that all this work might get "embrace and extend and sell" by a company - like what happened for the BSD TCP/IP stacks (ok, do an nmap -O on your favourite MS box).

    But this is good for colleges and other places where the concentration of "guys who can stop by and fix the router" is high. Also not to mention the tinfoil factor of a readonly-livecd router (but does it have remote logging).

    • Erm, hold on a sec. They have substantial evidence that their license is being wilfully violated by corporate entities (read: companies use their stuff and make money out of it), right?

      I could understand not going after individuals or non-profits, or if the licensee that's in violation made an honest mistake and fixes it. But what these companies are doing is just the equivilant of giving the finger.

      Why in the world don't they get themselves a good lawyer on a contingency basis (hell, if they have a clea

    • by ffsnjb ( 238634 ) on Saturday July 10, 2004 @08:47AM (#9660343) Homepage
      But I sincerely fear that all this work might get "embrace and extend and sell" by a company - like what happened for the BSD TCP/IP stacks (ok, do an nmap -O on your favourite MS box).

      The BSD folks look at this differently than you do. As long as Microsoft complies with the license for the BSD tools they use in Windows (tcp/ip stack, ftp.exe, etc.), and they have, everything is just peachy. BSD folks just love to see their code used (superiority complex?), and generally don't care as long as the copyright remains; even if every penguin-worshipping-codemonkey's most hated evil empire uses it.
    • Why do you fear this? Products in the market getting better is something to be afraid of? If the authors want to encourage commerical adoption of their work why are you afraid of it? OTOH, willful violation of a license is something that could be dealt with.
    • But I sincerely fear that all this work might get "embrace and extend and sell" by a company - like what happened for the BSD TCP/IP stacks (ok, do an nmap -O on your favourite MS box).

      I doubt anyone could "embrace and extend" it without trying to force the major players (i.e., Cisco) to accept the changes in standard protocols (i.e., SNMP, BGP). That will not happen. That is the beauty of standards.

      BTW, you sound as if you have fallen into the FUD about BSD licenses. The source is always open even wh
  • by Anonymous Coward
    Ironic that there is no mention of Quagga [quagga.net] or Zebra [zebra.org] (that I can see) in either the XORP website, or the CNET article.
    Zebra has been around for a long time now, and is pretty good. Due to the slow release cycle, Quagga forked the codebase, and so there are updated releases. Unfortunately neither project has seen fit to hit the magic 1.0 release.

    - Ivan
    • Not to mention Quagga/Zebra are darn good routers. See the UNH links? Yeah.

      First hand experience beating the crap out of them. :P
    • Considering the release numbering scheme is arbitrary, it's amazing how people underestimate the marketing benefit of calling your first beta release "Release 3.0"

      Consider Windows...
      Release 1.0
      Release 2.0
      Release 3.0
      Release 3.1 (must be slowing down)
      Release 3.11 (really slowing down)
      Release 95 (wow, skipped 91.89 versions!)
      Release 2000 (skipped 1905 versions)
      Release NT and XP (some sort of Advanced Roman Numeral system??)

      • There are two windows products lines - the dos line, and the NT line.

        The dos line: 1.0, 2.0, 3.0, 3.1, 3.11, 95, 98, ME.

        The NT line: 3.5, 4.0, 2000, XP

        Msft seems to want to confuse the two. For example msft comes out with 3.0, 3.1, 3.11, then 3.5. You would think 3.5 would be natural successor, but it isn't. Then msft does the same trick again: 95, 98, 2000. Again, msft throws an NT line windows in the dos line number scheme.

        • by Anonymous Coward
          Hopefully all Slashdotters already know your statement of the obvious. I believe the initial post was meant in jest.
        • I thought that XP was a merge of the two forks? (The NT kernal with a lot of the consumer features of ME).

          Personally I can't see why they kept the DOS line going so long anyway, NT is so much better then the 9X core if they'd just released a cut down NT for consumers (eg. not have 100's of services running as standard) with maybe a dual boot dos option for the games of the time the world would be a much better place.
          • XP is not a merge of the forks. It may contain the feature set of the DOS line, but contains little or none of the code.

            Why did it take so long?

            Because creating the One Windows to Rule Them All was *hard* Originally, it was supposed to be Windows 2000 that put an end to the DOS line. When it became obvious that there was no way that was going to happen, it was postponed to version, XP. Even then, there was a price to pay in stability. I don't mean that XP is totally unstable, but it doesn't compare we
      • I know you were being funny, but whatever the marketing tag, Windows versioning [earthlink.net] has been pretty consistent.

        Windows 95 4.00.950
        Windows 98 4.10.1998

        MS then shifted into a real build numbering system for Win9x (something NT has always had):

        Windows 98 SE 4.10.2222
        Windows ME 4.11.3000

        Windows NT 3.1 3.10.497
        Windows NT 4.0 4.00.1381
        Windows 2000 5.00.2195
        Windows XP 5.1.2600
        Windows 2003 5.2.3763

        Note these version strings are for initially released OSes, service packs and l

        • "Windows XP 5.1.2600"

          Heh, just to confuse matters, the System Properties window on my XP box reads "Version 2002". cmd.exe still reads "Microsoft Windows XP [Version 5.1.2600]". I guess when you have 30-odd million lines of code, one version number just isn't enough ;)

          Heh, MSIE is version: 6.0.2800.1106.xpsp2.030422-1633. I guess the first 4 bits are the base major/minor/revision/build, then branch (one for each OS and OS SP level IE needs to be integrated into), then what could be a date (features froz

      • funny...but wrong!

        I don't recall a Windows 1.0, but i do have :
        Windows 1.02
        Windows 1.03
        Windows 1.04
        Windows 2.01

        and by the way:
        OS/2 1.x
        OS/2 2.x
        Windows NT 3.x (yes MS marketing renamed OS/2 3.00 to Windows NT 3.0)
        Windows NT 4.0
        Windows 2000 = NT 5.0 (type winver)
        Windows XP = NT 5.1
        Windows 2003 = NT 5.2
        Windows Longhorn beta = NT 6.00

        cheers,
        pol :)
    • Does anybody else thinks it's strange that a spin-off project that aims to be "livelier" than te original, chooses for a name the name of an animal that is extinct, while the original projects' name, zebra, is of an animal that is still alive ...
    • Sorry to break it to you, but zebra is hardly a good daemon. It acted up regularly on the boxes we had them on, enough network issues were caused by it that we are in the process.

      It would randomly remove ip addresses from 'routers' and change their sizes other times. Hardly something an ISP wants.

      There is a good reason it has not reached 1, that implies stability.

      • Just noticed I messed that up, this makes more sense. Sorry to break it to you, but zebra is hardly a good daemon. It acted up regularly on the boxes we had them on, enough network issues were caused by it that we are in the process of removing it from the machines and just using regular routing. It would randomly remove ip addresses from 'routers' and change their block sizes other times. Hardly something an ISP wants on their network. There is a good reason it has not reached 1, that implies stability
  • Too top heavy? (Score:2, Interesting)

    by fostware ( 551290 )
    The code/API does not seem to be designed to close to the ucLinux style of coding. While it's a commendable idea to reuse lowend hardware, it's a little heavy on the resources for a "real" device-based router project. Do the XORP web admins know when the code has been downloaded by half the Taiwanese broadband router companies yet? :P
    • depends on what you consider low-end these days.
      or what these people consider low-end
      low-end might be a 433 mhz intel (like my computer) to them, they might have a p4 or the latest 64 bit AMD. so it might be fine on some machines, but I think yours and my definition of lowend is like a 66 mhz 486 with 16 mb of ram or less. or an ARM cpu or some embedded system.

      of course there are the mini-itx systems that would make great mini-routers.
    • It would be a little hard to allocate a reasonably full BGP table on a "real" device, so I think it has probably been designed to use a larger device. One of the advantages of XORP is that the architecture allows for different components to be put on different machines.
  • by Tandoori Haggis ( 662404 ) on Saturday July 10, 2004 @08:34AM (#9660308)
    The cost of traditional routers has been a problem for commercial and non commercial organisations with tight budgets. Even in larger organisations with considerable routing investment there can be a real lack of routers for spares and training.

    Add to this the fact that some old but worthy routers may not run the latest IOS and hence may have some unpatched vulnerability, which will not be addressed by the manufacturer, who understandably wants you to buy their latest kit.

    As the CNET article points out the perceived disadvantage of this open source router software is the performance of the physical platform.

    Perhaps it is the hardware implimentation that made people unsure of the Open Router project?

    Perhaps a respectable router can be built more easily and for less outlay now than 5 years ago?
    • by Fzz ( 153115 ) on Saturday July 10, 2004 @10:10AM (#9660632)
      I don't have results for a new machine with PCI-Express, but a regular 1GHz-class x86 PCs with 32 bit PCI tops out at about 400K minimum-size packets per second. This is limited by PCI saturation - you get fairly low PCI utilization with small packets. But even so, a $300 PC compares favourably with something like a Cisco 7206VXR (which cost ~$30K about 3-4 years ago). This is assuming you are smart about using interface polling [unipi.it] rather that being interrupt-driven. Otherwise you die from interrupt livelock.

      This is plenty fast enough for most edge routers, but clearly not going to compete with a Cisco CRS-1 or Juniper core router.

      But most of the software in a router is control-plane (routing protocols and the like) and this is what XORP has focussed on to-date. As more people get involved with the project, we'll be able to do more things.

      A decade ago no-one thought we'd be running Linux on a supercomputer. But we are. If we can get to the point where XORP is stable enough and fully featured enough for carrier-grade routers, who knows what hardware people will run it on in a few years time.

      We are however very committed to keeping XORP as an open-source platform. No matter who uses it commercially, in the long run the only way to open up the router software market is for many boxes from many vendors to run a common open base software platform. With luck and with a lot of help, maybe that can be XORP.

      - Mark Handley, XORP Project

      • are there any studies to support this 400K per second thing ? seems awful low to me
        • by Fzz ( 153115 ) on Saturday July 10, 2004 @11:34AM (#9661019)
          Take a look at figures 17 and 18 of this paper:
          Eddie Kohler et al, "The Click modular router [mit.edu]". ACM Transactions on Computer Systems 18(3), August 2000, pages 263-297.

          These experiments are a few years old now, but 32-bit PCI hasn't changed in that time, so they should still be valid on non-server-class PCs. Vanilla Linux topped out at around 80Kpps, whereas polling gets you over 300Kpps, and the Click optimizations get you nearer 400Kpps.

          Similar experiments on FreeBSD with device polling give results in the same ballpark.

          - Mark

      • by !ramirez ( 106823 ) on Saturday July 10, 2004 @11:35AM (#9661034)
        The problem, IMHO, is that ALL high end routers use HARDWARE routing (see: flow/fast switching in 7500/12000s) instead of software routing. Unless you 're building ASICs to handle stuff in the data plane (VIPs or whatever the 12ks use for dCEF and the like), you're not really in any danger of becoming used by the higher end routing equipment manufacturers.

        Also, software can be written all day long to run on a general purpose PC - but when was the last time you saw a multimode ATM DS3 interface, or a multichannel T3 interface for a PC?

        Finally, I'm not convinced that opening the router software market is a 'good thing' - Linux advocates continually talk about 'software monoculture' being a bad, bad thing, as evidenced by Microsoft, yet you speak in your last paragraph of wanting precisely this. Imagine a flaw in the way you handled PIM (a la Cisco about a year ago), which would effectively DoS the router. Cisco at least notified their large carriers before specific details leaked onto the net - I shudder to think of someone posting 0day exploit code for something like this on Full-Disclosure.

        (incidentally, I find the project fairly interesting, with the noted lack of redistribution ability. :( Hopefully, this is something that will come along in the next version (maybe?).)
        • The problem, IMHO, is that ALL high end routers use HARDWARE routing (see: flow/fast switching in 7500/12000s) instead of software routing. Unless you 're building ASICs to handle stuff in the data plane (VIPs or whatever the 12ks use for dCEF and the like), you're not really in any danger of becoming used by the higher end routing equipment manufacturers.

          However, they still run their protocols, control "plane", etc. in software on a commodity general purpose CPU, which is what the likes of XORP, GNU Zebr
        • but when was the last time you saw a multimode ATM DS3 interface, or a multichannel T3 interface for a PC?

          Who needs to stick a router on the end of a DS3 pipe anymore?. Consider the price of 10/100/1000/10,000 ethernet, and ask yourself again.

          If you have a campus (large business, research, or education) network with existing ATM, it's now cheaper for you to rip out everything you have and replace it with switched or routed gigabit ethernet than it is to maintain your existing kit.

          If you're a MAN (Metrop
          • Uhm. Not everyone lives in a carrier hotel, and not everyone has easy/simple/cheap access to Metro Ethernet, or UDF, or anything closely resembling a RJ45 connection. I work for an ISP - Bellsouth delivers our PTP DS3s via RG58 coaxial DS3 out of a fiber shelf they installed - asking for a DS3 interface isn't really that exotic, or outdated. You assume that everyone who would want to use routers has access to MANs/Metro Ethernet/RPR/whathaveyou - this is extraordinarily shortsighted.

            If you have a campus (
        • (incidentally, I find the project fairly interesting, with the noted lack of redistribution ability. :( Hopefully, this is something that will come along in the next version (maybe?).)

          Yes, an some sort of automated update (assuming that's what you mean) would be crucial to XORP. I mean, who can really say they write totally secure code? It would be good to set up an updates system, probably using delta patching. No point in making a Microsoftesce mistake.
      • Given that the price to beat is $30K, one can do much better. A recent server MB w/ dual PCI-X busses on it will do a lot better, especially with quality dual Gig ethernet interfaces built in.

        Going with naive assumption of linear scaling, PCI-X will be about 8 times better (2x for 64 bit, approx. 4x more in bus speed) or 3.2Mpackets/sec.

        Given that a transfer between two such machines connected by a crossover is latency bound and with experimental low latency protocols, gets up to about 93% of theoretica

  • by Anonymous Coward
    How am I supposed to know if it's any good if there are no screenshots?
  • Gated skirted over (Score:5, Informative)

    by Anonymous Coward on Saturday July 10, 2004 @08:55AM (#9660361)
    Gated got a mention in the CNET article. It was actually a very good alternative to the commercial vendor hardware - argueably many ISPs (that are around today, eg Demon Internet in the UK) would never have been able to start up if it were not for the existance of Gated.

    Unfortunately this was an example of a kinda BSD-style licence causing problems. The Gated community (which cost a couple of thousand pounds per year to join, providing access to all code/updates) added a great deal of functionality to the code, and benefited from this.

    The whole code was subsequently taken and "owned" by NextHop, meaning most/all of these code benefits were lost. Take a look at the gated.org [gated.org] website to see what happened :(

    - Ivan
    • Actually, a BSD-style license would have kept the *original* code open to anyone. It just wouldn't guarantee NextHop's changes were available. Looks like gated's original "pay for commercial use" clause came around to bite the folks involved.
    • "It should be noted that the GateD code available at this website under the click-thru license was NOT covered by GPL. Hence, the code was available for use ONLY in research and educational purposes."

      This doesn't at all sound like a BSD-style license. Can you elaborate? Was there an original BSD-licensed codebase which the "GateD community" commercialised, or was the "GateD community" the originator in the first place?
    • If it was a BSD license it couldn't have been taken over. A BSD license can get a commercial fork, but the original code remains freely redistributable.
  • important project (Score:3, Insightful)

    by e**(i pi)-1 ( 462311 ) on Saturday July 10, 2004 @09:12AM (#9660393) Homepage Journal
    This is an important project:
    • keeps vendors like Cisco on their toes evenso it can not compete with their products.
    • could allow developing countries to build a better and cheaper internet infrastructure
    • could prevent the development of more great firewalls [wikipedia.org] or find ways around it.
    • pushes research and will in the long term also improve commercial products.
  • Quagga (Score:4, Insightful)

    by Paul Jakma ( 2677 ) on Saturday July 10, 2004 @10:04AM (#9660601) Homepage Journal
    There's also Quagga [quagga.net], a fork of the GNU Zebra [zebra.org] (thanks Kunihiro), which is further along, more mature, in much wider use than XORP (I've not heard of anyone actually using XORP in production, while GNU Zebra and Quagga most definitely are) and, most importantly, not written in C++ ;).

    NB: I'm biased.

  • Seeing as how they were funded by intel and all, it's probably expected that XORP will be fairly popular. I do think that running older hardware as a router is a good idea - I have a pentium P-54C 150MHz that i use as a router (running Freesco [freesco.org]) when my main (Windows...i know....it's humiiliating) computer with ICS goes down. I have never worked with a proper hardware router (just a teenager), but a box running off of a floppy disk/cd/small hard drive is very good as a router, and is very configurable.
  • Per-packet routing (Score:1, Interesting)

    by Anonymous Coward
    Why cant linux do this? Is this not feasible on modern hardware? I find it amusing that I cant simply (for example) use multiple wifi-links in a dynamic way. And no, neither (T)EQL nor ECMP works, ECMP isnt per-packet and EQL isnt dynamic in any way.

    Ive heard of no software that can do this, actually. I know it must exist though?
  • I'll have the P, thanks. Let me help you guys out, "extensible" is spelled with a leading E.

    XORP looks like you're trying to hard to be eXXXtreme! or something. EORP would at least sound like a rider of Rohan. Nerdy either way, of course.

  • Jean-Baptiste.. Emanuel... XORP!
  • by Fzz ( 153115 ) on Saturday July 10, 2004 @02:13PM (#9661781)
    In case you wondered about the wisdom of linking to an ISO, here are our traffic stats.

    www.xorp.org is in California, www2.xorp.org is in London. Both are 6-year old dual 450MHz Xeon machines with 768MBytes of RAM and SCSI disks, running FreeBSD and Apache 1.3.x. Both machines have 100Mb/s access to the Internet.

    In 5 hours:

    www.xorp.org:
    transfered ~30 GBytes
    peaked at around 175 simultaneous httpd processes
    15 min load average peaked at 0.7.
    www2.xorp.org:
    transfered ~20 GBytes
    peaked at around 75 simultaneous httpd processes
    15 min load average peaked at 0.4.
    Aggregate bandwidth was ~25Mbit/sec average. I won't know the peak bandwidth without some more analysis, but it's obviously quite a bit more than 25Mb/s. I didn't notice any obvious slowdown on either machine.

    I've no idea how typical this is, but I'm always curious about how easily sites seem to die due to slashdotting.

    - Mark

  • As a hobbyist programmer, I have one question: what the heck is a stack? I'm imagining stacks are things that slave daemons have to drive around on forklifts, while forced by their dominatrix MCP masters to wear subnet masks (for health-code compliance reasons, naturally).

    But that can't be right.

    • I'm only a sophomore CS student at UT austin, but I believe I have the answer.

      A stack is a data structure designed with last in, first out. The perfect example is a stack of dishes that need to be washed. I wash the dishes on the top, and as my assistants bring in more dishes I end up washing the newer ones first rather than the older dishes.

      However I dont exactly know how TCP/IP makes use of a stack.
    • It may sound silly, but a stack is just that. It's a stack.

      Whatever you put on top is the first thing you take off. (Think of a stack of plates)

      Stacks come with two main operations, push (onto the top) and pop (off of the top). Some operations will pop a number of items and push the result back.

      Since a stack is a general idea, it can be implemented in either hardware or software.

      One classic example of using stacks can be found in the typical procedure call. When you "call" a procedure, a new frame is

Our OS who art in CPU, UNIX be thy name. Thy programs run, thy syscalls done, In kernel as it is in user!

Working...