[NETFILTER]: nf_nat: move NAT ctnetlink helpers to nf_nat_proto_common
authorPatrick McHardy <kaber@trash.net>
Mon, 14 Apr 2008 09:15:47 +0000 (11:15 +0200)
committerPatrick McHardy <kaber@trash.net>
Mon, 14 Apr 2008 09:15:47 +0000 (11:15 +0200)
Move to nf_nat_proto_common and rename to nf_nat_proto_... since they're
also used by protocols that don't have port numbers.

Signed-off-by: Patrick McHardy <kaber@trash.net>

include/net/netfilter/nf_nat_protocol.h
net/ipv4/netfilter/nf_nat_core.c
net/ipv4/netfilter/nf_nat_proto_common.c
net/ipv4/netfilter/nf_nat_proto_gre.c
net/ipv4/netfilter/nf_nat_proto_icmp.c
net/ipv4/netfilter/nf_nat_proto_tcp.c
net/ipv4/netfilter/nf_nat_proto_udp.c

index fa06f6d..8ce2276 100644 (file)
@@ -73,9 +73,9 @@ extern int nf_nat_proto_unique_tuple(struct nf_conntrack_tuple *tuple,
                                     const struct nf_conn *ct,
                                     u_int16_t *rover);
 
-extern int nf_nat_port_range_to_nlattr(struct sk_buff *skb,
-                                      const struct nf_nat_range *range);
-extern int nf_nat_port_nlattr_to_range(struct nlattr *tb[],
-                                      struct nf_nat_range *range);
+extern int nf_nat_proto_range_to_nlattr(struct sk_buff *skb,
+                                       const struct nf_nat_range *range);
+extern int nf_nat_proto_nlattr_to_range(struct nlattr *tb[],
+                                       struct nf_nat_range *range);
 
 #endif /*_NF_NAT_PROTO_H*/
index 9c8aa8d..9320c7a 100644 (file)
@@ -544,46 +544,6 @@ void nf_nat_protocol_unregister(const struct nf_nat_protocol *proto)
 }
 EXPORT_SYMBOL(nf_nat_protocol_unregister);
 
