git: 7a52b570e758 - main - siftr: bring back the siftr_pkts_per_log feature
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 May 2023 16:23:49 UTC
The branch main has been updated by cc: URL: https://cgit.FreeBSD.org/src/commit/?id=7a52b570e758a5f607c4071e260065633632c868 commit 7a52b570e758a5f607c4071e260065633632c868 Author: Cheng Cui <cc@FreeBSD.org> AuthorDate: 2023-05-30 11:02:45 +0000 Commit: Cheng Cui <cc@FreeBSD.org> CommitDate: 2023-05-30 12:23:36 +0000 siftr: bring back the siftr_pkts_per_log feature Summary: this missing feature is introduced by commit aa61cff4249c Test Plan: verified in Emulab.net Reviewers: rscheff, tuexen Approved by: tuexen (mentor) Subscribers: imp, melifaro, glebius Differential Revision: https://reviews.freebsd.org/D40336 --- sys/netinet/siftr.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c index 2c02130bbcca..cbcd2b2ead42 100644 --- a/sys/netinet/siftr.c +++ b/sys/netinet/siftr.c @@ -379,6 +379,22 @@ siftr_process_pkt(struct pkt_node * pkt_node) if (hash_node == NULL) { return; + } else if (siftr_pkts_per_log > 1) { + /* + * Taking the remainder of the counter divided + * by the current value of siftr_pkts_per_log + * and storing that in counter provides a neat + * way to modulate the frequency of log + * messages being written to the log file. + */ + hash_node->counter = (hash_node->counter + 1) % + siftr_pkts_per_log; + /* + * If we have not seen enough packets since the last time + * we wrote a log message for this connection, return. + */ + if (hash_node->counter > 0) + return; } log_buf = alq_getn(siftr_alq, MAX_LOG_MSG_LEN, ALQ_WAITOK);