ltm rule command IP tosΒΆ

iRule(1)						BIG-IP TMSH Manual						  iRule(1)

IP::tos
       Returns (or sets) the ToS value encoded within a packet.

SYNOPSIS
       IP::tos (clientside | serverside)? (IP_TOS)?

DESCRIPTION
       Returns (or sets) the ToS value encoded within a packet. The Type of Service (ToS) standard is a means by which network
       equipment can identify and treat traffic differently based on an identifier. As traffic enters the site, the BIG-IP system
       can apply a rule that sends the traffic to different pools of servers based on the ToS level within a packet, or can set
       the ToS value on traffic matching specific patterns.

       Note: If using DSCP values, know that is a bit-shifted value within the tos field, so if you need the value to be DSCP 46,
       the actual value you need to use with the command is 184 (bit-shifted twice, so 22=4 * DSCP = TOS). Please use this table
       for refererence:

       DSCP Mappings for IP::tos Command Precedence   Type of Service	DSCP Class   DSCP Value   IP::tos Value 0	     0
       none	    0		 0 1		0		  cs1	       8	    32 1	    1		      af11
       10	    40 1	    10		      af12	   12		48 1		11		  af13	       14
       56 10	       0		 cs2	      16	   64 10	   1		     af21	  18	       72
       10	    10		      af22	   20		80 10		11		  af23	       22	    88 11
       0		 cs3	      24	   96 11	   1		     af31	  26	       104 11		10
       af32	    28		 112 11 	  11		    af33	 30	      120 100	       0
       cs4	    32		 128 100	  1		    af41	 34	      136 100	       10
       af42	    36		 144 100	  11		    af43	 38	      152 101	       0
       cs5	    40		 160 101	  11		    ef		 46	      184 110	       0
       cs6	    48		 192 111	  0		    cs7 	 56	      224 This command is equivalent to
       the BIG-IP 4.X variable ip_tos.

RETURN VALUE
       Returns the ToS value encoded within a packet

VALID DURING
       CLIENT_ACCEPTED

EXAMPLES
	when CLIENT_ACCEPTED {
	  if { [IP::tos] == 64 } {
	     pool telnet_pool
	  } else {
	     pool slow_pool
	 }
	}

	when CLIENT_ACCEPTED {
	  if { [TCP::local_port] == 554 } {
	    # this sets DSCP to 46 (EF)
	    IP::tos 184
	  }
	}

HINTS
SEE ALSO
CHANGE LOG
       @BIGIP-9.0.0 --First introduced the command.

BIG-IP							    2022-04-12							  iRule(1)