netfilter: use a linked list of loggers
This patch modifies nf_log to use a linked list of loggers for each protocol. This list of loggers is read and write protected with a mutex. This patch separates registration and binding. To be used as logging module, a module has to register calling nf_log_register() and to bind to a protocol it has to call nf_log_bind_pf(). This patch also converts the logging modules to the new API. For nfnetlink_log, it simply switchs call to register functions to call to bind function and adds a call to nf_log_register() during init. For other modules, it just remove a const flag from the logger structure and replace it with a __read_mostly. Signed-off-by: Eric Leblond <eric@inl.fr> Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
committed by
Patrick McHardy
parent
28337ff543
commit
ca735b3aaa
@ -464,7 +464,7 @@ static struct xt_target log_tg_reg __read_mostly = {
|
||||
.me = THIS_MODULE,
|
||||
};
|
||||
|
||||
static const struct nf_logger ipt_log_logger ={
|
||||
static struct nf_logger ipt_log_logger __read_mostly = {
|
||||
.name = "ipt_LOG",
|
||||
.logfn = &ipt_log_packet,
|
||||
.me = THIS_MODULE,
|
||||
|
@ -379,7 +379,7 @@ static struct xt_target ulog_tg_reg __read_mostly = {
|
||||
.me = THIS_MODULE,
|
||||
};
|
||||
|
||||
static struct nf_logger ipt_ulog_logger = {
|
||||
static struct nf_logger ipt_ulog_logger __read_mostly = {
|
||||
.name = "ipt_ULOG",
|
||||
.logfn = ipt_logfn,
|
||||
.me = THIS_MODULE,
|
||||
|
Reference in New Issue
Block a user