IPVS: Add sysctl_nat_icmp_send()
authorSimon Horman <horms@verge.net.au>
Fri, 4 Feb 2011 09:33:01 +0000 (18:33 +0900)
committerSimon Horman <horms@verge.net.au>
Tue, 15 Mar 2011 00:36:56 +0000 (09:36 +0900)
In preparation for not including sysctl_nat_icmp_send in
struct netns_ipvs when CONFIG_SYCTL is not defined.

Signed-off-by: Simon Horman <horms@verge.net.au>
net/netfilter/ipvs/ip_vs_core.c

index 1d8a2a226151a5e99d11f1a0c5199a384b9bdd9d..c9b83728f3ce7996ddae1309649f2f44eecaf82c 100644 (file)
@@ -607,9 +607,16 @@ static int sysctl_snat_reroute(struct sk_buff *skb)
        return ipvs->sysctl_snat_reroute;
 }
 
+static int sysctl_nat_icmp_send(struct net *net)
+{
+       struct netns_ipvs *ipvs = net_ipvs(net);
+       return ipvs->sysctl_nat_icmp_send;
+}
+
 #else
 
 static int sysctl_snat_reroute(struct sk_buff *skb) { return 0; }
+static int sysctl_nat_icmp_send(struct net *net) { return 0; }
 
 #endif
 
@@ -1074,7 +1081,6 @@ ip_vs_out(unsigned int hooknum, struct sk_buff *skb, int af)
        struct ip_vs_protocol *pp;
        struct ip_vs_proto_data *pd;
        struct ip_vs_conn *cp;
-       struct netns_ipvs *ipvs;
 
        EnterFunction(11);
 
@@ -1149,11 +1155,10 @@ ip_vs_out(unsigned int hooknum, struct sk_buff *skb, int af)
         * Check if the packet belongs to an existing entry
         */
        cp = pp->conn_out_get(af, skb, &iph, iph.len, 0);
-       ipvs = net_ipvs(net);
 
        if (likely(cp))
                return handle_response(af, skb, pd, cp, iph.len);
-       if (ipvs->sysctl_nat_icmp_send &&
+       if (sysctl_nat_icmp_send(net) &&
            (pp->protocol == IPPROTO_TCP ||
             pp->protocol == IPPROTO_UDP ||
             pp->protocol == IPPROTO_SCTP)) {