IPVS: Minimise ip_vs_leave when CONFIG_SYSCTL is undefined
Much of ip_vs_leave() is unnecessary if CONFIG_SYSCTL is undefined. I tried an approach of breaking the now #ifdef'ed portions out into a separate function. However this appeared to grow the compiled code on x86_64 by about 200 bytes in the case where CONFIG_SYSCTL is defined. So I have gone with the simpler though less elegant #ifdef'ed solution for now. Signed-off-by: Simon Horman <horms@verge.net.au>
This commit is contained in:
@@ -499,11 +499,13 @@ ip_vs_schedule(struct ip_vs_service *svc, struct sk_buff *skb,
|
|||||||
int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
|
int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
|
||||||
struct ip_vs_proto_data *pd)
|
struct ip_vs_proto_data *pd)
|
||||||
{
|
{
|
||||||
struct net *net;
|
|
||||||
struct netns_ipvs *ipvs;
|
|
||||||
__be16 _ports[2], *pptr;
|
__be16 _ports[2], *pptr;
|
||||||
struct ip_vs_iphdr iph;
|
struct ip_vs_iphdr iph;
|
||||||
|
#ifdef CONFIG_SYSCTL
|
||||||
|
struct net *net;
|
||||||
|
struct netns_ipvs *ipvs;
|
||||||
int unicast;
|
int unicast;
|
||||||
|
#endif
|
||||||
|
|
||||||
ip_vs_fill_iphdr(svc->af, skb_network_header(skb), &iph);
|
ip_vs_fill_iphdr(svc->af, skb_network_header(skb), &iph);
|
||||||
|
|
||||||
@@ -512,6 +514,8 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
|
|||||||
ip_vs_service_put(svc);
|
ip_vs_service_put(svc);
|
||||||
return NF_DROP;
|
return NF_DROP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_SYSCTL
|
||||||
net = skb_net(skb);
|
net = skb_net(skb);
|
||||||
|
|
||||||
#ifdef CONFIG_IP_VS_IPV6
|
#ifdef CONFIG_IP_VS_IPV6
|
||||||
@@ -563,6 +567,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
|
|||||||
ip_vs_conn_put(cp);
|
ip_vs_conn_put(cp);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When the virtual ftp service is presented, packets destined
|
* When the virtual ftp service is presented, packets destined
|
||||||
|
Reference in New Issue
Block a user