LibreQoS
LibreQoS copied to clipboard
Can we add a target destionation for shaping ?
Like we put some ip address and define their download and upload limit, can we target some destination (single IP of a subnet or multiple seperate IPS) to it ?
So that that queue will be shaped only for that destination ip list.
Assuming I understand your question correctly - yes. With v1.2 alpha you can define multiple IPv4s or even entire subnets to be fed into the same queue - now called a circuit. The intended use is where your customer has multiple devices that must be shaped within the same queue. To leverage this feature, make sure the entries all share some common "Circuit ID" number. Here is an example.
I did not explain myself correclty, I'm not talking about source devices, as in the example two source devices with same circuit and different IP Address (100.64.0.5 & 100.64.0.6) is getting shapped within a queue but i'm talking about destination IP address.
Circuit ID,Circuit Name,Device ID,Device Name,Parent Node,MAC,IPv4,IPv6,Download Min,Upload Min,Download Max,Upload Max,Destination IPv4 or IPv6 ,"968 Circle St., Gurnee, IL 60031",1,Device 1,AP_A,,100.64.0.1,,25,5,155,20,10.0.1.0/24 ,"31 Marconi Street, Lake In The Hills, IL 60156",2,Device 2,AP_A,,100.64.0.2,,25,5,105,18,10.0.20.0/24 ,"255 NW. Newport Ave., Jamestown, NY 14701",3,Device 3,AP_9,,100.64.0.3,,25,5,105,18,[10.0.1.0/24,10.0.1.0/24] ,"8493 Campfire Street, Peabody, MA 01960",4,Device 4,AP_9,,100.64.0.4,,25,5,105,18,[192.168.1.1,192.168.15.65] 2794,"6 Littleton Drive, Ringgold, GA 30736",5,Device 5,AP_11,,100.64.0.5,,25,5,105,18,[10.0.1.0/24,192.168.15.65] 2794,"6 Littleton Drive, Ringgold, GA 30736",6,Device 6,AP_11,,100.64.0.6,,25,5,105,18,172.16.0.25 ,"93 Oklahoma Ave., Parsippany, NJ 07054",7,Device 7,AP_1,,100.64.0.7,,25,5,155,20,[172.16.0.25,10.0.1.0/24] ,"74 Bishop Ave., Bakersfield, CA 93306",8,Device 8,AP_1,,100.64.0.8,,25,5,105,18,[2001:4860:4860::8844, 192.168.15.0/24] ,"9598 Peg Shop Drive, Lutherville Timonium, MD 21093",9,Device 9,AP_7,,100.64.0.9,,25,5,105,18,2001:4860:4860::8844 ,"115 Gartner Rd., Gettysburg, PA 17325",10,Device 10,AP_7,,100.64.0.10,,25,5,105,18,[no destination shape normally] ,"525 Birchpond St., Romulus, MI 48174",11,Device 11,Site_1,,100.64.0.11,,25,5,105,18,[no destination shape normally]
Ah ok, my apologies. There is not a way to do something like that at this time. I think you may be able to using the edge router upstream of your LibreQoS box, like with mikrotik you could create a queue targeting a specific destination IP.
What about a u32 match $TC filter add dev $IMQ parent 1: protocol ip prio 1 u32 match ip dst $IP_Address flowid 1:10 Or marking traffic if they go to this destination and use these marks in tc rules ?
Will xdp boost this idea ? or it will kill CPU 🗡️
That is a very good question. That might actually work. From what I understand XDP just moves / filters IP traffic that matches into whatever CPU core we decide, then linux Traffic Control takes over. But past that it may still be possible to do more specific filters like what you're suggesting. I would test it out by limiting a specific website you control to 5Mbps or something, and see if clients shaped by LibreQoS are consistently limited to that amount when they connect to that site only. If it works please let us know that could be a cool feature.
@marsalans is this an answer for you? Otherwise, punting to v1.4, and please re-open.