Skip to content

Commit c3e5336

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for net-next: 1) Support for destination MAC in ipset, from Stefano Brivio. 2) Disallow all-zeroes MAC address in ipset, also from Stefano. 3) Add IPSET_CMD_GET_BYNAME and IPSET_CMD_GET_BYINDEX commands, introduce protocol version number 7, from Jozsef Kadlecsik. A follow up patch to fix ip_set_byindex() is also included in this batch. 4) Honor CTA_MARK_MASK from ctnetlink, from Andreas Jaggi. 5) Statify nf_flow_table_iterate(), from Taehee Yoo. 6) Use nf_flow_table_iterate() to simplify garbage collection in nf_flow_table logic, also from Taehee Yoo. 7) Don't use _bh variants of call_rcu(), rcu_barrier() and synchronize_rcu_bh() in Netfilter, from Paul E. McKenney. 8) Remove NFC_* cache definition from the old caching infrastructure. 9) Remove layer 4 port rover in NAT helpers, use random port instead, from Florian Westphal. 10) Use strscpy() in ipset, from Qian Cai. 11) Remove NF_NAT_RANGE_PROTO_RANDOM_FULLY branch now that random port is allocated by default, from Xiaozhou Liu. 12) Ignore NF_NAT_RANGE_PROTO_RANDOM too, from Florian Westphal. 13) Limit port allocation selection routine in NAT to avoid softlockup splats when most ports are in use, from Florian. 14) Remove unused parameters in nf_ct_l4proto_unregister_sysctl() from Yafang Shao. 15) Direct call to nf_nat_l4proto_unique_tuple() instead of indirection, from Florian Westphal. 16) Several patches to remove all layer 4 NAT indirections, remove nf_nat_l4proto struct, from Florian Westphal. 17) Fix RTP/RTCP source port translation when SNAT is in place, from Alin Nastac. 18) Selective rule dump per chain, from Phil Sutter. 19) Revisit CLUSTERIP target, this includes a deadlock fix from netns path, sleep in atomic, remove bogus WARN_ON_ONCE() and disallow mismatching IP address and MAC address. Patchset from Taehee Yoo. 20) Update UDP timeout to stream after 2 seconds, from Florian. 21) Shrink UDP established timeout to 120 seconds like TCP timewait. 22) Sysctl knobs to set GRE timeouts, from Yafang Shao. 23) Move seq_print_acct() to conntrack core file, from Florian. 24) Add enum for conntrack sysctl knobs, also from Florian. 25) Place nf_conntrack_acct, nf_conntrack_helper, nf_conntrack_events and nf_conntrack_timestamp knobs in the core, from Florian Westphal. As a side effect, shrink netns_ct structure by removing obsolete sysctl anchors, also from Florian. ==================== Signed-off-by: David S. Miller <[email protected]>
2 parents 339bbff + 8527f9d commit c3e5336

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1166
-1852
lines changed

Documentation/networking/nf_conntrack-sysctl.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,16 @@ nf_conntrack_udp_timeout - INTEGER (seconds)
157157
default 30
158158

159159
nf_conntrack_udp_timeout_stream - INTEGER (seconds)
160-
default 180
160+
default 120
161161

162162
This extended timeout will be used in case there is an UDP stream
163163
detected.
164+
165+
nf_conntrack_gre_timeout - INTEGER (seconds)
166+
default 30
167+
168+
nf_conntrack_gre_timeout_stream - INTEGER (seconds)
169+
default 180
170+
171+
This extended timeout will be used in case there is an GRE stream
172+
detected.

include/linux/netfilter/ipset/ip_set.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,11 +303,11 @@ ip_set_put_flags(struct sk_buff *skb, struct ip_set *set)
303303
/* Netlink CB args */
304304
enum {
305305
IPSET_CB_NET = 0, /* net namespace */
306+
IPSET_CB_PROTO, /* ipset protocol */
306307
IPSET_CB_DUMP, /* dump single set/all sets */
307308
IPSET_CB_INDEX, /* set index */
308309
IPSET_CB_PRIVATE, /* set private data */
309310
IPSET_CB_ARG0, /* type specific */
310-
IPSET_CB_ARG1,
311311
};
312312

313313
/* register and unregister set references */

include/linux/netfilter/nf_conntrack_proto_gre.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,5 @@ int nf_ct_gre_keymap_add(struct nf_conn *ct, enum ip_conntrack_dir dir,
4141
/* delete keymap entries */
4242
void nf_ct_gre_keymap_destroy(struct nf_conn *ct);
4343

44-
void nf_nat_need_gre(void);
45-
4644
#endif /* __KERNEL__ */
4745
#endif /* _CONNTRACK_PROTO_GRE_H */

include/net/netfilter/nf_conntrack.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,17 @@
2727

2828
#include <net/netfilter/nf_conntrack_tuple.h>
2929

30+
struct nf_ct_udp {
31+
unsigned long stream_ts;
32+
};
33+
3034
/* per conntrack: protocol private data */
3135
union nf_conntrack_proto {
3236
/* insert conntrack proto private data here */
3337
struct nf_ct_dccp dccp;
3438
struct ip_ct_sctp sctp;
3539
struct ip_ct_tcp tcp;
40+
struct nf_ct_udp udp;
3641
struct nf_ct_gre gre;
3742
unsigned int tmpl_padto;
3843
};

include/net/netfilter/nf_conntrack_acct.h

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,6 @@ struct nf_conn_acct *nf_ct_acct_ext_add(struct nf_conn *ct, gfp_t gfp)
4646
return acct;
4747
};
4848

