[NETFILTER]: nf_nat: mark NAT protocols const
authorPatrick McHardy <kaber@trash.net>
Tue, 18 Dec 2007 06:37:36 +0000 (22:37 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 22:58:56 +0000 (14:58 -0800)
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/netfilter/nf_nat_protocol.h
net/ipv4/netfilter/nf_nat_core.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
net/ipv4/netfilter/nf_nat_proto_unknown.c
net/netfilter/nf_conntrack_netlink.c

index 04578bfe23e17fbfa8791bc92dfb7a7bdd4c1b79..4aa0edbb5b966c7b2b7f16969734c522cf840ecf 100644 (file)
@@ -46,21 +46,21 @@ struct nf_nat_protocol
 };
 
 /* Protocol registration. */
-extern int nf_nat_protocol_register(struct nf_nat_protocol *proto);
-extern void nf_nat_protocol_unregister(struct nf_nat_protocol *proto);
+extern int nf_nat_protocol_register(const struct nf_nat_protocol *proto);
+extern void nf_nat_protocol_unregister(const struct nf_nat_protocol *proto);
 
-extern struct nf_nat_protocol *nf_nat_proto_find_get(u_int8_t protocol);
-extern void nf_nat_proto_put(struct nf_nat_protocol *proto);
+extern const struct nf_nat_protocol *nf_nat_proto_find_get(u_int8_t protocol);
+extern void nf_nat_proto_put(const struct nf_nat_protocol *proto);
 
 /* Built-in protocols. */
-extern struct nf_nat_protocol nf_nat_protocol_tcp;
-extern struct nf_nat_protocol nf_nat_protocol_udp;
-extern struct nf_nat_protocol nf_nat_protocol_icmp;
-extern struct nf_nat_protocol nf_nat_unknown_protocol;
+extern const struct nf_nat_protocol nf_nat_protocol_tcp;
+extern const struct nf_nat_protocol nf_nat_protocol_udp;
+extern const struct nf_nat_protocol nf_nat_protocol_icmp;
+extern const struct nf_nat_protocol nf_nat_unknown_protocol;
 
 extern int init_protocols(void) __init;
 extern void cleanup_protocols(void);
-extern struct nf_nat_protocol *find_nat_proto(u_int16_t protonum);
+extern const struct nf_nat_protocol *find_nat_proto(u_int16_t protonum);
 
 extern int nf_nat_port_range_to_nlattr(struct sk_buff *skb,
                                       const struct nf_nat_range *range);
index 4ee67e9f42baacab80203be8065429d1aaa0d244..a772445228ac0e8a01e552800a128a83dd325430 100644 (file)
@@ -42,18 +42,18 @@ static int nf_nat_vmalloced;
 static struct hlist_head *bysource;
 
 #define MAX_IP_NAT_PROTO 256
-static struct nf_nat_protocol *nf_nat_protos[MAX_IP_NAT_PROTO];
+static const struct nf_nat_protocol *nf_nat_protos[MAX_IP_NAT_PROTO];
 
-static inline struct nf_nat_protocol *
+static inline const struct nf_nat_protocol *
 __nf_nat_proto_find(u_int8_t protonum)
 {
        return rcu_dereference(nf_nat_protos[protonum]);
 }
 
