All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] Netfilter packet logging updates (v2)
@ 2014-06-25 12:32 Pablo Neira Ayuso
  2014-06-25 12:32 ` [PATCH 1/9] netfilter: kill ulog targets Pablo Neira Ayuso
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Pablo Neira Ayuso @ 2014-06-25 12:32 UTC (permalink / raw)
  To: netfilter-devel; +Cc: kaber

Hi!

This is a second round of patches to update the Netfilter packet
logging infrastructure [1] to finish the nft_log support for all the
supported families: inet, ip, ip6, arp and bridge.

The main changes with regards to v1 are:

1) The patch [8/9] ("netfilter: add generic inet packet logger") has
   been replaced by ("netfilter: nft_log: request explicit logger
   when loading rules"). Basically, the inet logger is not really
   required since we don't see packets of NFPROTO_INET family type,
   but the real NFPROTO_IPV4 and NFPROTO_IPV6 types. The new patch
   just grabs the IPV4 and IPv6 loggers when you add a rule to the
   inet table that uses the log statement.

2) Fix missing RCU assignment/dereferencing in the original patch
   [2/9] ("netfilter: nf_log: use an array of loggers instead of
   list").

I'll let the patches remain on the table this week, if no concerns
arise I'll push them to the nf-next tree.

Thanks.

[1] http://marc.info/?l=netfilter-devel&m=140353449907890&w=2

Pablo Neira Ayuso (9):
  netfilter: kill ulog targets
  netfilter: nf_log: use an array of loggers instead of list
  netfilter: nf_log: move log buffering to core logging
  netfilter: log: split family specific code to nf_log_{ip,ip6,common}.c files
  netfilter: log: nf_log_packet() as real unified interface
  netfilter: add generic ARP packet logger
  netfilter: bridge: add generic packet logger
  netfilter: nft_log: request explicit logger when loading rules
  netfilter: nft_log: complete logging support

 include/net/netfilter/nf_log.h                 |   42 +-
 include/net/netfilter/xt_log.h                 |   54 --
 include/uapi/linux/netfilter/nf_tables.h       |    4 +
 include/uapi/linux/netfilter_bridge/Kbuild     |    1 -
 include/uapi/linux/netfilter_bridge/ebt_ulog.h |   38 -
 include/uapi/linux/netfilter_ipv4/Kbuild       |    1 -
 include/uapi/linux/netfilter_ipv4/ipt_ULOG.h   |   49 --
 net/bridge/netfilter/Kconfig                   |   19 +-
 net/bridge/netfilter/Makefile                  |    3 +
 net/bridge/netfilter/ebt_log.c                 |   47 +-
 net/bridge/netfilter/ebt_ulog.c                |  393 -----------
 net/bridge/netfilter/nf_log_bridge.c           |   96 +++
 net/ipv4/netfilter/Kconfig                     |   23 +-
 net/ipv4/netfilter/Makefile                    |    4 +
 net/ipv4/netfilter/ipt_ULOG.c                  |  498 -------------
 net/ipv4/netfilter/nf_log_arp.c                |  149 ++++
 net/ipv4/netfilter/nf_log_ipv4.c               |  385 +++++++++++
 net/ipv6/netfilter/Kconfig                     |    5 +
 net/ipv6/netfilter/Makefile                    |    3 +
 net/ipv6/netfilter/nf_log_ipv6.c               |  417 +++++++++++
 net/netfilter/Kconfig                          |    6 +
 net/netfilter/Makefile                         |    3 +
 net/netfilter/nf_log.c                         |  149 +++-
 net/netfilter/nf_log_common.c                  |  187 +++++
 net/netfilter/nfnetlink_log.c                  |    4 +
 net/netfilter/nft_log.c                        |   98 ++-
 net/netfilter/xt_LOG.c                         |  884 +-----------------------
 27 files changed, 1537 insertions(+), 2025 deletions(-)
 delete mode 100644 include/net/netfilter/xt_log.h
 delete mode 100644 include/uapi/linux/netfilter_bridge/ebt_ulog.h
 delete mode 100644 include/uapi/linux/netfilter_ipv4/ipt_ULOG.h
 delete mode 100644 net/bridge/netfilter/ebt_ulog.c
 create mode 100644 net/bridge/netfilter/nf_log_bridge.c
 delete mode 100644 net/ipv4/netfilter/ipt_ULOG.c
 create mode 100644 net/ipv4/netfilter/nf_log_arp.c
 create mode 100644 net/ipv4/netfilter/nf_log_ipv4.c
 create mode 100644 net/ipv6/netfilter/nf_log_ipv6.c
 create mode 100644 net/netfilter/nf_log_common.c

-- 
1.7.10.4


^ permalink raw reply	[flat|nested] 13+ messages in thread
* [PATCH 0/9] Netfilter packet logging updates
@ 2014-06-23 14:41 Pablo Neira Ayuso
  2014-06-23 14:41 ` [PATCH 2/9] netfilter: nf_log: use an array of loggers instead of list Pablo Neira Ayuso
  0 siblings, 1 reply; 13+ messages in thread
