xref: /aosp_15_r20/external/iptables/extensions/libxt_TOS.man (revision a71a954618bbadd4a345637e5edcf36eec826889)
1*a71a9546SAutomerger Merge WorkerThis module sets the Type of Service field in the IPv4 header (including the
2*a71a9546SAutomerger Merge Worker"precedence" bits) or the Priority field in the IPv6 header. Note that TOS
3*a71a9546SAutomerger Merge Workershares the same bits as DSCP and ECN. The TOS target is only valid in the
4*a71a9546SAutomerger Merge Worker\fBmangle\fP table.
5*a71a9546SAutomerger Merge Worker.TP
6*a71a9546SAutomerger Merge Worker\fB\-\-set\-tos\fP \fIvalue\fP[\fB/\fP\fImask\fP]
7*a71a9546SAutomerger Merge WorkerZeroes out the bits given by \fImask\fP (see NOTE below) and XORs \fIvalue\fP
8*a71a9546SAutomerger Merge Workerinto the TOS/Priority field. If \fImask\fP is omitted, 0xFF is assumed.
9*a71a9546SAutomerger Merge Worker.TP
10*a71a9546SAutomerger Merge Worker\fB\-\-set\-tos\fP \fIsymbol\fP
11*a71a9546SAutomerger Merge WorkerYou can specify a symbolic name when using the TOS target for IPv4. It implies
12*a71a9546SAutomerger Merge Workera mask of 0xFF (see NOTE below). The list of recognized TOS names can be
13*a71a9546SAutomerger Merge Workerobtained by calling iptables with \fB\-j TOS \-h\fP.
14*a71a9546SAutomerger Merge Worker.PP
15*a71a9546SAutomerger Merge WorkerThe following mnemonics are available:
16*a71a9546SAutomerger Merge Worker.TP
17*a71a9546SAutomerger Merge Worker\fB\-\-and\-tos\fP \fIbits\fP
18*a71a9546SAutomerger Merge WorkerBinary AND the TOS value with \fIbits\fP. (Mnemonic for \fB\-\-set\-tos
19*a71a9546SAutomerger Merge Worker0/\fP\fIinvbits\fP, where \fIinvbits\fP is the binary negation of \fIbits\fP.
20*a71a9546SAutomerger Merge WorkerSee NOTE below.)
21*a71a9546SAutomerger Merge Worker.TP
22*a71a9546SAutomerger Merge Worker\fB\-\-or\-tos\fP \fIbits\fP
23*a71a9546SAutomerger Merge WorkerBinary OR the TOS value with \fIbits\fP. (Mnemonic for \fB\-\-set\-tos\fP
24*a71a9546SAutomerger Merge Worker\fIbits\fP\fB/\fP\fIbits\fP. See NOTE below.)
25*a71a9546SAutomerger Merge Worker.TP
26*a71a9546SAutomerger Merge Worker\fB\-\-xor\-tos\fP \fIbits\fP
27*a71a9546SAutomerger Merge WorkerBinary XOR the TOS value with \fIbits\fP. (Mnemonic for \fB\-\-set\-tos\fP
28*a71a9546SAutomerger Merge Worker\fIbits\fP\fB/0\fP. See NOTE below.)
29*a71a9546SAutomerger Merge Worker.PP
30*a71a9546SAutomerger Merge WorkerNOTE: In Linux kernels up to and including 2.6.38, with the exception of
31*a71a9546SAutomerger Merge Workerlongterm releases 2.6.32 (>=.42), 2.6.33 (>=.15), and 2.6.35 (>=.14), there is
32*a71a9546SAutomerger Merge Workera bug whereby IPv6 TOS mangling does not behave as documented and differs from
33*a71a9546SAutomerger Merge Workerthe IPv4 version. The TOS mask indicates the bits one wants to zero out, so it
34*a71a9546SAutomerger Merge Workerneeds to be inverted before applying it to the original TOS field. However, the
35*a71a9546SAutomerger Merge Workeraformentioned kernels forgo the inversion which breaks \-\-set\-tos and its
36*a71a9546SAutomerger Merge Workermnemonics.
37