-#if defined(CONFIG_NF_CT_NETLINK) || defined(CONFIG_NF_CT_NETLINK_MODULE)
-int
-nf_nat_port_range_to_nlattr(struct sk_buff *skb,
-                           const struct nf_nat_range *range)
-{
-       NLA_PUT_BE16(skb, CTA_PROTONAT_PORT_MIN, range->min.tcp.port);
-       NLA_PUT_BE16(skb, CTA_PROTONAT_PORT_MAX, range->max.tcp.port);
-
-       return 0;
-
-nla_put_failure:
-       return -1;
-}
-EXPORT_SYMBOL_GPL(nf_nat_port_nlattr_to_range);
-
-int
-nf_nat_port_nlattr_to_range(struct nlattr *tb[], struct nf_nat_range *range)
-{
-       int ret = 0;
-
-       /* we have to return whether we actually parsed something or not */
-
-       if (tb[CTA_PROTONAT_PORT_MIN]) {
-               ret = 1;
-               range->min.tcp.port = nla_get_be16(tb[CTA_PROTONAT_PORT_MIN]);
-       }
-
-       if (!tb[CTA_PROTONAT_PORT_MAX]) {
-               if (ret)
-                       range->max.tcp.port = range->min.tcp.port;
-       } else {
-               ret = 1;
-               range->max.tcp.port = nla_get_be16(tb[CTA_PROTONAT_PORT_MAX]);
-       }
-
-       return ret;
-}
-EXPORT_SYMBOL_GPL(nf_nat_port_range_to_nlattr);
-#endif
-
 /* Noone using conntrack by the time this called. */
 static void nf_nat_cleanup_conntrack(struct nf_conn *ct)
 {
index 871ab0e..ef4dc39 100644 (file)
@@ -88,3 +88,41 @@ int nf_nat_proto_unique_tuple(struct nf_conntrack_tuple *tuple,
        return 0;
 }
 EXPORT_SYMBOL_GPL(nf_nat_proto_unique_tuple);
+
+#if defined(CONFIG_NF_CT_NETLINK) || defined(CONFIG_NF_CT_NETLINK_MODULE)
+int nf_nat_proto_range_to_nlattr(struct sk_buff *skb,
+                                const struct nf_nat_range *range)
+{
+       NLA_PUT_BE16(skb, CTA_PROTONAT_PORT_MIN, range->min.all);
+       NLA_PUT_BE16(skb, CTA_PROTONAT_PORT_MAX, range->max.all);
+       return 0;
+
+nla_put_failure:
+       return -1;
+}
+EXPORT_SYMBOL_GPL(nf_nat_proto_nlattr_to_range);
+
+int nf_nat_proto_nlattr_to_range(struct nlattr *tb[],
+                                struct nf_nat_range *range)
+{
+       int ret = 0;
+
+       /* we have to return whether we actually parsed something or not */
+
+       if (tb[CTA_PROTONAT_PORT_MIN]) {
+               ret = 1;
+               range->min.all = nla_get_be16(tb[CTA_PROTONAT_PORT_MIN]);
+       }
+
+       if (!tb[CTA_PROTONAT_PORT_MAX]) {
+               if (ret)
+                       range->max.all = range->min.all;
+       } else {
+               ret = 1;
+               range->max.all = nla_get_be16(tb[CTA_PROTONAT_PORT_MAX]);
+       }
+
+       return ret;
+}
+EXPORT_SYMBOL_GPL(nf_nat_proto_range_to_nlattr);
+#endif
index 87af63d..71b0935 100644 (file)
@@ -125,8 +125,8 @@ static const struct nf_nat_protocol gre = {
        .in_range               = nf_nat_proto_in_range,
        .unique_tuple           = gre_unique_tuple,
 #if defined(CONFIG_NF_CT_NETLINK) || defined(CONFIG_NF_CT_NETLINK_MODULE)
-       .range_to_nlattr        = nf_nat_port_range_to_nlattr,
-       .nlattr_to_range        = nf_nat_port_nlattr_to_range,
+       .range_to_nlattr        = nf_nat_proto_range_to_nlattr,
+       .nlattr_to_range        = nf_nat_proto_nlattr_to_range,
 #endif
 };
 
index 03a0296..ca601f8 100644 (file)
@@ -79,7 +79,7 @@ const struct nf_nat_protocol nf_nat_protocol_icmp = {
        .in_range               = icmp_in_range,
        .unique_tuple           = icmp_unique_tuple,
 #if defined(CONFIG_NF_CT_NETLINK) || defined(CONFIG_NF_CT_NETLINK_MODULE)
-       .range_to_nlattr        = nf_nat_port_range_to_nlattr,
-       .nlattr_to_range        = nf_nat_port_nlattr_to_range,
+       .range_to_nlattr        = nf_nat_proto_range_to_nlattr,
+       .nlattr_to_range        = nf_nat_proto_nlattr_to_range,
 #endif
 };
index f8c498f..1d73a11 100644 (file)
@@ -88,7 +88,7 @@ const struct nf_nat_protocol nf_nat_protocol_tcp = {
        .in_range               = nf_nat_proto_in_range,
        .unique_tuple           = tcp_unique_tuple,
 #if defined(CONFIG_NF_CT_NETLINK) || defined(CONFIG_NF_CT_NETLINK_MODULE)
-       .range_to_nlattr        = nf_nat_port_range_to_nlattr,
-       .nlattr_to_range        = nf_nat_port_nlattr_to_range,
+       .range_to_nlattr        = nf_nat_proto_range_to_nlattr,
+       .nlattr_to_range        = nf_nat_proto_nlattr_to_range,
 #endif
 };
index a182f5a..f36ce55 100644 (file)
@@ -79,7 +79,7 @@ const struct nf_nat_protocol nf_nat_protocol_udp = {
        .in_range               = nf_nat_proto_in_range,
        .unique_tuple           = udp_unique_tuple,
 #if defined(CONFIG_NF_CT_NETLINK) || defined(CONFIG_NF_CT_NETLINK_MODULE)
-       .range_to_nlattr        = nf_nat_port_range_to_nlattr,
-       .nlattr_to_range        = nf_nat_port_nlattr_to_range,
+       .range_to_nlattr        = nf_nat_proto_range_to_nlattr,
+       .nlattr_to_range        = nf_nat_proto_nlattr_to_range,
 #endif
 };