From: Pablo Neira Ayuso @ 2014-06-23 14:41 UTC (permalink / raw)
  To: netfilter-devel; +Cc: kaber, kadlec, fw, eric.dumazet, eric

Hi!

The following patch series contain updates for the Netfilter packet
logging infrastructure that aim to finish the nft_log support by
providing isolated modules that implement the family packet logger
for IPv4, IPv6, ARP and bridged packets.

The result is somewhat similar to what we already have in the
conntrack and NAT subsystems, ie. per-family modularized code. The
output format aims to be consistent for all families, so nf_tables
will solve the inconsistencies between the ebtables and ip{6}tables
plain text logging formats. The bridge logger also doesn't replicate
the IPv4, IPv6 and ARP code to log packets anymore.

These are the patches:

1) Kill the ulog targets, both ebt_ulog and ipt_ULOG. It's been a long
   time since we're providing the nfnetlink_log infrastructure.

2) Use an array of loggers, one per type. Basically, we can have the
   plain text packet logger and the netlink packet logging infrastructure.
   Now that the old ulog targets are gone, we don't need to keep the list
   of overlapping loggers anymore. This change prepares the follow up
   patch to consolidate nf_log_packet() interface.

3) Move Eric Dumazet's log buffering used by xt_LOG to the nf_log core
   so it can be used from other packet loggers, such as the new ARP
   packet logger.

4) Move the family specific code from xt_LOG to nf_log_ipv4.c,
   nf_log_ipv6.c and nf_log_common.c. This allows us to register one
   logger per family which can be used both from nft_log and xt_LOG.

5) Use the struct nf_loginfo parameter as the explict logger to be used
   through nf_log_packet(). Thus, the nf_log_packet() routes the packet
   to the corresponding family and type logger. If not specified, it still
   uses the default logger.

6) Add the ARP packet logger, which is indirectly used by nft_log through
   nf_log_packet().

7) Add the bridged packet logger. The ebt_log output has been left in
   place not to break backward compatibility. The ebt_log is not the
   default logger anymore, we should also reject new patches that use
   nf_log_packet() from the ebtables code.

8) Add the inet packet logger for the special inet chain.

9) Complete the nft_log support by allowing to specify the type of logging
   through the NFTA_LOG_SYSLOG and NFTA_LOG_GROUP attributes, which allows
   you to select plain kernel logging through the ringbuffer and the
   nfnetlink_log infrastructure.

Please, let me know if you have any comment. Thanks.

