Skip to content

Commit

Permalink
netfilter: print the list of register loggers
Browse files Browse the repository at this point in the history
This patch modifies the proc output to add display of registered
loggers. The content of /proc/net/netfilter/nf_log is modified. Instead
of displaying a protocol per line with format:
	proto:logger
it now displays:
	proto:logger (comma_separated_list_of_loggers)
NONE is used as keyword if no logger is used.

Signed-off-by: Eric Leblond <eric@inl.fr>
Signed-off-by: Patrick McHardy <kaber@trash.net>
  • Loading branch information
Eric Leblond authored and Patrick McHardy committed Mar 16, 2009
1 parent ca735b3 commit c7a913c
Showing 1 changed file with 26 additions and 2 deletions.
28 changes: 26 additions & 2 deletions net/netfilter/nf_log.c
Original file line number Diff line number Diff line change
Expand Up @@ -154,13 +154,37 @@ static int seq_show(struct seq_file *s, void *v)
{
loff_t *pos = v;
const struct nf_logger *logger;
struct nf_logger *t;
int ret;

logger = rcu_dereference(nf_loggers[*pos]);

if (!logger)
return seq_printf(s, "%2lld NONE\n", *pos);
ret = seq_printf(s, "%2lld NONE (", *pos);
else
ret = seq_printf(s, "%2lld %s (", *pos, logger->name);

if (ret < 0)
return ret;

mutex_lock(&nf_log_mutex);
list_for_each_entry(t, &nf_loggers_l[*pos], list[*pos]) {
ret = seq_printf(s, "%s", t->name);
if (ret < 0) {
mutex_unlock(&nf_log_mutex);
return ret;
}
if (&t->list[*pos] != nf_loggers_l[*pos].prev) {
ret = seq_printf(s, ",");
if (ret < 0) {
mutex_unlock(&nf_log_mutex);
return ret;
}
}
}
mutex_unlock(&nf_log_mutex);

return seq_printf(s, "%2lld %s\n", *pos, logger->name);
return seq_printf(s, ")\n");
}

static const struct seq_operations nflog_seq_ops = {
Expand Down

0 comments on commit c7a913c

Please sign in to comment.