Page 1 of 1

How can TOS6 limit egress bandwidth to a specific IP?

Posted: 30 Dec 2024, 12:55
by mrslother
I am trying to use TC to shape traffic to a specific IP address so that it doesn't suck up all the bandwidth I have. But when I try, I am told the operation isn't permitted:

Code: Select all

sudo tc qdisc add dev eth1 parent 0: handle 0:1234 htb default 0x30
Responds with:

Code: Select all

RTNETLINK answers: Operation not permitted
Is there another (approved) way to do this?

My scenario:
I run Resilio-Sync on a linux VM which uses a mounted share to my NAS for storage. While indexing or content access the Resilio node pulls data as fast as the NAS will allow it. This leads to conflicts with a plex server trying to do the same.
Therefore I want to limit how much bandwidth is granted to the Resilio node.

[SOLVED] Re: How can TOS6 limit egress bandwidth to a specific IP?

Posted: 03 Jan 2025, 08:19
by mrslother
I solved this problem by limiting content ingress from the NAS device on the Resilio-Sync device. Linux's tc commands to throttle ingress drops packets on the floor therefore the NAS is sending content as fast as it can but also now has to retry the dropped packets. Crazy bad.

Instead I created an IFB interface and using tc redirect content ingress into ifb0 which I can apply tc classes to effectively throttle the ifb0 egress. This forces the eth0 interface to backoff which forces the NAS to backup. This way I get proper throttling without packet loss.

I hope this helps anyone looking for similar problems.

I also hope that Terramaster adds A QoS or other type of bandwidth flow management feature to TOS.

Re: How can TOS6 limit egress bandwidth to a specific IP?

Posted: 07 Jan 2025, 01:02
by TMroy
Thank you for your feedback, we will add it to the feature wanted list.