Pablo Neira Ayuso (9):
  netfilter: kill ulog targets
  netfilter: nf_log: use an array of loggers instead of list
  netfilter: nf_log: move log buffering to core logging
  netfilter: log: split family specific code to nf_log_{ip,ip6,common}.c files
  netfilter: log: nf_log_packet() as real unified interface
  netfilter: add generic ARP packet logger
  netfilter: bridge: add generic packet logger
  netfilter: add generic inet packet logger
  netfilter: nft_log: complete logging support

 include/net/netfilter/nf_log.h                 |   42 +-
 include/net/netfilter/xt_log.h                 |   54 --
 include/uapi/linux/netfilter/nf_tables.h       |    4 +
 include/uapi/linux/netfilter_bridge/Kbuild     |    1 -
 include/uapi/linux/netfilter_bridge/ebt_ulog.h |   38 -
 include/uapi/linux/netfilter_ipv4/Kbuild       |    1 -
 include/uapi/linux/netfilter_ipv4/ipt_ULOG.h   |   49 --
 net/bridge/netfilter/Kconfig                   |   19 +-
 net/bridge/netfilter/Makefile                  |    3 +
 net/bridge/netfilter/ebt_log.c                 |   47 +-
 net/bridge/netfilter/ebt_ulog.c                |  393 -----------
 net/bridge/netfilter/nf_log_bridge.c           |   96 +++
 net/ipv4/netfilter/Kconfig                     |   23 +-
 net/ipv4/netfilter/Makefile                    |    4 +
 net/ipv4/netfilter/ipt_ULOG.c                  |  498 -------------
 net/ipv4/netfilter/nf_log_arp.c                |  149 ++++
 net/ipv4/netfilter/nf_log_ipv4.c               |  385 +++++++++++
 net/ipv6/netfilter/Kconfig                     |    5 +
 net/ipv6/netfilter/Makefile                    |    3 +
 net/ipv6/netfilter/nf_log_ipv6.c               |  417 +++++++++++
 net/netfilter/Kconfig                          |   10 +
 net/netfilter/Makefile                         |    4 +
 net/netfilter/nf_log.c                         |  144 +++-
 net/netfilter/nf_log_common.c                  |  187 +++++
 net/netfilter/nf_log_inet.c                    |   78 +++
 net/netfilter/nfnetlink_log.c                  |    4 +
 net/netfilter/nft_log.c                        |   81 ++-
 net/netfilter/xt_LOG.c                         |  884 +-----------------------
 28 files changed, 1597 insertions(+), 2026 deletions(-)
 delete mode 100644 include/net/netfilter/xt_log.h
 delete mode 100644 include/uapi/linux/netfilter_bridge/ebt_ulog.h
 delete mode 100644 include/uapi/linux/netfilter_ipv4/ipt_ULOG.h
 delete mode 100644 net/bridge/netfilter/ebt_ulog.c
 create mode 100644 net/bridge/netfilter/nf_log_bridge.c
 delete mode 100644 net/ipv4/netfilter/ipt_ULOG.c
 create mode 100644 net/ipv4/netfilter/nf_log_arp.c
 create mode 100644 net/ipv4/netfilter/nf_log_ipv4.c
 create mode 100644 net/ipv6/netfilter/nf_log_ipv6.c
 create mode 100644 net/netfilter/nf_log_common.c
 create mode 100644 net/netfilter/nf_log_inet.c

-- 
1.7.10.4


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-06-27 11:39 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-25 12:32 [PATCH 0/9] Netfilter packet logging updates (v2) Pablo Neira Ayuso
2014-06-25 12:32 ` [PATCH 1/9] netfilter: kill ulog targets Pablo Neira Ayuso
2014-06-25 12:32 ` [PATCH 2/9] netfilter: nf_log: use an array of loggers instead of list Pablo Neira Ayuso
2014-06-25 12:32 ` [PATCH 3/9] netfilter: nf_log: move log buffering to core logging Pablo Neira Ayuso
2014-06-25 12:32 ` [PATCH 4/9] netfilter: log: split family specific code to nf_log_{ip,ip6,common}.c files Pablo Neira Ayuso
2014-06-25 12:32 ` [PATCH 5/9] netfilter: log: nf_log_packet() as real unified interface Pablo Neira Ayuso
2014-06-25 12:32 ` [PATCH 6/9] netfilter: add generic ARP packet logger Pablo Neira Ayuso
2014-06-25 12:32 ` [PATCH 7/9] netfilter: bridge: add generic " Pablo Neira Ayuso
2014-06-25 12:32 ` [PATCH 8/9] netfilter: nft_log: request explicit logger when loading rules Pablo Neira Ayuso
2014-06-25 12:32 ` [PATCH 9/9] netfilter: nft_log: complete logging support Pablo Neira Ayuso
2014-06-26 11:37   ` Patrick McHardy
2014-06-27 11:39     ` Pablo Neira Ayuso
  -- strict thread matches above, loose matches on Subject: below --
2014-06-23 14:41 [PATCH 0/9] Netfilter packet logging updates Pablo Neira Ayuso
2014-06-23 14:41 ` [PATCH 2/9] netfilter: nf_log: use an array of loggers instead of list Pablo Neira Ayuso

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.