The route/ section of the IPv4 sysctl's contains mainly some loosely related variables that changes the effect in the route cache, or the routing code in the kernel. Some will simply change how many error/warning messages are printed by the routing code, and others will change the garbage collection timings in the route cache.
This variables is used in conjunction with error_cost to limit how many ICMP destination unreachable messages the routing code will send out. This variable tells the function the maximum amount of tokens that we have available, while the error_cost variable tells us how many tokens are used up by each ICMP destination unreachable packet. If error_burst is emptied and we receive more packets for that host, we will ignore them.
ICMP destination unreachable messages are generally sent when our host, or router, does not know how to reach a specific host or network. This may be for three basic reasons:
During these three sircumstances, the networking code sends out ICMP Destination Unreachable messages with three different codes if necessary:
|
The error_burst variable is per default set to 500 and takes an integer value. Together with the default value of error_cost this means that we allow the routing code to send 5 ICMP Destination unreachables per second.
For a complete explanation, see the error_burst variable. Basically, this variable sets the cost of sending a single ICMP destination unreachable to someone.
The error_cost variable is per default set to 100, which means we can send a maximum of 5 ICMP destination unreachables per second, together with the default value of error_burst.
This variable is extremely simple in use. It can not be read since it contains no real data. If you write anything to it as root, it will simply flush the whole routing cache. For example, if you know that a route has changed somewhere, you would simply echo something into this file, and the route cache will be emptied. If you would like to read the route cache, take a look at the /proc/net/rt_cache. This file contains a lot of information about the routes currently in the cache.