PERFORCE change 130453 for review
Kip Macy
kmacy at FreeBSD.org
Fri Dec 7 19:16:38 PST 2007
http://perforce.freebsd.org/chv.cgi?CH=130453
Change 130453 by kmacy at kmacy:storage:toestack on 2007/12/08 03:15:45
add sysctl to drop all syncache entries
don't skip offloaded entries from syncache timeout
Affected files ...
.. //depot/projects/toestack/sys/netinet/tcp_syncache.c#9 edit
Differences ...
==== //depot/projects/toestack/sys/netinet/tcp_syncache.c#9 (text+ko) ====
@@ -195,6 +195,10 @@
SYSCTL_NODE(_net_inet_tcp, OID_AUTO, syncache, CTLFLAG_RW, 0, "TCP SYN cache");
+static int tcp_syncache_drop_all(SYSCTL_HANDLER_ARGS);
+SYSCTL_PROC(_net_inet_tcp_syncache, OID_AUTO, drop_all, CTLTYPE_INT | CTLFLAG_RW,
+ 0, 0, tcp_syncache_drop_all, "IU", "drop all elements in the syncache");
+
SYSCTL_INT(_net_inet_tcp_syncache, OID_AUTO, bucketlimit, CTLFLAG_RDTUN,
&tcp_syncache.bucket_limit, 0, "Per-bucket hash limit for syncache");
@@ -407,10 +411,6 @@
sch->sch_nextc = sc->sc_rxttime;
continue;
}
-#ifndef DISABLE_TCP_OFFLOAD
- if (sc->sc_inc.inc_eh != NULL)
- continue;
-#endif
if (sc->sc_rxmits > tcp_syncache.rexmt_limit) {
if ((s = tcp_log_addrs(&sc->sc_inc, NULL, NULL, NULL))) {
log(LOG_DEBUG, "%s; %s: Retransmits exhausted, "
@@ -1727,3 +1727,29 @@
return error;
}
+static int
+tcp_syncache_drop_all(SYSCTL_HANDLER_ARGS)
+{
+ struct syncache_head *sch = tcp_syncache.hashbase;
+ struct syncache *sc, *nsc;
+ int error, v;
+
+ v = 0;
+ error = sysctl_handle_int(oidp, &v, 0, req);
+ if (error)
+ return (error);
+ if (v == 0)
+ return (0);
+
+ printf("dropping syncache entries\n");
+ SCH_LOCK(sch);
+ TAILQ_FOREACH_SAFE(sc, &sch->sch_bucket, sc_hash, nsc) {
+ printf("dropping %p\n", sc);
+
+ syncache_drop(sc, sch);
+ }
+ SCH_UNLOCK(sch);
+
+ return (0);
+}
+
More information about the p4-projects
mailing list