back to article At 900k lines of code, ONOS is getting heavy. Can it go on a diet?

Software Defined Networking (SDN) has changed the landscape of networking, but along the way it has created its own problems. Doug Comer of Purdue University thinks disaggregating SDN controllers like the Open Source Network Operating System (ONOS) could be a way forward. Comer's name should be familiar to most of The Register …

  1. joeldillon

    Should I really have heard of the Xinu embedded operating system?

    Sounds a bit...Thetan, to me.

    1. Zippy´s Sausage Factory
      Black Helicopters

      It's just Unix backwards.

      I'm sure that's just a coincidence...

      1. Steve Knox Silver badge

        Xinu Is Not Unix!

        [Was to be a joke, but that's what XINU actually means. ]

  2. Christian Berger Silver badge

    Well that's what you get when your concept doesn't fit on a beer coaster

    I mean SDN could be simple. After all you just have a set of more or less standard components which need their settings.

    Now the hard part is to connect that all into someting more powerfull and expose that power to an interface without it spiralling into millions of codelines. What would be needed is a simple overlying idea, kinda like the UNIX philosophy.

    Adding complex message passing systems like Kafka certainly doesn't help in that regard, but it may aid in finding a way towards something good.

  3. Gene Cash Silver badge

    So essentially they need a Linus Torvalds, that swears a lot and throws out crap commits...

  4. yoganmahew

    Ditched for Kafka

    Essentially he is saying ditch SDN for Kafka - have your semi-dumb controller (that only does network layer processing) talk to and from a Kafka cluster and make Kafka stream processes do the hard work. It turns out there's life in the OSI 7-layer model and specialised processing by layer is a good idea.

    Aside from efficiency concerns, it would seem yet another point of failure is added on an already failure-ridden comms stack. Getting from front-end to back-end used to be straighforward to operate. Now layers and layers of SD firewalls and SD networks intervene. The idea that this can be E2E tested for all situations is no longer tenable.

    1. adibrastegarnia

      Re: Ditched for Kafka

      Thanks for your comments. Kafka is just a message distribution system that we used to externalize packet processing. We are working on a new implementation based on gRPC to reduce the overhead as much as we can and generalize the idea to an event distribution system that also allows us to implement controller services and apps using any programming language with a minimum effort. You will hear more about it soon but our preliminary results show that its overhead is almost nothing when compared with its advantages.

      In the monolithic approach, If one of the services in the controller fails, it can potentially affect everything (i.e. other apps and services) because of the strong dependency between the modules. In the disaggregated model, each service/app will be executed in a container and we can orchestrate multiple instances of the same service/app using container orchestrators like Kubernetes or Docker swarm. If one of them fails, another instance can be replaced easily. In this model, each service and app can be developed independent of the other services and even in a separate github repository. It gives more flexibility to the programmers to choose their programming language and third libraries to implement their SDN management apps. I hope my comments answer some of your questions.

      Adib Rastegarnia

    2. A.P. Veening

      OSI 7-layer model

      "It turns out there's life in the OSI 7-layer model and specialised processing by layer is a good idea."

      The problem with that model is that layers 8 and 9 are always forgotten.

  5. Justicesays

    So, what are the micro SDN services communicating over?

    Is it SDN's all the way down?

    1. adibrastegarnia

      Re: So, what are the micro SDN services communicating over?

      Micro-services communicate over gRPC or REST API but gRPC is preferred. In almost all of the programming language you can find a microservice framework.

      Adib Rastegarnia

  6. fibrefool

    only 900k?

    they're 3M LoC behind ODL:

    and as usual it all comes down to how you define "SDN" :)

  7. DerGoat

    err .. Duh...

    This conversation makes me feel like an idiot. Compared to the Networking Gods on Mount Olympus I know that I'm a lowly idiot, but I'd like to know what the big kids are talking about. Can someone dumb it down for me?

    Yesterday, I was giving a lecture on how switches work to my new crop of vocational students, when the very best one of the new students, out of the corner of my eye, started eating his boogers. I was shocked, but couldn't stop the lecture. I had to watch him have a snack a few times as I explained port tables and MAC addresses.

    Reading this I feel like I'm that booger eater. Please! Dumb this down for this booger eater.

  8. Kevin McMurtrie Silver badge


    I rarely associate adding big Google and Apache systems with complexity and size reduction. Usually that's phase 1 where you're exploring requirements/architectures and nothing is ready for optimization.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2019