49-
unsigned int seq_print_acct(struct seq_file *s, const struct nf_conn *ct,
50-
int dir);
51-
5249
/* Check if connection tracking accounting is enabled */
5350
static inline bool nf_ct_acct_enabled(struct net *net)
5451
{
@@ -61,8 +58,7 @@ static inline void nf_ct_set_acct(struct net *net, bool enable)
6158
net->ct.sysctl_acct = enable;
6259
}
6360

64-
int nf_conntrack_acct_pernet_init(struct net *net);
65-
void nf_conntrack_acct_pernet_fini(struct net *net);
61+
void nf_conntrack_acct_pernet_init(struct net *net);
6662

6763
int nf_conntrack_acct_init(void);
6864
void nf_conntrack_acct_fini(void);

include/net/netfilter/nf_conntrack_ecache.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ void nf_ct_expect_event_report(enum ip_conntrack_expect_events event,
142142
struct nf_conntrack_expect *exp,
143143
u32 portid, int report);
144144

145-
int nf_conntrack_ecache_pernet_init(struct net *net);
145+
void nf_conntrack_ecache_pernet_init(struct net *net);
146146
void nf_conntrack_ecache_pernet_fini(struct net *net);
147147

148148
int nf_conntrack_ecache_init(void);
@@ -182,10 +182,7 @@ static inline void nf_ct_expect_event_report(enum ip_conntrack_expect_events e,
182182
u32 portid,
183183
int report) {}
184184

185-
static inline int nf_conntrack_ecache_pernet_init(struct net *net)
186-
{
187-
return 0;
188-
}
185+
static inline void nf_conntrack_ecache_pernet_init(struct net *net) {}
189186

190187
static inline void nf_conntrack_ecache_pernet_fini(struct net *net)
191188
{

include/net/netfilter/nf_conntrack_helper.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,7 @@ static inline void *nfct_help_data(const struct nf_conn *ct)
124124
return (void *)help->data;
125125
}
126126

127-
int nf_conntrack_helper_pernet_init(struct net *net);
128-
void nf_conntrack_helper_pernet_fini(struct net *net);
127+
void nf_conntrack_helper_pernet_init(struct net *net);
129128

130129
int nf_conntrack_helper_init(void);
131130
void nf_conntrack_helper_fini(void);

include/net/netfilter/nf_conntrack_timestamp.h

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,21 +49,12 @@ static inline void nf_ct_set_tstamp(struct net *net, bool enable)
4949
}
5050

5151
#ifdef CONFIG_NF_CONNTRACK_TIMESTAMP
52-
int nf_conntrack_tstamp_pernet_init(struct net *net);
53-
void nf_conntrack_tstamp_pernet_fini(struct net *net);
52+
void nf_conntrack_tstamp_pernet_init(struct net *net);
5453

5554
int nf_conntrack_tstamp_init(void);
5655
void nf_conntrack_tstamp_fini(void);
5756
#else
58-
static inline int nf_conntrack_tstamp_pernet_init(struct net *net)
59-
{
60-
return 0;
61-
}
62-
63-
static inline void nf_conntrack_tstamp_pernet_fini(struct net *net)
64-
{
65-
return;
66-
}
57+
static inline void nf_conntrack_tstamp_pernet_init(struct net *net) {}
6758

6859
static inline int nf_conntrack_tstamp_init(void)
6960
{

include/net/netfilter/nf_flow_table.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,6 @@ void flow_offload_free(struct flow_offload *flow);
9595
int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow);
9696
struct flow_offload_tuple_rhash *flow_offload_lookup(struct nf_flowtable *flow_table,
9797
struct flow_offload_tuple *tuple);
98-
int nf_flow_table_iterate(struct nf_flowtable *flow_table,
99-
void (*iter)(struct flow_offload *flow, void *data),
100-
void *data);
101-
10298
void nf_flow_table_cleanup(struct net_device *dev);
10399

104100
int nf_flow_table_init(struct nf_flowtable *flow_table);

include/net/netfilter/nf_nat_l3proto.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,11 @@
22
#ifndef _NF_NAT_L3PROTO_H
33
#define _NF_NAT_L3PROTO_H
44

5-
struct nf_nat_l4proto;
65
struct nf_nat_l3proto {
76
u8 l3proto;
87

9-
bool (*in_range)(const struct nf_conntrack_tuple *t,
10-
const struct nf_nat_range2 *range);
11-
12-
u32 (*secure_port)(const struct nf_conntrack_tuple *t, __be16);
13-
148
bool (*manip_pkt)(struct sk_buff *skb,
159
unsigned int iphdroff,
16-
const struct nf_nat_l4proto *l4proto,
1710
const struct nf_conntrack_tuple *target,
1811
enum nf_nat_manip_type maniptype);
1912

0 commit comments

Comments
 (0)