-struct nf_nat_protocol *
+const struct nf_nat_protocol *
 nf_nat_proto_find_get(u_int8_t protonum)
 {
-       struct nf_nat_protocol *p;
+       const struct nf_nat_protocol *p;
 
        rcu_read_lock();
        p = __nf_nat_proto_find(protonum);
@@ -66,7 +66,7 @@ nf_nat_proto_find_get(u_int8_t protonum)
 EXPORT_SYMBOL_GPL(nf_nat_proto_find_get);
 
 void
-nf_nat_proto_put(struct nf_nat_protocol *p)
+nf_nat_proto_put(const struct nf_nat_protocol *p)
 {
        module_put(p->me);
 }
@@ -105,7 +105,7 @@ static int
 in_range(const struct nf_conntrack_tuple *tuple,
         const struct nf_nat_range *range)
 {
-       struct nf_nat_protocol *proto;
+       const struct nf_nat_protocol *proto;
        int ret = 0;
 
        /* If we are supposed to map IPs, then we must be in the
@@ -226,7 +226,7 @@ get_unique_tuple(struct nf_conntrack_tuple *tuple,
                 struct nf_conn *ct,
                 enum nf_nat_manip_type maniptype)
 {
-       struct nf_nat_protocol *proto;
+       const struct nf_nat_protocol *proto;
 
        /* 1) If this srcip/proto/src-proto-part is currently mapped,
           and that same mapping gives a unique tuple within the given
@@ -355,7 +355,7 @@ manip_pkt(u_int16_t proto,
          enum nf_nat_manip_type maniptype)
 {
        struct iphdr *iph;
-       struct nf_nat_protocol *p;
+       const struct nf_nat_protocol *p;
 
        if (!skb_make_writable(skb, iphdroff + sizeof(*iph)))
                return 0;
@@ -515,7 +515,7 @@ int nf_nat_icmp_reply_translation(struct nf_conn *ct,
 EXPORT_SYMBOL_GPL(nf_nat_icmp_reply_translation);
 
 /* Protocol registration. */
-int nf_nat_protocol_register(struct nf_nat_protocol *proto)
+int nf_nat_protocol_register(const struct nf_nat_protocol *proto)
 {
        int ret = 0;
 
@@ -532,7 +532,7 @@ int nf_nat_protocol_register(struct nf_nat_protocol *proto)
 EXPORT_SYMBOL(nf_nat_protocol_register);
 
 /* Noone stores the protocol anywhere; simply delete it. */
-void nf_nat_protocol_unregister(struct nf_nat_protocol *proto)
+void nf_nat_protocol_unregister(const struct nf_nat_protocol *proto)
 {
        write_lock_bh(&nf_nat_lock);
        rcu_assign_pointer(nf_nat_protos[proto->protonum],
index 945e0ae78ffa5cb0a34013fb5293c46ca12e41f2..9fa272e73113f6bdda3e8908677b76169ca63201 100644 (file)
@@ -135,7 +135,7 @@ gre_manip_pkt(struct sk_buff *skb, unsigned int iphdroff,
        return 1;
 }
 
-static struct nf_nat_protocol gre __read_mostly = {
+static const struct nf_nat_protocol gre = {
        .name                   = "GRE",
        .protonum               = IPPROTO_GRE,
        .me                     = THIS_MODULE,
index 088bb141c15d9409fdef0d1720a2077720a3b69e..a0e44c953cb6352248a6fa89e3eddc7846b0ec86 100644 (file)
@@ -71,7 +71,7 @@ icmp_manip_pkt(struct sk_buff *skb,
        return 1;
 }
 
-struct nf_nat_protocol nf_nat_protocol_icmp = {
+const struct nf_nat_protocol nf_nat_protocol_icmp = {
        .name                   = "ICMP",
        .protonum               = IPPROTO_ICMP,
        .me                     = THIS_MODULE,
index 633c53ff3d329bdb9e9ce5545a78f69c8d794f09..da23e9fbe6790b9ba957cb98b8b7d36e14b65fad 100644 (file)
@@ -137,7 +137,7 @@ tcp_manip_pkt(struct sk_buff *skb,
        return 1;
 }
 
-struct nf_nat_protocol nf_nat_protocol_tcp = {
+const struct nf_nat_protocol nf_nat_protocol_tcp = {
        .name                   = "TCP",
        .protonum               = IPPROTO_TCP,
        .me                     = THIS_MODULE,
index 9c6519cd15f5f19c7bd8f81994a413a09e1c3fa0..10df4db078afd1693b62d95faa2aa2f848bee815 100644 (file)
@@ -127,7 +127,7 @@ udp_manip_pkt(struct sk_buff *skb,
        return 1;
 }
 
-struct nf_nat_protocol nf_nat_protocol_udp = {
+const struct nf_nat_protocol nf_nat_protocol_udp = {
        .name                   = "UDP",
        .protonum               = IPPROTO_UDP,
        .me                     = THIS_MODULE,
index cfd2742e9706f3f6867dbbab3f81450cdae739b5..a26efeb073cb927ac86f9a469a40763662398e7c 100644 (file)
@@ -45,7 +45,7 @@ unknown_manip_pkt(struct sk_buff *skb,
        return 1;
 }
 
-struct nf_nat_protocol nf_nat_unknown_protocol = {
+const struct nf_nat_protocol nf_nat_unknown_protocol = {
        .name                   = "unknown",
        /* .me isn't set: getting a ref to this cannot fail. */
        .manip_pkt              = unknown_manip_pkt,
index 75012585efe0442dfb176a8efe021879bc0083ca..7851065ef20674f5ae7ee22fc0df92c51bb24981 100644 (file)
@@ -695,7 +695,7 @@ static int nfnetlink_parse_nat_proto(struct nlattr *attr,
                                     struct nf_nat_range *range)
 {
        struct nlattr *tb[CTA_PROTONAT_MAX+1];
-       struct nf_nat_protocol *npt;
+       const struct nf_nat_protocol *npt;
        int err;
 
        err = nla_parse_nested(tb, CTA_PROTONAT_MAX, attr, protonat_nla_policy);