Skip to content

: Netfilter Update

Patrick McHardy netfilter-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest41 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/41: nf_conntrack: less hairy ifdefs around proc and sysctlnet/netfilter/nf_conntrack_standalone.c+76 -400 replies
2/41: {ip,ip6}t_LOG: print MARK value in log outputnet/ipv4/netfilter/ipt_LOG.c net/ipv6/netfilter/ip6t_LOG.c+10 -20 replies
3/41: ip_tables: per-netns FILTER/MANGLE/RAW tables for realinclude/linux/netfilter.h net/ipv4/netfilter/iptable_filter.c net/ipv4/netfilter/iptable_mangle.c +1 more+115 -130 replies
4/41: bridge netfilter: use non-deprecated __RW_LOCK_UNLOCKED macro.net/bridge/netfilter/ebtable_broute.c net/bridge/netfilter/ebtable_filter.c net/bridge/netfilter/ebtable_nat.c+3 -30 replies
5/41: Use non-deprecated __RW_LOCK_UNLOCKED macronet/ipv4/netfilter/arptable_filter.c net/ipv4/netfilter/iptable_filter.c net/ipv4/netfilter/iptable_mangle.c +5 more+8 -80 replies
6/41: xt_sctp: simplify xt_sctp.hinclude/linux/netfilter/xt_sctp.h+35 -490 replies
7/41: annotate xtables targets with const and remove castsnet/ipv4/netfilter/ipt_CLUSTERIP.c net/ipv4/netfilter/ipt_ECN.c net/ipv4/netfilter/ipt_LOG.c +18 more+55 -380 replies
8/41: annotate {arp,ip,ip6,x}tables with constinclude/linux/netfilter/x_tables.h net/ipv4/netfilter/arp_tables.c net/ipv4/netfilter/arpt_mangle.c +3 more+59 -560 replies
9/41: annotate rest of nf_conntrack_* with constnet/ipv6/netfilter/nf_conntrack_reasm.c net/netfilter/nf_conntrack_amanda.c net/netfilter/nf_conntrack_ftp.c +2 more+17 -140 replies
10/41: annotate rest of nf_nat_* with constnet/ipv4/netfilter/nf_nat_core.c net/ipv4/netfilter/nf_nat_snmp_basic.c net/ipv4/netfilter/nf_nat_standalone.c+16 -170 replies
11/41: remove arpt_table indirection macroinclude/linux/netfilter_arp/arp_tables.h net/ipv4/netfilter/arp_tables.c net/ipv4/netfilter/arptable_filter.c+19 -210 replies
12/41: remove arpt_target indirection macroinclude/linux/netfilter_arp/arp_tables.h net/ipv4/netfilter/arp_tables.c net/ipv4/netfilter/arpt_mangle.c+5 -60 replies
13/41: remove arpt_(un)register_target indirection macrosinclude/linux/netfilter_arp/arp_tables.h net/ipv4/netfilter/arpt_mangle.c+3 -100 replies
14/41: Explicitly initialize .priority in arptable_filternet/ipv4/netfilter/arptable_filter.c+3 -00 replies
15/41: nf_conntrack_sip: clear address in parse_addr()net/netfilter/nf_conntrack_sip.c+1 -00 replies
16/41: {ip,ip6,arp}_tables: return EAGAIN for invalid SO_GET_ENTRIES sizenet/ipv4/netfilter/arp_tables.c net/ipv4/netfilter/ip_tables.c net/ipv6/netfilter/ip6_tables.c+6 -60 replies
17/41: nf_nat: add helpers for common NAT protocol operationsinclude/net/netfilter/nf_nat_protocol.h net/ipv4/netfilter/Makefile net/ipv4/netfilter/nf_nat_proto_common.c +3 more+106 -1410 replies
18/41: nf_nat: fix random mode not to overwrite port rovernet/ipv4/netfilter/nf_nat_proto_common.c+10 -50 replies
19/41: nf_nat: move NAT ctnetlink helpers to nf_nat_proto_commoninclude/net/netfilter/nf_nat_protocol.h net/ipv4/netfilter/nf_nat_core.c net/ipv4/netfilter/nf_nat_proto_common.c +4 more+50 -520 replies
20/41: nf_conntrack_netlink: clean up NAT protocol parsingnet/ipv4/netfilter/nf_nat_proto_common.c net/netfilter/nf_conntrack_netlink.c+8 -250 replies
21/41: nf_nat: remove unused name from struct nf_nat_protocolinclude/net/netfilter/nf_nat_protocol.h net/ipv4/netfilter/nf_nat_proto_gre.c net/ipv4/netfilter/nf_nat_proto_icmp.c +3 more+0 -80 replies
22/41: nf_nat: add UDP-Lite supportnet/ipv4/netfilter/Kconfig net/ipv4/netfilter/Makefile net/ipv4/netfilter/nf_nat_proto_udplite.c +1 more+109 -20 replies
23/41: Add partial checksum validation helperinclude/linux/netfilter.h net/ipv4/netfilter.c net/ipv6/netfilter.c +1 more+94 -400 replies
24/41: nf_conntrack: add DCCP protocol supportinclude/linux/netfilter/nf_conntrack_dccp.h include/linux/netfilter/nfnetlink_conntrack.h include/net/netfilter/nf_conntrack.h +4 more+883 -00 replies
25/41: nf_nat: add DCCP protocol supportnet/ipv4/netfilter/Kconfig net/ipv4/netfilter/Makefile net/ipv4/netfilter/nf_nat_proto_dccp.c +1 more+118 -20 replies
26/41: nf_nat: add SCTP protocol supportnet/ipv4/netfilter/Kconfig net/ipv4/netfilter/Makefile net/ipv4/netfilter/nf_nat_proto_sctp.c +1 more+106 -20 replies
27/41: nf_nat: remove obsolete check for ICMP redirectsnet/ipv4/netfilter/nf_nat_standalone.c+1 -140 replies
28/41: nf_nat: don't add NAT extension for confirmed conntracksinclude/net/netfilter/nf_nat_rule.h net/ipv4/netfilter/nf_nat_rule.c net/ipv4/netfilter/nf_nat_standalone.c+4 -260 replies
29/41: nf_conntrack_extend: warn on confirmed conntracksinclude/net/netfilter/nf_conntrack.h net/netfilter/nf_conntrack_extend.c+4 -80 replies
30/41: nf_nat: kill helper and seq_adjust hooksinclude/linux/netfilter_ipv4.h include/net/netfilter/nf_nat_helper.h net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c +3 more+35 -670 replies
31/41: nf_conntrack_tcp: catch invalid state updates over ctnetlinknet/netfilter/nf_conntrack_proto_tcp.c+4 -20 replies
32/41: nf_conntrack: add tuplehash l3num/protonum accessorsinclude/net/netfilter/nf_conntrack.h net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c net/netfilter/nf_conntrack_amanda.c +13 more+64 -940 replies
33/41: Remove unused callbacks in nf_conntrack_l3protoinclude/net/netfilter/nf_conntrack_l3proto.h+0 -110 replies
34/41: nf_conntrack: use bool type in struct nf_conntrack_l3protoinclude/net/netfilter/nf_conntrack_l3proto.h net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c +1 more+24 -240 replies
35/41: nf_conntrack: use bool type in struct nf_conntrack_l4protoinclude/net/netfilter/nf_conntrack_l4proto.h net/ipv4/netfilter/nf_conntrack_proto_icmp.c net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c +7 more+125 -1320 replies
36/41: nf_conntrack: use bool type in struct nf_conntrack_tuple.hinclude/net/netfilter/nf_conntrack.h include/net/netfilter/nf_conntrack_core.h include/net/netfilter/nf_conntrack_tuple.h +1 more+38 -380 replies
37/41: nf_nat: use bool type in nf_nat_protoinclude/net/netfilter/nf_nat_protocol.h net/ipv4/netfilter/nf_nat_core.c net/ipv4/netfilter/nf_nat_proto_common.c +8 more+87 -870 replies
38/41: nf_conntrack: const annotations in nf_conntrack_sctp, nf_nat_proto_grenet/ipv4/netfilter/nf_nat_proto_dccp.c net/ipv4/netfilter/nf_nat_proto_gre.c net/netfilter/nf_conntrack_proto_sctp.c+13 -80 replies
39/41: nf_conntrack: replace NF_CT_DUMP_TUPLE macro indrection by function callinclude/net/netfilter/nf_conntrack_tuple.h net/ipv4/netfilter/ipt_CLUSTERIP.c net/ipv4/netfilter/nf_conntrack_proto_icmp.c +9 more+30 -320 replies
40/41: bridge: add ebt_nflog watcherinclude/linux/netfilter_bridge/ebt_nflog.h net/bridge/netfilter/Kconfig net/bridge/netfilter/Makefile +1 more+110 -00 replies
41/41: nf_conntrack: fix incorrect check for expectationsnet/netfilter/nf_conntrack_core.c+1 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [NETFILTER 00/41]: Netfilter Update

