We have a bespoke solution to do similar (I keep meaning to make it more generic and open source it). The basic operation is (using our Mimosa devices as an example; it's actually a lot more complicated than that since we have everything from apartment complexes with Ethernet jacks to regular Ubiquiti devices in bridge mode):

This then dovetails into the QoS - because we can be 100% sure that the customer's router has the IP address of the Service IP record in their client site.

It took about an afternoon to setup, and is really nice. We have additional rules like "place unknown CPEs into a block that is redirected to a page reminding the installer to call in the account for setup", special handling of suspended accounts and similar.

People have been begging Ubiquiti to a) support option 82 properly on the M5/M2 line (I have a 10 year old request still unanswered!), and b) provide some sort of RADIUS setup baked into UISP. The latter won't happen, because it reduces vendor lock-in. But it's really easy to setup, and use UISP as a "source of truth". (Obviously, when your clients are bridged you need to take precautions - client isolation, switch port isolation and DHCP snooping)


On Wed, Nov 9, 2022 at 10:07 AM dan <dandenson@gmail.com> wrote:
How are you linking UISP to RADIUS?

On Sat, Nov 5, 2022 at 10:29 AM Robert Chacón via LibreQoS <libreqos@lists.bufferbloat.net> wrote:
In our particular case we use RADIUS tied to UISP so we don't have the immediate need, but I think it's an important feature to add.

Perhaps cpumap-pping can have a feature to define "shaped subnets" during the filter setup, and then we could query cpumap-pping for a JSON output of IPs detected in traffic that are in the "shaped subnets" groups, but not defined in the hash map.

Curious to hear what others think here. Would others need this in order to adopt LibreQoS?


On Sat, Nov 5, 2022 at 7:33 AM Herbert Wolverson via LibreQoS <libreqos@lists.bufferbloat.net> wrote:
As we approach the v1.3 pre-release feature freeze, I've been thinking a little bit about nice things to have. One thing I found useful in both BracketQoS and Preseem was the ability to grab a list of IP addresses that had been through the shaper, but weren't mapped to a queue (obviously, only from within the "allowed IP" range - we're not trying to map the Internet!).

In Preseem, there's a link to download a CSV file containing all the unmapped IP addresses and how much traffic they have consumed. BracketQoS (pre cpumap-pping) has a report showing the IPs (no traffic).

*Why is this useful?*

Knowing which local IP addresses were processed but not mapped lets you find:

* the times that a device was installed, but the on-boarding process wasn't completed. Yes, that shouldn't happen. And - unfortunately - it occasionally does. If you're using RADIUS-based authentication, it's really difficult for this to happen - but not everyone is.
* If there's a bug in your shaper integration, it's helpful to see "oops, I put X on the default"
* Just occasionally, you get a customer who needs a special setup; it's helpful to see that it worked.

*Current Status*

Before cpumap-pping, Bracket was grabbing them by reading the pping output and listing addresses that didn't match a shaping rule. That doesn't work now:

* xdp_pping is spitting out TC handles, rather than IP addresses.
* With a default rule in place, and handling for IPv6 and IPv4 subnets, an IP address might not exactly match an entry (requires an LPM trie lookup) - and IPs matching a default rule (::/0 or 0.0.0.0/0) will always come back with the "default" handle.

It's currently pretty tricky to do.

So I'm curious; would others like to see this? I have a few ideas for how to make it work, but don't want to start serious planning/design if I'm the only one who wants the feature.
_______________________________________________
LibreQoS mailing list
LibreQoS@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/libreqos


--
Robert Chacón

_______________________________________________
LibreQoS mailing list
LibreQoS@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/libreqos