Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 19648918 authored by Eric W. Biederman's avatar Eric W. Biederman Committed by Simon Horman
Browse files

ipvs: Pass ipvs not net into register_app and unregister_app

parent a4dd0360
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -517,9 +517,9 @@ struct ip_vs_protocol {
				 const struct sk_buff *skb,
				 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);

+4 −2
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ static int
ip_vs_app_inc_new(struct net *net, struct ip_vs_app *app, __u16 proto,
		  __u16 port)
{
	struct netns_ipvs *ipvs = net_ipvs(net);
	struct ip_vs_protocol *pp;
	struct ip_vs_app *inc;
	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)
		goto out;

@@ -129,13 +130,14 @@ ip_vs_app_inc_new(struct net *net, struct ip_vs_app *app, __u16 proto,
static void
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;

	if (!(pp = ip_vs_proto_get(inc->protocol)))
		return;

	if (pp->unregister_app)
		pp->unregister_app(net, inc);
		pp->unregister_app(ipvs, inc);

	IP_VS_DBG(9, "%s App %s:%u unregistered\n",
		  pp->name, inc->name, ntohs(inc->port));
+3 −4
Original line number Diff line number Diff line
@@ -487,13 +487,12 @@ static inline __u16 sctp_app_hashkey(__be16 port)
		& 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;
	__u16 hash;
	__be16 port = inc->port;
	int ret = 0;
	struct netns_ipvs *ipvs = net_ipvs(net);
	struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_SCTP);

	hash = sctp_app_hashkey(port);
@@ -511,9 +510,9 @@ static int sctp_register_app(struct net *net, struct ip_vs_app *inc)
	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);
	list_del_rcu(&inc->p_list);
+3 −4
Original line number Diff line number Diff line
@@ -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;
	__u16 hash;
	__be16 port = inc->port;
	int ret = 0;
	struct netns_ipvs *ipvs = net_ipvs(net);
	struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_TCP);

	hash = tcp_app_hashkey(port);
@@ -621,9 +620,9 @@ static int tcp_register_app(struct net *net, struct ip_vs_app *inc)


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);
	list_del_rcu(&inc->p_list);
+3 −4
Original line number Diff line number Diff line
@@ -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;
	__u16 hash;
	__be16 port = inc->port;
	int ret = 0;
	struct netns_ipvs *ipvs = net_ipvs(net);
	struct ip_vs_proto_data *pd = ip_vs_proto_data_get(ipvs, IPPROTO_UDP);

	hash = udp_app_hashkey(port);
@@ -391,9 +390,9 @@ static int udp_register_app(struct net *net, struct ip_vs_app *inc)


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);
	list_del_rcu(&inc->p_list);