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 field has the "minimize delay" bit set and the "minimize monetary cost" bit cleared (xxx 1xx0x): 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.