qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
26.72k stars 3.87k forks source link

ToS Setting Issue #18947

Open vault-thirteen opened 1 year ago

vault-thirteen commented 1 year ago

qBittorrent & operating system versions

qBittorrent: 4.5.2 x64 Operating system: Windows 10 Pro 22H2 (10.0.19045) x64 Qt: 5.15.8 Libtorrent: 1.2.18.0

What is the problem?

Preamble

Well, first of all, the ToS is not used in modern computer networks. Modern computers use DSCP instead. So, providing a ToS setting in qBittorrent in the year 2023 when everyone is using DSCP looks very strange, to say the least.

Actual Bug

The provided ToS setting is not working in qBittorrent.

I am using the Windows O.S. specified earlier in the issue. The QoS is enabled in the network adapter.

The default vaue of ToS in qBittorrent is 4 which is absurd, because, there are no CS or AF mappings for such a value. The only mapping I can find is the LE which is DSCP = 000001 (BIN).

CS0 uses DSCP = 000000 (BIN) = 0 (DEC). CS1 uses DSCP = 001000 (BIN) = 8 (DEC). AF11 uses DSCP = 001010 (BIN) = 10 (DEC).

Sources: https://www.iana.org/assignments/dscp-registry/dscp-registry.xhtml https://www.bytesolutions.com/dscp-tos-cos-presidence-conversion-chart/

Steps to reproduce

When I inspect the real value of DSCP in my network router traffic sniffer, I see that qBittorrent is sending packets with DSCP set as 10 when the ToS is set to the default 4 in qBittorrent.

How can that be ? I investiate it further.

If I change the qBittorrent ToS setting to 32 = 00100000 (BIN), which is supposed to be DSCP equal to 001000 (BIN) = 8 (DEC), which is CS1, I get DSCP visible as 10 in the traffic sniffer.

If I change the qBittorrent ToS setting to 48 = 00110000 (BIN), which is supposed to be DSCP equal to 001100 (BIN) = 12 (DEC), which is AF12, I get DSCP visible as 10 in the traffic sniffer.

So, in these three use cases I always get DSCP set to 10 no matter what ToS I use in qBittorrent.

Additional context

No response

Log(s) & preferences file(s)

No response

Chocobo1 commented 1 year ago

The provided ToS setting is not working in qBittorrent.

Maybe related: https://github.com/arvidn/libtorrent/issues/6812

The default vaue of ToS in qBittorrent is 4 which is absurd, because, there are no CS or AF mappings for such a value.

See the history: https://github.com/arvidn/libtorrent/pull/6637#issuecomment-1006638817