Nope, however I can imagine following reasons:
1. Too many proc-fs entries
2. Not too often used
3. Planned to be replaced by per-app entries through ipvsadm
It must be the last one. And we're back to the original discussion about
timer settings again. Ok, none of us seems to have the time to properly
implement Julian's per-app timeout framework.
+ {NET_IPV4_VS_DOS_TO_LI, "dos_timeout_listen",
+ &vs_timeout_table_dos.timeout[IP_VS_S_LISTEN],
+ sizeof(int), 0644, NULL, &proc_dointvec_jiffies},
+ {NET_IPV4_VS_DOS_TO_SA, "dos_timeout_synack",
+ &vs_timeout_table_dos.timeout[IP_VS_S_SYNACK],
+ sizeof(int), 0644, NULL, &proc_dointvec_jiffies},
+ {NET_IPV4_VS_DOS_TO_UDP, "dos_timeout_udp",
+ &vs_timeout_table_dos.timeout[IP_VS_S_UDP],
+ sizeof(int), 0644, NULL, &proc_dointvec_jiffies},
+ {NET_IPV4_VS_DOS_TO_ICMP, "dos_timeout_icmp",
&vs_timeout_table_dos.timeout[IP_VS_S_ICMP],
sizeof(int), 0644, NULL, &proc_dointvec_jiffies},
{NET_IPV4_VS_CACHE_BYPASS, "cache_bypass",
The above hunk should look quite different on 2.6.
But in principle I think it looks ok.
I had a look at it tonight and it's non-trivial actually. Once I learned
about the consequences of following futile attempt I surrendered:
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
diff --git a/net/ipv4/ipvs/ip_vs_ctl.c b/net/ipv4/ipvs/ip_vs_ctl.c
index 7f0288b..751ed21 100644
--- a/net/ipv4/ipvs/ip_vs_ctl.c
+++ b/net/ipv4/ipvs/ip_vs_ctl.c
@@ -1450,11 +1450,10 @@ static struct ctl_table vs_vars[] = {
.mode = 0644,
.proc_handler = &proc_do_defense_mode,
},
-#if 0
{
.ctl_name = NET_IPV4_VS_TO_ES,
.procname = "timeout_established",
- .data =
&vs_timeout_table_dos.timeout[IP_VS_S_ESTABLISHED],
+ .data =
&ip_vs_protocol_tcp.timeout_table[IP_VS_TCP_S_ESTABLISHED],
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec_jiffies,
@@ -1462,7 +1461,7 @@ static struct ctl_table vs_vars[] = {
{
.ctl_name = NET_IPV4_VS_TO_SS,
.procname = "timeout_synsent",
- .data = &vs_timeout_table_dos.timeout[IP_VS_S_SYN_SENT],
+ .data =
&ip_vs_protocol_tcp.timeout_table[IP_VS_TCP_S_SYN_SENT],
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec_jiffies,
@@ -1470,7 +1469,7 @@ static struct ctl_table vs_vars[] = {
{
.ctl_name = NET_IPV4_VS_TO_SR,
.procname = "timeout_synrecv",
- .data = &vs_timeout_table_dos.timeout[IP_VS_S_SYN_RECV],
+ .data =
&ip_vs_protocol_tcp.timeout_table[IP_VS_TCP_S_SYN_RECV],
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec_jiffies,
@@ -1478,7 +1477,7 @@ static struct ctl_table vs_vars[] = {
{
.ctl_name = NET_IPV4_VS_TO_FW,
.procname = "timeout_finwait",
- .data = &vs_timeout_table_dos.timeout[IP_VS_S_FIN_WAIT],
+ .data =
&ip_vs_protocol_tcp.timeout_table[IP_VS_TCP_S_FIN_WAIT],
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec_jiffies,
@@ -1486,7 +1485,7 @@ static struct ctl_table vs_vars[] = {
{
.ctl_name = NET_IPV4_VS_TO_TW,
.procname = "timeout_timewait",
- .data = &vs_timeout_table_dos.timeout[IP_VS_S_TIME_WAIT],
+ .data =
&ip_vs_protocol_tcp.timeout_table[IP_VS_TCP_S_TIME_WAIT],
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec_jiffies,
@@ -1494,7 +1493,7 @@ static struct ctl_table vs_vars[] = {
{
.ctl_name = NET_IPV4_VS_TO_CL,
.procname = "timeout_close",
- .data = &vs_timeout_table_dos.timeout[IP_VS_S_CLOSE],
+ .data =
&ip_vs_protocol_tcp.timeout_table[IP_VS_TCP_S_CLOSE],
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec_jiffies,
@@ -1502,7 +1501,7 @@ static struct ctl_table vs_vars[] = {
{
.ctl_name = NET_IPV4_VS_TO_CW,
.procname = "timeout_closewait",
- .data = &vs_timeout_table_dos.timeout[IP_VS_S_CLOSE_WAIT],
+ .data =
&ip_vs_protocol_tcp.timeout_table[IP_VS_TCP_S_CLOSE_WAIT],
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec_jiffies,
@@ -1510,7 +1509,7 @@ static struct ctl_table vs_vars[] = {
{
.ctl_name = NET_IPV4_VS_TO_LA,
.procname = "timeout_lastack",
- .data = &vs_timeout_table_dos.timeout[IP_VS_S_LAST_ACK],
+ .data =
&ip_vs_protocol_tcp.timeout_table[IP_VS_TCP_S_LAST_ACK],
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec_jiffies,
@@ -1518,7 +1517,7 @@ static struct ctl_table vs_vars[] = {
{
.ctl_name = NET_IPV4_VS_TO_LI,
.procname = "timeout_listen",
- .data = &vs_timeout_table_dos.timeout[IP_VS_S_LISTEN],
+ .data =
&ip_vs_protocol_tcp.timeout_table[IP_VS_TCP_S_LISTEN],
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec_jiffies,
@@ -1526,11 +1525,12 @@ static struct ctl_table vs_vars[] = {
{
.ctl_name = NET_IPV4_VS_TO_SA,
.procname = "timeout_synack",
- .data = &vs_timeout_table_dos.timeout[IP_VS_S_SYNACK],
+ .data =
&ip_vs_protocol_tcp.timeout_table[IP_VS_TCP_S_SYNACK],
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec_jiffies,
},
+#if 0
{
.ctl_name = NET_IPV4_VS_TO_UDP,
.procname = "timeout_udp",
Maybe another time, :(
Roberto Nibali, ratz
--
echo
'[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc
|