Hi Dave,

following is part 2 of my netfilter patches for 2.6.26. The highlights are:

- ip_tables network namespace support from Alexey Dobriyan
- some cleanups, const annotatations and boolean conversion by Jan Engelhardt
- SCTP/UDP-Lite NAT support, DCCP conntrack/NAT support
- nfnetlink_log support for bridge netfilter
- some assorted cleanups

I've also uploaded a git tree to:

git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.26.git

Please apply or pull, thanks.

 include/linux/netfilter.h                          |   76 ++-
 include/linux/netfilter/nf_conntrack_dccp.h        |   40 +
 include/linux/netfilter/nfnetlink_conntrack.h      |    8 +
 include/linux/netfilter/x_tables.h                 |    4 +-
 include/linux/netfilter/xt_sctp.h                  |   84 +--
 include/linux/netfilter_arp/arp_tables.h           |   17 +-
 include/linux/netfilter_bridge/ebt_nflog.h         |   21 +
 include/linux/netfilter_ipv4.h                     |    2 -
 include/net/netfilter/nf_conntrack.h               |   32 +-
 include/net/netfilter/nf_conntrack_core.h          |    4 +-
 include/net/netfilter/nf_conntrack_l3proto.h       |   19 +-
 include/net/netfilter/nf_conntrack_l4proto.h       |   13 +-
 include/net/netfilter/nf_conntrack_tuple.h         |   47 +-
 include/net/netfilter/nf_nat_helper.h              |    3 +
 include/net/netfilter/nf_nat_protocol.h            |   46 +-
 include/net/netfilter/nf_nat_rule.h                |    3 -
 net/bridge/netfilter/Kconfig                       |   14 +
 net/bridge/netfilter/Makefile                      |    1 +
 net/bridge/netfilter/ebt_nflog.c                   |   74 ++
 net/bridge/netfilter/ebtable_broute.c              |    2 +-
 net/bridge/netfilter/ebtable_filter.c              |    2 +-
 net/bridge/netfilter/ebtable_nat.c                 |    2 +-
 net/ipv4/netfilter.c                               |   37 +-
 net/ipv4/netfilter/Kconfig                         |   15 +
 net/ipv4/netfilter/Makefile                        |    5 +-
 net/ipv4/netfilter/arp_tables.c                    |   66 +-
 net/ipv4/netfilter/arpt_mangle.c                   |   12 +-
 net/ipv4/netfilter/arptable_filter.c               |    7 +-
 net/ipv4/netfilter/ip_tables.c                     |   35 +-
 net/ipv4/netfilter/ipt_CLUSTERIP.c                 |   14 +-
 net/ipv4/netfilter/ipt_ECN.c                       |    2 +-
 net/ipv4/netfilter/ipt_LOG.c                       |    9 +-
 net/ipv4/netfilter/ipt_REJECT.c                    |    6 +-
 net/ipv4/netfilter/ipt_recent.c                    |    6 +-
 net/ipv4/netfilter/iptable_filter.c                |   21 +-
 net/ipv4/netfilter/iptable_mangle.c                |   51 +-
 net/ipv4/netfilter/iptable_raw.c                   |    8 +-
 net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c     |   70 +-
 .../netfilter/nf_conntrack_l3proto_ipv4_compat.c   |   13 +-
 net/ipv4/netfilter/nf_conntrack_proto_icmp.c       |   27 +-
 net/ipv4/netfilter/nf_nat_core.c                   |   61 +--
 net/ipv4/netfilter/nf_nat_helper.c                 |    1 -
 net/ipv4/netfilter/nf_nat_pptp.c                   |    2 +-
 net/ipv4/netfilter/nf_nat_proto_common.c           |  120 +++
 net/ipv4/netfilter/nf_nat_proto_dccp.c             |  108 +++
 net/ipv4/netfilter/nf_nat_proto_gre.c              |   45 +-
 net/ipv4/netfilter/nf_nat_proto_icmp.c             |   19 +-
 net/ipv4/netfilter/nf_nat_proto_sctp.c             |   96 +++
 net/ipv4/netfilter/nf_nat_proto_tcp.c              |   80 +--
 net/ipv4/netfilter/nf_nat_proto_udp.c              |   77 +--
 net/ipv4/netfilter/nf_nat_proto_udplite.c          |   99 +++
 net/ipv4/netfilter/nf_nat_proto_unknown.c          |   25 +-
 net/ipv4/netfilter/nf_nat_rule.c                   |   25 +-
 net/ipv4/netfilter/nf_nat_snmp_basic.c             |   17 +-
 net/ipv4/netfilter/nf_nat_standalone.c             |   76 +--
 net/ipv6/netfilter.c                               |   42 +-
 net/ipv6/netfilter/ip6_tables.c                    |   33 +-
 net/ipv6/netfilter/ip6t_LOG.c                      |    6 +-
 net/ipv6/netfilter/ip6t_REJECT.c                   |    3 +-
 net/ipv6/netfilter/ip6t_ipv6header.c               |    3 +-
 net/ipv6/netfilter/ip6t_rt.c                       |    3 +-
 net/ipv6/netfilter/ip6table_filter.c               |    2 +-
 net/ipv6/netfilter/ip6table_mangle.c               |    2 +-
 net/ipv6/netfilter/ip6table_raw.c                  |    2 +-
 net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c     |   14 +-
 net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c     |   29 +-
 net/ipv6/netfilter/nf_conntrack_reasm.c            |    8 +-
 net/netfilter/Kconfig                              |   10 +
 net/netfilter/Makefile                             |    1 +
 net/netfilter/nf_conntrack_amanda.c                |    6 +-
 net/netfilter/nf_conntrack_core.c                  |   29 +-
 net/netfilter/nf_conntrack_extend.c                |    3 +
 net/netfilter/nf_conntrack_ftp.c                   |    9 +-
 net/netfilter/nf_conntrack_h323_main.c             |   65 +-
 net/netfilter/nf_conntrack_helper.c                |    2 +-
 net/netfilter/nf_conntrack_irc.c                   |   14 +-
 net/netfilter/nf_conntrack_l3proto_generic.c       |   12 +-
 net/netfilter/nf_conntrack_netlink.c               |   34 +-
 net/netfilter/nf_conntrack_pptp.c                  |    8 +-
 net/netfilter/nf_conntrack_proto.c                 |    9 +-
 net/netfilter/nf_conntrack_proto_dccp.c            |  815 ++++++++++++++++++++
 net/netfilter/nf_conntrack_proto_generic.c         |   20 +-
 net/netfilter/nf_conntrack_proto_gre.c             |   31 +-
 net/netfilter/nf_conntrack_proto_sctp.c            |   50 +-
 net/netfilter/nf_conntrack_proto_tcp.c             |   64 +-
 net/netfilter/nf_conntrack_proto_udp.c             |   18 +-
 net/netfilter/nf_conntrack_proto_udplite.c         |   55 +-
 net/netfilter/nf_conntrack_sane.c                  |    5 +-
 net/netfilter/nf_conntrack_sip.c                   |   21 +-
 net/netfilter/nf_conntrack_standalone.c            |  131 ++--
 net/netfilter/nf_conntrack_tftp.c                  |   10 +-
 net/netfilter/x_tables.c                           |   18 +-
 net/netfilter/xt_CONNSECMARK.c                     |    2 +-
 net/netfilter/xt_RATEEST.c                         |    2 +-
 net/netfilter/xt_connlimit.c                       |   10 +-
 net/netfilter/xt_conntrack.c                       |    4 +-
 net/netfilter/xt_dccp.c                            |    3 +-
 net/netfilter/xt_esp.c                             |    3 +-
 net/netfilter/xt_multiport.c                       |    6 +-
 net/netfilter/xt_policy.c                          |    2 +-
 net/netfilter/xt_rateest.c                         |    4 +-
 net/netfilter/xt_sctp.c                            |    6 +-
 net/netfilter/xt_tcpmss.c                          |    6 +-
 net/netfilter/xt_tcpudp.c                          |    9 +-
 net/netfilter/xt_time.c                            |    2 +-
 105 files changed, 2383 insertions(+), 1032 deletions(-)
 create mode 100644 include/linux/netfilter/nf_conntrack_dccp.h
 create mode 100644 include/linux/netfilter_bridge/ebt_nflog.h
 create mode 100644 net/bridge/netfilter/ebt_nflog.c
 create mode 100644 net/ipv4/netfilter/nf_nat_proto_common.c
 create mode 100644 net/ipv4/netfilter/nf_nat_proto_dccp.c
 create mode 100644 net/ipv4/netfilter/nf_nat_proto_sctp.c
 create mode 100644 net/ipv4/netfilter/nf_nat_proto_udplite.c
 create mode 100644 net/netfilter/nf_conntrack_proto_dccp.c

