[LibreQoS] Integration system, aka fun with graph theory

Dave Taht dave.taht at gmail.com
Thu Oct 27 17:44:33 EDT 2022


Not necessarily useful in this context, but one of my all time
favorite graphing tools was the gource animations for commit logs and
developer interest. You think that's kind of a boring subject, yes?
Well, play one of these animations back...

https://gource.io/

I've always kind of wanted to see a network evolve over time, in much
the same way.



On Thu, Oct 27, 2022 at 2:33 PM Herbert Wolverson via LibreQoS
<libreqos at lists.bufferbloat.net> wrote:
>
> So I've been doing some work on getting UISP integration (and integrations in general) to work a bit more smoothly.
>
> I started by implementing a graph structure that mirrors both the networks and sites system. It's not done yet, but the basics are coming together nicely. You can see my progress so far at: https://github.com/thebracket/LibreQoS/tree/integration-common-graph
>
> Our UISP instance is a great testcase for torturing the system. I even found a case of UISP somehow auto-generating a circular portion of the tree. We have:
>
> Non Ubiquiti devices as "other devices"
> Sections that need shaping by subnet (e.g. "all of 192.168.1.0/24 shared 100 mbit")
> Bridge mode devices using Option 82 to always allocate the same IP, with a "service IP" entry
> Various bits of infrastructure mapped
> Sites that go to client sites, which go to other client sites
>
> In other words, over the years we've unleashed a bit of a monster. Cleaning it up is a useful talk, but I wanted the integration to be able to handle pathological cases like us!
>
> So I fed our network into the current graph generator, and used graphviz to spit out a directed graph:
>
> That doesn't include client sites! Legend:
>
> Green = the root site.
> Red = a site
> Blue = an access point
> Magenta = a client site that has children
>
> So the part in "common" is designed heavily to reduce repetition. When it's done, you should be able to feed in sites, APs, clients, devices, etc. in a pretty flexible manner. Given how much code is shared between the UISP and Splynx integration code, I'm pretty sure both will be cut to a tiny fraction of the total code. :-)
>
> I can't post the full tree, it's full of client names.
> _______________________________________________
> LibreQoS mailing list
> LibreQoS at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/libreqos



-- 
This song goes out to all the folk that thought Stadia would work:
https://www.linkedin.com/posts/dtaht_the-mushroom-song-activity-6981366665607352320-FXtz
Dave Täht CEO, TekLibre, LLC


More information about the LibreQoS mailing list