Solaris Bandwidth Manager uses the TOS byte in the following ways:
In filters, as a classification criterion
In classes, where it defines how the TOS byte must be overwritten
1000 |
minimize delay |
0100 |
maximize throughput |
0010 |
maximize reliability |
0001 |
minimize monetary cost |
0000 |
normal service |
The classification criterion in filters is defined by the tos_match and the tos_match_mask parameters. tos_match_mask is a bitmask that defines which bits of the TOS byte need to be checked. tos_match is the value to check.
For example, to filter all packets whose TOS byte is "minimize delay" and "normal service" (xxx 1xx0 x): tos_match_mask must be set to 000 1001 0 (0x12), and tos_match must be set to 000 1000 0 (0x10).
In classes, the following parameters are used: tos_mark_mask, and tos_mark. tos_mark_mask is a bitmask defining which bits to modify in the TOS byte, and tos_mark is the value to apply.