| Horms | 6ce1669 | 2006-07-03 19:35:40 -0700 | [diff] [blame] | 1 | /proc/sys/net/ipv4/vs/* Variables: | 
 | 2 |  | 
 | 3 | am_droprate - INTEGER | 
 | 4 |         default 10 | 
 | 5 |  | 
 | 6 |         It sets the always mode drop rate, which is used in the mode 3 | 
 | 7 |         of the drop_rate defense. | 
 | 8 |  | 
 | 9 | amemthresh - INTEGER | 
 | 10 |         default 1024 | 
 | 11 |  | 
 | 12 |         It sets the available memory threshold (in pages), which is | 
 | 13 |         used in the automatic modes of defense. When there is no | 
 | 14 |         enough available memory, the respective strategy will be | 
 | 15 |         enabled and the variable is automatically set to 2, otherwise | 
 | 16 |         the strategy is disabled and the variable is  set  to 1. | 
 | 17 |  | 
 | 18 | cache_bypass - BOOLEAN | 
 | 19 |         0 - disabled (default) | 
 | 20 |         not 0 - enabled | 
 | 21 |  | 
 | 22 |         If it is enabled, forward packets to the original destination | 
 | 23 |         directly when no cache server is available and destination | 
 | 24 |         address is not local (iph->daddr is RTN_UNICAST). It is mostly | 
 | 25 |         used in transparent web cache cluster. | 
 | 26 |  | 
 | 27 | debug_level - INTEGER | 
 | 28 | 	0          - transmission error messages (default) | 
 | 29 | 	1          - non-fatal error messages | 
 | 30 | 	2          - configuration | 
 | 31 | 	3          - destination trash | 
 | 32 | 	4          - drop entry | 
 | 33 | 	5          - service lookup | 
 | 34 | 	6          - scheduling | 
 | 35 | 	7          - connection new/expire, lookup and synchronization | 
 | 36 | 	8          - state transition | 
 | 37 | 	9          - binding destination, template checks and applications | 
 | 38 | 	10         - IPVS packet transmission | 
 | 39 | 	11         - IPVS packet handling (ip_vs_in/ip_vs_out) | 
 | 40 | 	12 or more - packet traversal | 
 | 41 |  | 
 | 42 | 	Only available when IPVS is compiled with the CONFIG_IPVS_DEBUG | 
 | 43 |  | 
 | 44 | 	Higher debugging levels include the messages for lower debugging | 
 | 45 | 	levels, so setting debug level 2, includes level 0, 1 and 2 | 
 | 46 | 	messages. Thus, logging becomes more and more verbose the higher | 
 | 47 | 	the level. | 
 | 48 |  | 
 | 49 | drop_entry - INTEGER | 
 | 50 |         0  - disabled (default) | 
 | 51 |  | 
 | 52 |         The drop_entry defense is to randomly drop entries in the | 
 | 53 |         connection hash table, just in order to collect back some | 
 | 54 |         memory for new connections. In the current code, the | 
 | 55 |         drop_entry procedure can be activated every second, then it | 
 | 56 |         randomly scans 1/32 of the whole and drops entries that are in | 
 | 57 |         the SYN-RECV/SYNACK state, which should be effective against | 
 | 58 |         syn-flooding attack. | 
 | 59 |  | 
 | 60 |         The valid values of drop_entry are from 0 to 3, where 0 means | 
 | 61 |         that this strategy is always disabled, 1 and 2 mean automatic | 
 | 62 |         modes (when there is no enough available memory, the strategy | 
 | 63 |         is enabled and the variable is automatically set to 2, | 
 | 64 |         otherwise the strategy is disabled and the variable is set to | 
 | 65 |         1), and 3 means that that the strategy is always enabled. | 
 | 66 |  | 
 | 67 | drop_packet - INTEGER | 
 | 68 |         0  - disabled (default) | 
 | 69 |  | 
 | 70 |         The drop_packet defense is designed to drop 1/rate packets | 
 | 71 |         before forwarding them to real servers. If the rate is 1, then | 
 | 72 |         drop all the incoming packets. | 
 | 73 |  | 
 | 74 |         The value definition is the same as that of the drop_entry. In | 
 | 75 |         the automatic mode, the rate is determined by the follow | 
 | 76 |         formula: rate = amemthresh / (amemthresh - available_memory) | 
 | 77 |         when available memory is less than the available memory | 
 | 78 |         threshold. When the mode 3 is set, the always mode drop rate | 
 | 79 |         is controlled by the /proc/sys/net/ipv4/vs/am_droprate. | 
 | 80 |  | 
 | 81 | expire_nodest_conn - BOOLEAN | 
 | 82 |         0 - disabled (default) | 
 | 83 |         not 0 - enabled | 
 | 84 |  | 
 | 85 |         The default value is 0, the load balancer will silently drop | 
 | 86 |         packets when its destination server is not available. It may | 
 | 87 |         be useful, when user-space monitoring program deletes the | 
 | 88 |         destination server (because of server overload or wrong | 
 | 89 |         detection) and add back the server later, and the connections | 
 | 90 |         to the server can continue. | 
 | 91 |  | 
 | 92 |         If this feature is enabled, the load balancer will expire the | 
 | 93 |         connection immediately when a packet arrives and its | 
 | 94 |         destination server is not available, then the client program | 
 | 95 |         will be notified that the connection is closed. This is | 
 | 96 |         equivalent to the feature some people requires to flush | 
 | 97 |         connections when its destination is not available. | 
 | 98 |  | 
 | 99 | expire_quiescent_template - BOOLEAN | 
 | 100 | 	0 - disabled (default) | 
 | 101 | 	not 0 - enabled | 
 | 102 |  | 
 | 103 | 	When set to a non-zero value, the load balancer will expire | 
 | 104 | 	persistent templates when the destination server is quiescent. | 
 | 105 | 	This may be useful, when a user makes a destination server | 
 | 106 | 	quiescent by setting its weight to 0 and it is desired that | 
 | 107 | 	subsequent otherwise persistent connections are sent to a | 
 | 108 | 	different destination server.  By default new persistent | 
 | 109 | 	connections are allowed to quiescent destination servers. | 
 | 110 |  | 
 | 111 | 	If this feature is enabled, the load balancer will expire the | 
 | 112 | 	persistence template if it is to be used to schedule a new | 
 | 113 | 	connection and the destination server is quiescent. | 
 | 114 |  | 
 | 115 | nat_icmp_send - BOOLEAN | 
 | 116 |         0 - disabled (default) | 
 | 117 |         not 0 - enabled | 
 | 118 |  | 
 | 119 |         It controls sending icmp error messages (ICMP_DEST_UNREACH) | 
 | 120 |         for VS/NAT when the load balancer receives packets from real | 
 | 121 |         servers but the connection entries don't exist. | 
 | 122 |  | 
 | 123 | secure_tcp - INTEGER | 
 | 124 |         0  - disabled (default) | 
 | 125 |  | 
 | 126 |         The secure_tcp defense is to use a more complicated state | 
 | 127 |         transition table and some possible short timeouts of each | 
 | 128 |         state. In the VS/NAT, it delays the entering the ESTABLISHED | 
 | 129 |         until the real server starts to send data and ACK packet | 
 | 130 |         (after 3-way handshake). | 
 | 131 |  | 
 | 132 |         The value definition is the same as that of drop_entry or | 
 | 133 |         drop_packet. | 
 | 134 |  | 
 | 135 | sync_threshold - INTEGER | 
 | 136 |         default 3 | 
 | 137 |  | 
 | 138 |         It sets synchronization threshold, which is the minimum number | 
 | 139 |         of incoming packets that a connection needs to receive before | 
 | 140 |         the connection will be synchronized. A connection will be | 
 | 141 |         synchronized, every time the number of its incoming packets | 
 | 142 |         modulus 50 equals the threshold. The range of the threshold is | 
 | 143 |         from 0 to 49. |