Alexey Dobriyan (2):
[NETFILTER]: nf_conntrack: less hairy ifdefs around proc and sysctl [NETFILTER]: ip_tables: per-netns FILTER/MANGLE/RAW tables for real

Jan Engelhardt (16):
[NETFILTER]: xt_sctp: simplify xt_sctp.h
[NETFILTER]: annotate xtables targets with const and remove casts [NETFILTER]: annotate {arp,ip,ip6,x}tables with const
[NETFILTER]: annotate rest of nf_conntrack_* with const
[NETFILTER]: annotate rest of nf_nat_* with const
[NETFILTER]: remove arpt_table indirection macro
[NETFILTER]: remove arpt_target indirection macro
[NETFILTER]: remove arpt_(un)register_target indirection macros [NETFILTER]: Explicitly initialize .priority in arptable_filter [NETFILTER]: Remove unused callbacks in nf_conntrack_l3proto [NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_l3proto [NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_l4proto [NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_tuple.h [NETFILTER]: nf_nat: use bool type in nf_nat_proto
[NETFILTER]: nf_conntrack: const annotations in nf_conntrack_sctp, nf_nat_proto_gre [NETFILTER]: nf_conntrack: replace NF_CT_DUMP_TUPLE macro indrection by function call

Patrick McHardy (20):
[NETFILTER]: {ip,ip6}t_LOG: print MARK value in log output [NETFILTER]: nf_conntrack_sip: clear address in parse_addr() [NETFILTER]: {ip,ip6,arp}_tables: return EAGAIN for invalid SO_GET_ENTRIES size [NETFILTER]: nf_nat: add helpers for common NAT protocol operations [NETFILTER]: nf_nat: fix random mode not to overwrite port rover [NETFILTER]: nf_nat: move NAT ctnetlink helpers to nf_nat_proto_common [NETFILTER]: nf_conntrack_netlink: clean up NAT protocol parsing [NETFILTER]: nf_nat: remove unused name from struct nf_nat_protocol [NETFILTER]: nf_nat: add UDP-Lite support
[NETFILTER]: Add partial checksum validation helper
[NETFILTER]: nf_conntrack: add DCCP protocol support
[NETFILTER]: nf_nat: add DCCP protocol support
[NETFILTER]: nf_nat: add SCTP protocol support
[NETFILTER]: nf_nat: remove obsolete check for ICMP redirects [NETFILTER]: nf_nat: don't add NAT extension for confirmed conntracks [NETFILTER]: nf_conntrack_extend: warn on confirmed conntracks [NETFILTER]: nf_nat: kill helper and seq_adjust hooks [NETFILTER]: nf_conntrack_tcp: catch invalid state updates over ctnetlink [NETFILTER]: nf_conntrack: add tuplehash l3num/protonum accessors [NETFILTER]: nf_conntrack: fix incorrect check for expectations

Peter Warasin (1):
[NETFILTER]: bridge: add ebt_nflog watcher

Robert P. J. Day (2):
[NETFILTER]: bridge netfilter: use non-deprecated __RW_LOCK_UNLOCKED macro. [NETFILTER]: Use non-deprecated __RW_LOCK_UNLOCKED macro