ipvs: Pass ipvs not net into register_app and unregister_app

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Acked-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
This commit is contained in:
Eric W. Biederman 2015-09-21 13:02:29 -05:00 committed by Simon Horman
parent a4dd0360c6
commit 19648918fb
5 changed files with 15 additions and 16 deletions

View File

@ -517,9 +517,9 @@ struct ip_vs_protocol {
const struct sk_buff *skb, const struct sk_buff *skb,
struct ip_vs_proto_data *pd); struct ip_vs_proto_data *pd);
int (*register_app)(struct net *net, struct ip_vs_app *inc); int (*register_app)(struct netns_ipvs *ipvs, struct ip_vs_app *inc);
void (*unregister_app)(struct net *net, struct ip_vs_app *inc); void (*unregister_app)(struct netns_ipvs *ipvs, struct ip_vs_app *inc);
int (*app_conn_bind)(struct ip_vs_conn *cp); int (*app_conn_bind)(struct ip_vs_conn *cp);

View File

@ -78,6 +78,7 @@ static int
ip_vs_app_inc_new(struct net *net, struct ip_vs_app *app, __u16 proto, ip_vs_app_inc_new(struct net *net, struct ip_vs_app *app, __u16 proto,
__u16 port) __u16 port)
{ {
struct netns_ipvs *ipvs = net_ipvs(net);
struct ip_vs_protocol *pp; struct ip_vs_protocol *pp;
struct ip_vs_app *inc; struct ip_vs_app *inc;
int ret; int ret;
@ -107,7 +108,7 @@ ip_vs_app_inc_new(struct net *net, struct ip_vs_app *app, __u16 proto,
} }
} }
ret = pp->register_app(net, inc); ret = pp->register_app(ipvs, inc);
if (ret) if (ret)
goto out; goto out;
@ -129,13 +130,14 @@ ip_vs_app_inc_new(struct net *net, struct ip_vs_app *app, __u16 proto,
static void static void
ip_vs_app_inc_release(struct net *net, struct ip_vs_app *inc) ip_vs_app_inc_release(struct net *net, struct ip_vs_app *inc)
{ {
struct netns_ipvs *ipvs = net_ipvs(net);
struct ip_vs_protocol *pp; struct ip_vs_protocol *pp;
if (!(pp = ip_vs_proto_get(inc->protocol))) if (!(pp = ip_vs_proto_get(inc->protocol)))
return; return;
if (pp->unregister_app) if (pp->unregister_app)
pp->unregister_app(net, inc); pp->unregister_app(ipvs, inc);
IP_VS_DBG(9, "%s App %s:%u unregistered\n", IP_VS_DBG(9, "%s App %s:%u unregistered\n",
pp->name, inc->name, ntohs(inc->port)); pp->name, inc->name, ntohs(inc->port));

View File

@ -487,13 +487,12 @@ static inline __u16 sctp_app_hashkey(__be16 port)
& SCTP_APP_TAB_MASK; & SCTP_APP_TAB_MASK;
} }
static int sctp_register_app(struct net *net, struct ip_vs_app *inc) static int sctp_register_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc)
{ {
struct ip_vs_app *i; struct ip_vs_app *i;
__u16 hash; __u16 hash;
__be16 port = inc->port; __be16 port = inc->port;
int ret = 0; int ret = 0;
struct netns_ipvs *ipvs = net_ipvs(net);
struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_SCTP); struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_SCTP);
hash = sctp_app_hashkey(port); hash = sctp_app_hashkey(port);
@ -511,9 +510,9 @@ static int sctp_register_app(struct net *net, struct ip_vs_app *inc)
return ret; return ret;
} }
static void sctp_unregister_app(struct net *net, struct ip_vs_app *inc) static void sctp_unregister_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc)
{ {
struct ip_vs_proto_data *pd = ip_vs_proto_data_get(net_ipvs(net), IPPROTO_SCTP); struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_SCTP);
atomic_dec(&pd->appcnt); atomic_dec(&pd->appcnt);
list_del_rcu(&inc->p_list); list_del_rcu(&inc->p_list);

View File

@ -595,13 +595,12 @@ static inline __u16 tcp_app_hashkey(__be16 port)
} }
static int tcp_register_app(struct net *net, struct ip_vs_app *inc) static int tcp_register_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc)
{ {
struct ip_vs_app *i; struct ip_vs_app *i;
__u16 hash; __u16 hash;
__be16 port = inc->port; __be16 port = inc->port;
int ret = 0; int ret = 0;
struct netns_ipvs *ipvs = net_ipvs(net);
struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_TCP); struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_TCP);
hash = tcp_app_hashkey(port); hash = tcp_app_hashkey(port);
@ -621,9 +620,9 @@ static int tcp_register_app(struct net *net, struct ip_vs_app *inc)
static void static void
tcp_unregister_app(struct net *net, struct ip_vs_app *inc) tcp_unregister_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc)
{ {
struct ip_vs_proto_data *pd = ip_vs_proto_data_get(net_ipvs(net), IPPROTO_TCP); struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_TCP);
atomic_dec(&pd->appcnt); atomic_dec(&pd->appcnt);
list_del_rcu(&inc->p_list); list_del_rcu(&inc->p_list);

View File

@ -365,13 +365,12 @@ static inline __u16 udp_app_hashkey(__be16 port)
} }
static int udp_register_app(struct net *net, struct ip_vs_app *inc) static int udp_register_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc)
{ {
struct ip_vs_app *i; struct ip_vs_app *i;
__u16 hash; __u16 hash;
__be16 port = inc->port; __be16 port = inc->port;
int ret = 0; int ret = 0;
struct netns_ipvs *ipvs = net_ipvs(net);
struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_UDP); struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_UDP);
hash = udp_app_hashkey(port); hash = udp_app_hashkey(port);
@ -391,9 +390,9 @@ static int udp_register_app(struct net *net, struct ip_vs_app *inc)
static void static void
udp_unregister_app(struct net *net, struct ip_vs_app *inc) udp_unregister_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc)
{ {
struct ip_vs_proto_data *pd = ip_vs_proto_data_get(net_ipvs(net), IPPROTO_UDP); struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_UDP);
atomic_dec(&pd->appcnt); atomic_dec(&pd->appcnt);
list_del_rcu(&inc->p_list); list_del_rcu(&inc->p_list);