aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/netfilter.h6
-rw-r--r--include/linux/netfilter/nf_conntrack_h323.h6
-rw-r--r--include/net/netfilter/nf_conntrack_expect.h4
-rw-r--r--include/net/netfilter/nf_conntrack_tuple.h17
-rw-r--r--net/ipv4/netfilter/nf_nat_h323.c10
-rw-r--r--net/netfilter/nf_conntrack_expect.c4
-rw-r--r--net/netfilter/nf_conntrack_ftp.c2
-rw-r--r--net/netfilter/nf_conntrack_h323_main.c34
-rw-r--r--net/netfilter/nf_conntrack_sip.c8
-rw-r--r--net/netfilter/xt_connlimit.c20
10 files changed, 55 insertions, 56 deletions
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h
index 1a8487325a4..d190d560de6 100644
--- a/include/linux/netfilter.h
+++ b/include/linux/netfilter.h
@@ -48,6 +48,12 @@ enum nf_inet_hooks {
48 NF_INET_NUMHOOKS 48 NF_INET_NUMHOOKS
49}; 49};
50 50
51union nf_inet_addr {
52 u_int32_t all[4];
53 __be32 ip;
54 __be32 ip6[4];
55};
56
51#ifdef __KERNEL__ 57#ifdef __KERNEL__
52#ifdef CONFIG_NETFILTER 58#ifdef CONFIG_NETFILTER
53 59
diff --git a/include/linux/netfilter/nf_conntrack_h323.h b/include/linux/netfilter/nf_conntrack_h323.h
index aabd24ac763..26f9226ea72 100644
--- a/include/linux/netfilter/nf_conntrack_h323.h
+++ b/include/linux/netfilter/nf_conntrack_h323.h
@@ -31,7 +31,7 @@ struct nf_conn;
31 31
32extern int get_h225_addr(struct nf_conn *ct, unsigned char *data, 32extern int get_h225_addr(struct nf_conn *ct, unsigned char *data,
33 TransportAddress *taddr, 33 TransportAddress *taddr,
34 union nf_conntrack_address *addr, __be16 *port); 34 union nf_inet_addr *addr, __be16 *port);
35extern void nf_conntrack_h245_expect(struct nf_conn *new, 35extern void nf_conntrack_h245_expect(struct nf_conn *new,
36 struct nf_conntrack_expect *this); 36 struct nf_conntrack_expect *this);
37extern void nf_conntrack_q931_expect(struct nf_conn *new, 37extern void nf_conntrack_q931_expect(struct nf_conn *new,
@@ -39,12 +39,12 @@ extern void nf_conntrack_q931_expect(struct nf_conn *new,
39extern int (*set_h245_addr_hook) (struct sk_buff *skb, 39extern int (*set_h245_addr_hook) (struct sk_buff *skb,
40 unsigned char **data, int dataoff, 40 unsigned char **data, int dataoff,
41 H245_TransportAddress *taddr, 41 H245_TransportAddress *taddr,
42 union nf_conntrack_address *addr, 42 union nf_inet_addr *addr,
43 __be16 port); 43 __be16 port);
44extern int (*set_h225_addr_hook) (struct sk_buff *skb, 44extern int (*set_h225_addr_hook) (struct sk_buff *skb,
45 unsigned char **data, int dataoff, 45 unsigned char **data, int dataoff,
46 TransportAddress *taddr, 46 TransportAddress *taddr,
47 union nf_conntrack_address *addr, 47 union nf_inet_addr *addr,
48 __be16 port); 48 __be16 port);
49extern int (*set_sig_addr_hook) (struct sk_buff *skb, 49extern int (*set_sig_addr_hook) (struct sk_buff *skb,
50 struct nf_conn *ct, 50 struct nf_conn *ct,
diff --git a/include/net/netfilter/nf_conntrack_expect.h b/include/net/netfilter/nf_conntrack_expect.h
index b47c04f12db..6c3fd254c28 100644
--- a/include/net/netfilter/nf_conntrack_expect.h
+++ b/include/net/netfilter/nf_conntrack_expect.h
@@ -73,8 +73,8 @@ void nf_ct_unexpect_related(struct nf_conntrack_expect *exp);
73 nf_ct_expect_related. You will have to call put afterwards. */ 73 nf_ct_expect_related. You will have to call put afterwards. */
74struct nf_conntrack_expect *nf_ct_expect_alloc(struct nf_conn *me); 74struct nf_conntrack_expect *nf_ct_expect_alloc(struct nf_conn *me);
75void nf_ct_expect_init(struct nf_conntrack_expect *, int, 75void nf_ct_expect_init(struct nf_conntrack_expect *, int,
76 union nf_conntrack_address *, 76 union nf_inet_addr *,
77 union nf_conntrack_address *, 77 union nf_inet_addr *,
78 u_int8_t, __be16 *, __be16 *); 78 u_int8_t, __be16 *, __be16 *);
79void nf_ct_expect_put(struct nf_conntrack_expect *exp); 79void nf_ct_expect_put(struct nf_conntrack_expect *exp);
80int nf_ct_expect_related(struct nf_conntrack_expect *expect); 80int nf_ct_expect_related(struct nf_conntrack_expect *expect);
diff --git a/include/net/netfilter/nf_conntrack_tuple.h b/include/net/netfilter/nf_conntrack_tuple.h
index c48e390f4b0..45cb17cdcfd 100644
--- a/include/net/netfilter/nf_conntrack_tuple.h
+++ b/include/net/netfilter/nf_conntrack_tuple.h
@@ -10,6 +10,7 @@
10#ifndef _NF_CONNTRACK_TUPLE_H 10#ifndef _NF_CONNTRACK_TUPLE_H
11#define _NF_CONNTRACK_TUPLE_H 11#define _NF_CONNTRACK_TUPLE_H
12 12
13#include <linux/netfilter/x_tables.h>
13#include <linux/netfilter/nf_conntrack_tuple_common.h> 14#include <linux/netfilter/nf_conntrack_tuple_common.h>
14 15
15/* A `tuple' is a structure containing the information to uniquely 16/* A `tuple' is a structure containing the information to uniquely
@@ -20,15 +21,7 @@
20 "non-manipulatable" lines, for the benefit of the NAT code. 21 "non-manipulatable" lines, for the benefit of the NAT code.
21*/ 22*/
22 23
23#define NF_CT_TUPLE_L3SIZE 4 24#define NF_CT_TUPLE_L3SIZE ARRAY_SIZE(((union nf_inet_addr *)NULL)->all)
24
25/* The l3 protocol-specific manipulable parts of the tuple: always in
26 network order! */
27union nf_conntrack_address {
28 u_int32_t all[NF_CT_TUPLE_L3SIZE];
29 __be32 ip;
30 __be32 ip6[4];
31};
32 25
33/* The protocol-specific manipulable parts of the tuple: always in 26/* The protocol-specific manipulable parts of the tuple: always in
34 network order! */ 27 network order! */
@@ -57,7 +50,7 @@ union nf_conntrack_man_proto
57/* The manipulable part of the tuple. */ 50/* The manipulable part of the tuple. */
58struct nf_conntrack_man 51struct nf_conntrack_man
59{ 52{
60 union nf_conntrack_address u3; 53 union nf_inet_addr u3;
61 union nf_conntrack_man_proto u; 54 union nf_conntrack_man_proto u;
62 /* Layer 3 protocol */ 55 /* Layer 3 protocol */
63 u_int16_t l3num; 56 u_int16_t l3num;
@@ -70,7 +63,7 @@ struct nf_conntrack_tuple
70 63
71 /* These are the parts of the tuple which are fixed. */ 64 /* These are the parts of the tuple which are fixed. */
72 struct { 65 struct {
73 union nf_conntrack_address u3; 66 union nf_inet_addr u3;
74 union { 67 union {
75 /* Add other protocols here. */ 68 /* Add other protocols here. */
76 __be16 all; 69 __be16 all;
@@ -103,7 +96,7 @@ struct nf_conntrack_tuple
103struct nf_conntrack_tuple_mask 96struct nf_conntrack_tuple_mask
104{ 97{
105 struct { 98 struct {
106 union nf_conntrack_address u3; 99 union nf_inet_addr u3;
107 union nf_conntrack_man_proto u; 100 union nf_conntrack_man_proto u;
108 } src; 101 } src;
109}; 102};
diff --git a/net/ipv4/netfilter/nf_nat_h323.c b/net/ipv4/netfilter/nf_nat_h323.c
index 2e4bdee92c4..a121989fdad 100644
--- a/net/ipv4/netfilter/nf_nat_h323.c
+++ b/net/ipv4/netfilter/nf_nat_h323.c
@@ -76,7 +76,7 @@ static int set_addr(struct sk_buff *skb,
76static int set_h225_addr(struct sk_buff *skb, 76static int set_h225_addr(struct sk_buff *skb,
77 unsigned char **data, int dataoff, 77 unsigned char **data, int dataoff,
78 TransportAddress *taddr, 78 TransportAddress *taddr,
79 union nf_conntrack_address *addr, __be16 port) 79 union nf_inet_addr *addr, __be16 port)
80{ 80{
81 return set_addr(skb, data, dataoff, taddr->ipAddress.ip, 81 return set_addr(skb, data, dataoff, taddr->ipAddress.ip,
82 addr->ip, port); 82 addr->ip, port);
@@ -86,7 +86,7 @@ static int set_h225_addr(struct sk_buff *skb,
86static int set_h245_addr(struct sk_buff *skb, 86static int set_h245_addr(struct sk_buff *skb,
87 unsigned char **data, int dataoff, 87 unsigned char **data, int dataoff,
88 H245_TransportAddress *taddr, 88 H245_TransportAddress *taddr,
89 union nf_conntrack_address *addr, __be16 port) 89 union nf_inet_addr *addr, __be16 port)
90{ 90{
91 return set_addr(skb, data, dataoff, 91 return set_addr(skb, data, dataoff,
92 taddr->unicastAddress.iPAddress.network, 92 taddr->unicastAddress.iPAddress.network,
@@ -103,7 +103,7 @@ static int set_sig_addr(struct sk_buff *skb, struct nf_conn *ct,
103 int dir = CTINFO2DIR(ctinfo); 103 int dir = CTINFO2DIR(ctinfo);
104 int i; 104 int i;
105 __be16 port; 105 __be16 port;
106 union nf_conntrack_address addr; 106 union nf_inet_addr addr;
107 107
108 for (i = 0; i < count; i++) { 108 for (i = 0; i < count; i++) {
109 if (get_h225_addr(ct, *data, &taddr[i], &addr, &port)) { 109 if (get_h225_addr(ct, *data, &taddr[i], &addr, &port)) {
@@ -155,7 +155,7 @@ static int set_ras_addr(struct sk_buff *skb, struct nf_conn *ct,
155 int dir = CTINFO2DIR(ctinfo); 155 int dir = CTINFO2DIR(ctinfo);
156 int i; 156 int i;
157 __be16 port; 157 __be16 port;
158 union nf_conntrack_address addr; 158 union nf_inet_addr addr;
159 159
160 for (i = 0; i < count; i++) { 160 for (i = 0; i < count; i++) {
161 if (get_h225_addr(ct, *data, &taddr[i], &addr, &port) && 161 if (get_h225_addr(ct, *data, &taddr[i], &addr, &port) &&
@@ -408,7 +408,7 @@ static int nat_q931(struct sk_buff *skb, struct nf_conn *ct,
408 struct nf_ct_h323_master *info = &nfct_help(ct)->help.ct_h323_info; 408 struct nf_ct_h323_master *info = &nfct_help(ct)->help.ct_h323_info;
409 int dir = CTINFO2DIR(ctinfo); 409 int dir = CTINFO2DIR(ctinfo);
410 u_int16_t nated_port = ntohs(port); 410 u_int16_t nated_port = ntohs(port);
411 union nf_conntrack_address addr; 411 union nf_inet_addr addr;
412 412
413 /* Set expectations for NAT */ 413 /* Set expectations for NAT */
414 exp->saved_proto.tcp.port = exp->tuple.dst.u.tcp.port; 414 exp->saved_proto.tcp.port = exp->tuple.dst.u.tcp.port;
diff --git a/net/netfilter/nf_conntrack_expect.c b/net/netfilter/nf_conntrack_expect.c
index 175c8d1a199..0efbf343eac 100644
--- a/net/netfilter/nf_conntrack_expect.c
+++ b/net/netfilter/nf_conntrack_expect.c
@@ -226,8 +226,8 @@ struct nf_conntrack_expect *nf_ct_expect_alloc(struct nf_conn *me)
226EXPORT_SYMBOL_GPL(nf_ct_expect_alloc); 226EXPORT_SYMBOL_GPL(nf_ct_expect_alloc);
227 227
228void nf_ct_expect_init(struct nf_conntrack_expect *exp, int family, 228void nf_ct_expect_init(struct nf_conntrack_expect *exp, int family,
229 union nf_conntrack_address *saddr, 229 union nf_inet_addr *saddr,
230 union nf_conntrack_address *daddr, 230 union nf_inet_addr *daddr,
231 u_int8_t proto, __be16 *src, __be16 *dst) 231 u_int8_t proto, __be16 *src, __be16 *dst)
232{ 232{
233 int len; 233 int len;
diff --git a/net/netfilter/nf_conntrack_ftp.c b/net/netfilter/nf_conntrack_ftp.c
index 6df259067f7..6770baf2e84 100644
--- a/net/netfilter/nf_conntrack_ftp.c
+++ b/net/netfilter/nf_conntrack_ftp.c
@@ -358,7 +358,7 @@ static int help(struct sk_buff *skb,
358 unsigned int matchlen, matchoff; 358 unsigned int matchlen, matchoff;
359 struct nf_ct_ftp_master *ct_ftp_info = &nfct_help(ct)->help.ct_ftp_info; 359 struct nf_ct_ftp_master *ct_ftp_info = &nfct_help(ct)->help.ct_ftp_info;
360 struct nf_conntrack_expect *exp; 360 struct nf_conntrack_expect *exp;
361 union nf_conntrack_address *daddr; 361 union nf_inet_addr *daddr;
362 struct nf_conntrack_man cmd = {}; 362 struct nf_conntrack_man cmd = {};
363 unsigned int i; 363 unsigned int i;
364 int found = 0, ends_in_nl; 364 int found = 0, ends_in_nl;
diff --git a/net/netfilter/nf_conntrack_h323_main.c b/net/netfilter/nf_conntrack_h323_main.c
index b636ca60a77..872c1aa3124 100644
--- a/net/netfilter/nf_conntrack_h323_main.c
+++ b/net/netfilter/nf_conntrack_h323_main.c
@@ -50,12 +50,12 @@ MODULE_PARM_DESC(callforward_filter, "only create call forwarding expectations "
50int (*set_h245_addr_hook) (struct sk_buff *skb, 50int (*set_h245_addr_hook) (struct sk_buff *skb,
51 unsigned char **data, int dataoff, 51 unsigned char **data, int dataoff,
52 H245_TransportAddress *taddr, 52 H245_TransportAddress *taddr,
53 union nf_conntrack_address *addr, __be16 port) 53 union nf_inet_addr *addr, __be16 port)
54 __read_mostly; 54 __read_mostly;
55int (*set_h225_addr_hook) (struct sk_buff *skb, 55int (*set_h225_addr_hook) (struct sk_buff *skb,
56 unsigned char **data, int dataoff, 56 unsigned char **data, int dataoff,
57 TransportAddress *taddr, 57 TransportAddress *taddr,
58 union nf_conntrack_address *addr, __be16 port) 58 union nf_inet_addr *addr, __be16 port)
59 __read_mostly; 59 __read_mostly;
60int (*set_sig_addr_hook) (struct sk_buff *skb, 60int (*set_sig_addr_hook) (struct sk_buff *skb,
61 struct nf_conn *ct, 61 struct nf_conn *ct,
@@ -214,7 +214,7 @@ static int get_tpkt_data(struct sk_buff *skb, unsigned int protoff,
214/****************************************************************************/ 214/****************************************************************************/
215static int get_h245_addr(struct nf_conn *ct, unsigned char *data, 215static int get_h245_addr(struct nf_conn *ct, unsigned char *data,
216 H245_TransportAddress *taddr, 216 H245_TransportAddress *taddr,
217 union nf_conntrack_address *addr, __be16 *port) 217 union nf_inet_addr *addr, __be16 *port)
218{ 218{
219 unsigned char *p; 219 unsigned char *p;
220 int family = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num; 220 int family = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num;
@@ -257,7 +257,7 @@ static int expect_rtp_rtcp(struct sk_buff *skb, struct nf_conn *ct,
257 int ret = 0; 257 int ret = 0;
258 __be16 port; 258 __be16 port;
259 __be16 rtp_port, rtcp_port; 259 __be16 rtp_port, rtcp_port;
260 union nf_conntrack_address addr; 260 union nf_inet_addr addr;
261 struct nf_conntrack_expect *rtp_exp; 261 struct nf_conntrack_expect *rtp_exp;
262 struct nf_conntrack_expect *rtcp_exp; 262 struct nf_conntrack_expect *rtcp_exp;
263 typeof(nat_rtp_rtcp_hook) nat_rtp_rtcp; 263 typeof(nat_rtp_rtcp_hook) nat_rtp_rtcp;
@@ -330,7 +330,7 @@ static int expect_t120(struct sk_buff *skb,
330 int dir = CTINFO2DIR(ctinfo); 330 int dir = CTINFO2DIR(ctinfo);
331 int ret = 0; 331 int ret = 0;
332 __be16 port; 332 __be16 port;
333 union nf_conntrack_address addr; 333 union nf_inet_addr addr;
334 struct nf_conntrack_expect *exp; 334 struct nf_conntrack_expect *exp;
335 typeof(nat_t120_hook) nat_t120; 335 typeof(nat_t120_hook) nat_t120;
336 336
@@ -623,7 +623,7 @@ static struct nf_conntrack_helper nf_conntrack_helper_h245 __read_mostly = {
623/****************************************************************************/ 623/****************************************************************************/
624int get_h225_addr(struct nf_conn *ct, unsigned char *data, 624int get_h225_addr(struct nf_conn *ct, unsigned char *data,
625 TransportAddress *taddr, 625 TransportAddress *taddr,
626 union nf_conntrack_address *addr, __be16 *port) 626 union nf_inet_addr *addr, __be16 *port)
627{ 627{
628 unsigned char *p; 628 unsigned char *p;
629 int family = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num; 629 int family = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num;
@@ -662,7 +662,7 @@ static int expect_h245(struct sk_buff *skb, struct nf_conn *ct,
662 int dir = CTINFO2DIR(ctinfo); 662 int dir = CTINFO2DIR(ctinfo);
663 int ret = 0; 663 int ret = 0;
664 __be16 port; 664 __be16 port;
665 union nf_conntrack_address addr; 665 union nf_inet_addr addr;
666 struct nf_conntrack_expect *exp; 666 struct nf_conntrack_expect *exp;
667 typeof(nat_h245_hook) nat_h245; 667 typeof(nat_h245_hook) nat_h245;
668 668
@@ -704,8 +704,8 @@ static int expect_h245(struct sk_buff *skb, struct nf_conn *ct,
704 704
705/* If the calling party is on the same side of the forward-to party, 705/* If the calling party is on the same side of the forward-to party,
706 * we don't need to track the second call */ 706 * we don't need to track the second call */
707static int callforward_do_filter(union nf_conntrack_address *src, 707static int callforward_do_filter(union nf_inet_addr *src,
708 union nf_conntrack_address *dst, 708 union nf_inet_addr *dst,
709 int family) 709 int family)
710{ 710{
711 const struct nf_afinfo *afinfo; 711 const struct nf_afinfo *afinfo;
@@ -772,7 +772,7 @@ static int expect_callforwarding(struct sk_buff *skb,
772 int dir = CTINFO2DIR(ctinfo); 772 int dir = CTINFO2DIR(ctinfo);
773 int ret = 0; 773 int ret = 0;
774 __be16 port; 774 __be16 port;
775 union nf_conntrack_address addr; 775 union nf_inet_addr addr;
776 struct nf_conntrack_expect *exp; 776 struct nf_conntrack_expect *exp;
777 typeof(nat_callforwarding_hook) nat_callforwarding; 777 typeof(nat_callforwarding_hook) nat_callforwarding;
778 778
@@ -828,7 +828,7 @@ static int process_setup(struct sk_buff *skb, struct nf_conn *ct,
828 int ret; 828 int ret;
829 int i; 829 int i;
830 __be16 port; 830 __be16 port;
831 union nf_conntrack_address addr; 831 union nf_inet_addr addr;
832 typeof(set_h225_addr_hook) set_h225_addr; 832 typeof(set_h225_addr_hook) set_h225_addr;
833 833
834 pr_debug("nf_ct_q931: Setup\n"); 834 pr_debug("nf_ct_q931: Setup\n");
@@ -1200,7 +1200,7 @@ static unsigned char *get_udp_data(struct sk_buff *skb, unsigned int protoff,
1200 1200
1201/****************************************************************************/ 1201/****************************************************************************/
1202static struct nf_conntrack_expect *find_expect(struct nf_conn *ct, 1202static struct nf_conntrack_expect *find_expect(struct nf_conn *ct,
1203 union nf_conntrack_address *addr, 1203 union nf_inet_addr *addr,
1204 __be16 port) 1204 __be16 port)
1205{ 1205{
1206 struct nf_conntrack_expect *exp; 1206 struct nf_conntrack_expect *exp;
@@ -1242,7 +1242,7 @@ static int expect_q931(struct sk_buff *skb, struct nf_conn *ct,
1242 int ret = 0; 1242 int ret = 0;
1243 int i; 1243 int i;
1244 __be16 port; 1244 __be16 port;
1245 union nf_conntrack_address addr; 1245 union nf_inet_addr addr;
1246 struct nf_conntrack_expect *exp; 1246 struct nf_conntrack_expect *exp;
1247 typeof(nat_q931_hook) nat_q931; 1247 typeof(nat_q931_hook) nat_q931;
1248 1248
@@ -1311,7 +1311,7 @@ static int process_gcf(struct sk_buff *skb, struct nf_conn *ct,
1311 int dir = CTINFO2DIR(ctinfo); 1311 int dir = CTINFO2DIR(ctinfo);
1312 int ret = 0; 1312 int ret = 0;
1313 __be16 port; 1313 __be16 port;
1314 union nf_conntrack_address addr; 1314 union nf_inet_addr addr;
1315 struct nf_conntrack_expect *exp; 1315 struct nf_conntrack_expect *exp;
1316 1316
1317 pr_debug("nf_ct_ras: GCF\n"); 1317 pr_debug("nf_ct_ras: GCF\n");
@@ -1471,7 +1471,7 @@ static int process_arq(struct sk_buff *skb, struct nf_conn *ct,
1471 struct nf_ct_h323_master *info = &nfct_help(ct)->help.ct_h323_info; 1471 struct nf_ct_h323_master *info = &nfct_help(ct)->help.ct_h323_info;
1472 int dir = CTINFO2DIR(ctinfo); 1472 int dir = CTINFO2DIR(ctinfo);
1473 __be16 port; 1473 __be16 port;
1474 union nf_conntrack_address addr; 1474 union nf_inet_addr addr;
1475 typeof(set_h225_addr_hook) set_h225_addr; 1475 typeof(set_h225_addr_hook) set_h225_addr;
1476 1476
1477 pr_debug("nf_ct_ras: ARQ\n"); 1477 pr_debug("nf_ct_ras: ARQ\n");
@@ -1513,7 +1513,7 @@ static int process_acf(struct sk_buff *skb, struct nf_conn *ct,
1513 int dir = CTINFO2DIR(ctinfo); 1513 int dir = CTINFO2DIR(ctinfo);
1514 int ret = 0; 1514 int ret = 0;
1515 __be16 port; 1515 __be16 port;
1516 union nf_conntrack_address addr; 1516 union nf_inet_addr addr;
1517 struct nf_conntrack_expect *exp; 1517 struct nf_conntrack_expect *exp;
1518 typeof(set_sig_addr_hook) set_sig_addr; 1518 typeof(set_sig_addr_hook) set_sig_addr;
1519 1519
@@ -1576,7 +1576,7 @@ static int process_lcf(struct sk_buff *skb, struct nf_conn *ct,
1576 int dir = CTINFO2DIR(ctinfo); 1576 int dir = CTINFO2DIR(ctinfo);
1577 int ret = 0; 1577 int ret = 0;
1578 __be16 port; 1578 __be16 port;
1579 union nf_conntrack_address addr; 1579 union nf_inet_addr addr;
1580 struct nf_conntrack_expect *exp; 1580 struct nf_conntrack_expect *exp;
1581 1581
1582 pr_debug("nf_ct_ras: LCF\n"); 1582 pr_debug("nf_ct_ras: LCF\n");
diff --git a/net/netfilter/nf_conntrack_sip.c b/net/netfilter/nf_conntrack_sip.c
index 515abffc4a0..47d8947cf26 100644
--- a/net/netfilter/nf_conntrack_sip.c
+++ b/net/netfilter/nf_conntrack_sip.c
@@ -247,7 +247,7 @@ static int skp_digits_len(struct nf_conn *ct, const char *dptr,
247} 247}
248 248
249static int parse_addr(struct nf_conn *ct, const char *cp, const char **endp, 249static int parse_addr(struct nf_conn *ct, const char *cp, const char **endp,
250 union nf_conntrack_address *addr, const char *limit) 250 union nf_inet_addr *addr, const char *limit)
251{ 251{
252 const char *end; 252 const char *end;
253 int family = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num; 253 int family = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num;
@@ -275,7 +275,7 @@ static int parse_addr(struct nf_conn *ct, const char *cp, const char **endp,
275static int epaddr_len(struct nf_conn *ct, const char *dptr, 275static int epaddr_len(struct nf_conn *ct, const char *dptr,
276 const char *limit, int *shift) 276 const char *limit, int *shift)
277{ 277{
278 union nf_conntrack_address addr; 278 union nf_inet_addr addr;
279 const char *aux = dptr; 279 const char *aux = dptr;
280 280
281 if (!parse_addr(ct, dptr, &dptr, &addr, limit)) { 281 if (!parse_addr(ct, dptr, &dptr, &addr, limit)) {
@@ -366,7 +366,7 @@ EXPORT_SYMBOL_GPL(ct_sip_get_info);
366static int set_expected_rtp(struct sk_buff *skb, 366static int set_expected_rtp(struct sk_buff *skb,
367 struct nf_conn *ct, 367 struct nf_conn *ct,
368 enum ip_conntrack_info ctinfo, 368 enum ip_conntrack_info ctinfo,
369 union nf_conntrack_address *addr, 369 union nf_inet_addr *addr,
370 __be16 port, 370 __be16 port,
371 const char *dptr) 371 const char *dptr)
372{ 372{
@@ -403,7 +403,7 @@ static int sip_help(struct sk_buff *skb,
403 enum ip_conntrack_info ctinfo) 403 enum ip_conntrack_info ctinfo)
404{ 404{
405 int family = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num; 405 int family = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num;
406 union nf_conntrack_address addr; 406 union nf_inet_addr addr;
407 unsigned int dataoff, datalen; 407 unsigned int dataoff, datalen;
408 const char *dptr; 408 const char *dptr;
409 int ret = NF_ACCEPT; 409 int ret = NF_ACCEPT;
diff --git a/net/netfilter/xt_connlimit.c b/net/netfilter/xt_connlimit.c
index 26d12b00a9c..b7a684607c7 100644
--- a/net/netfilter/xt_connlimit.c
+++ b/net/netfilter/xt_connlimit.c
@@ -53,10 +53,10 @@ static inline unsigned int connlimit_iphash(__be32 addr)
53} 53}
54 54
55static inline unsigned int 55static inline unsigned int
56connlimit_iphash6(const union nf_conntrack_address *addr, 56connlimit_iphash6(const union nf_inet_addr *addr,
57 const union nf_conntrack_address *mask) 57 const union nf_inet_addr *mask)
58{ 58{
59 union nf_conntrack_address res; 59 union nf_inet_addr res;
60 unsigned int i; 60 unsigned int i;
61 61
62 if (unlikely(!connlimit_rnd_inited)) { 62 if (unlikely(!connlimit_rnd_inited)) {
@@ -81,14 +81,14 @@ static inline bool already_closed(const struct nf_conn *conn)
81} 81}
82 82
83static inline unsigned int 83static inline unsigned int
84same_source_net(const union nf_conntrack_address *addr, 84same_source_net(const union nf_inet_addr *addr,
85 const union nf_conntrack_address *mask, 85 const union nf_inet_addr *mask,
86 const union nf_conntrack_address *u3, unsigned int family) 86 const union nf_inet_addr *u3, unsigned int family)
87{ 87{
88 if (family == AF_INET) { 88 if (family == AF_INET) {
89 return (addr->ip & mask->ip) == (u3->ip & mask->ip); 89 return (addr->ip & mask->ip) == (u3->ip & mask->ip);
90 } else { 90 } else {
91 union nf_conntrack_address lh, rh; 91 union nf_inet_addr lh, rh;
92 unsigned int i; 92 unsigned int i;
93 93
94 for (i = 0; i < ARRAY_SIZE(addr->ip6); ++i) { 94 for (i = 0; i < ARRAY_SIZE(addr->ip6); ++i) {
@@ -102,8 +102,8 @@ same_source_net(const union nf_conntrack_address *addr,
102 102
103static int count_them(struct xt_connlimit_data *data, 103static int count_them(struct xt_connlimit_data *data,
104 const struct nf_conntrack_tuple *tuple, 104 const struct nf_conntrack_tuple *tuple,
105 const union nf_conntrack_address *addr, 105 const union nf_inet_addr *addr,
106 const union nf_conntrack_address *mask, 106 const union nf_inet_addr *mask,
107 const struct xt_match *match) 107 const struct xt_match *match)
108{ 108{
109 struct nf_conntrack_tuple_hash *found; 109 struct nf_conntrack_tuple_hash *found;
@@ -185,7 +185,7 @@ connlimit_mt(const struct sk_buff *skb, const struct net_device *in,
185 bool *hotdrop) 185 bool *hotdrop)
186{ 186{
187 const struct xt_connlimit_info *info = matchinfo; 187 const struct xt_connlimit_info *info = matchinfo;
188 union nf_conntrack_address addr, mask; 188 union nf_inet_addr addr, mask;
189 struct nf_conntrack_tuple tuple; 189 struct nf_conntrack_tuple tuple;
190 const struct nf_conntrack_tuple *tuple_ptr = &tuple; 190 const struct nf_conntrack_tuple *tuple_ptr = &tuple;
191 enum ip_conntrack_info ctinfo; 191 enum ip_conntrack_info ctinfo;