All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH mptcp-next] mptcp: add pm_nl_get_pernet helper
@ 2022-03-23 10:03 Geliang Tang
  2022-03-23 10:06 ` Florian Westphal
  2022-03-23 18:03 ` mptcp: add pm_nl_get_pernet helper: Tests Results MPTCP CI
  0 siblings, 2 replies; 3+ messages in thread
From: Geliang Tang @ 2022-03-23 10:03 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

This patch added a new helper pm_nl_get_pernet(). Ues it instead of
using pm_nl_pernet_id directly.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 net/mptcp/pm_netlink.c | 31 ++++++++++++++++++-------------
 1 file changed, 18 insertions(+), 13 deletions(-)

diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index c1f4befb1e45..0530e03d0fe5 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -55,6 +55,11 @@ struct pm_nl_pernet {
 #define MPTCP_PM_ADDR_MAX	8
 #define ADD_ADDR_RETRANS_MAX	3
 
+static struct pm_nl_pernet *pm_nl_get_pernet(const struct net *net)
+{
+	return net_generic(net, pm_nl_pernet_id);
+}
+
 static bool addresses_equal(const struct mptcp_addr_info *a,
 			    const struct mptcp_addr_info *b, bool use_port)
 {
@@ -208,7 +213,7 @@ unsigned int mptcp_pm_get_add_addr_signal_max(const struct mptcp_sock *msk)
 {
 	const struct pm_nl_pernet *pernet;
 
-	pernet = net_generic(sock_net((const struct sock *)msk), pm_nl_pernet_id);
+	pernet = pm_nl_get_pernet(sock_net((const struct sock *)msk));
 	return READ_ONCE(pernet->add_addr_signal_max);
 }
 EXPORT_SYMBOL_GPL(mptcp_pm_get_add_addr_signal_max);
@@ -217,7 +222,7 @@ unsigned int mptcp_pm_get_add_addr_accept_max(const struct mptcp_sock *msk)
 {
 	struct pm_nl_pernet *pernet;
 
-	pernet = net_generic(sock_net((struct sock *)msk), pm_nl_pernet_id);
+	pernet = pm_nl_get_pernet(sock_net((struct sock *)msk));
 	return READ_ONCE(pernet->add_addr_accept_max);
 }
 EXPORT_SYMBOL_GPL(mptcp_pm_get_add_addr_accept_max);
@@ -226,7 +231,7 @@ unsigned int mptcp_pm_get_subflows_max(const struct mptcp_sock *msk)
 {
 	struct pm_nl_pernet *pernet;
 
-	pernet = net_generic(sock_net((struct sock *)msk), pm_nl_pernet_id);
+	pernet = pm_nl_get_pernet(sock_net((struct sock *)msk));
 	return READ_ONCE(pernet->subflows_max);
 }
 EXPORT_SYMBOL_GPL(mptcp_pm_get_subflows_max);
@@ -235,14 +240,14 @@ unsigned int mptcp_pm_get_local_addr_max(const struct mptcp_sock *msk)
 {
 	struct pm_nl_pernet *pernet;
 
-	pernet = net_generic(sock_net((struct sock *)msk), pm_nl_pernet_id);
+	pernet = pm_nl_get_pernet(sock_net((struct sock *)msk));
 	return READ_ONCE(pernet->local_addr_max);
 }
 EXPORT_SYMBOL_GPL(mptcp_pm_get_local_addr_max);
 
 bool mptcp_pm_nl_check_work_pending(struct mptcp_sock *msk)
 {
-	struct pm_nl_pernet *pernet = net_generic(sock_net((struct sock *)msk), pm_nl_pernet_id);
+	struct pm_nl_pernet *pernet = pm_nl_get_pernet(sock_net((struct sock *)msk));
 
 	if (msk->pm.subflows == mptcp_pm_get_subflows_max(msk) ||
 	    (find_next_and_bit(pernet->id_bitmap, msk->pm.id_avail_bitmap,
@@ -508,7 +513,7 @@ static void mptcp_pm_create_subflow_or_signal_addr(struct mptcp_sock *msk)
 	struct pm_nl_pernet *pernet;
 	unsigned int subflows_max;
 
-	pernet = net_generic(sock_net(sk), pm_nl_pernet_id);
+	pernet = pm_nl_get_pernet(sock_net(sk));
 
 	add_addr_signal_max = mptcp_pm_get_add_addr_signal_max(msk);
 	local_addr_max = mptcp_pm_get_local_addr_max(msk);
@@ -604,7 +609,7 @@ static unsigned int fill_local_addresses_vec(struct mptcp_sock *msk,
 	unsigned int subflows_max;
 	int i = 0;
 
-	pernet = net_generic(sock_net(sk), pm_nl_pernet_id);
+	pernet = pm_nl_get_pernet(sock_net(sk));
 	subflows_max = mptcp_pm_get_subflows_max(msk);
 
 	rcu_read_lock();
@@ -1021,7 +1026,7 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, struct sock_common *skc)
 	if (addresses_equal(&msk_local, &skc_local, false))
 		return 0;
 
-	pernet = net_generic(sock_net((struct sock *)msk), pm_nl_pernet_id);
+	pernet = pm_nl_get_pernet(sock_net((struct sock *)msk));
 
 	rcu_read_lock();
 	list_for_each_entry_rcu(entry, &pernet->local_addr_list, list) {
@@ -1200,7 +1205,7 @@ static int mptcp_pm_parse_addr(struct nlattr *attr, struct genl_info *info,
 
 static struct pm_nl_pernet *genl_info_pm_nl(struct genl_info *info)
 {
-	return net_generic(genl_info_net(info), pm_nl_pernet_id);
+	return pm_nl_get_pernet(genl_info_net(info));
 }
 
 static int mptcp_nl_add_subflow_or_signal_addr(struct net *net)
@@ -1295,7 +1300,7 @@ int mptcp_pm_get_flags_and_ifindex_by_id(struct net *net, unsigned int id,
 
 	if (id) {
 		rcu_read_lock();
-		entry = __lookup_addr_by_id(net_generic(net, pm_nl_pernet_id), id);
+		entry = __lookup_addr_by_id(pm_nl_get_pernet(net), id);
 		if (entry) {
 			*flags = entry->flags;
 			*ifindex = entry->ifindex;
@@ -1647,7 +1652,7 @@ static int mptcp_nl_cmd_dump_addrs(struct sk_buff *msg,
 	void *hdr;
 	int i;
 
-	pernet = net_generic(net, pm_nl_pernet_id);
+	pernet = pm_nl_get_pernet(net);
 
 	spin_lock_bh(&pernet->lock);
 	for (i = id; i < MPTCP_PM_MAX_ADDR_ID + 1; i++) {
@@ -2159,7 +2164,7 @@ static struct genl_family mptcp_genl_family __ro_after_init = {
 
 static int __net_init pm_nl_init_net(struct net *net)
 {
-	struct pm_nl_pernet *pernet = net_generic(net, pm_nl_pernet_id);
+	struct pm_nl_pernet *pernet = pm_nl_get_pernet(net);
 
 	INIT_LIST_HEAD_RCU(&pernet->local_addr_list);
 
@@ -2181,7 +2186,7 @@ static void __net_exit pm_nl_exit_net(struct list_head *net_list)
 	struct net *net;
 
 	list_for_each_entry(net, net_list, exit_list) {
-		struct pm_nl_pernet *pernet = net_generic(net, pm_nl_pernet_id);
+		struct pm_nl_pernet *pernet = pm_nl_get_pernet(net);
 
 		/* net is removed from namespace list, can't race with
 		 * other modifiers, also netns core already waited for a
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH mptcp-next] mptcp: add pm_nl_get_pernet helper
  2022-03-23 10:03 [PATCH mptcp-next] mptcp: add pm_nl_get_pernet helper Geliang Tang
@ 2022-03-23 10:06 ` Florian Westphal
  2022-03-23 18:03 ` mptcp: add pm_nl_get_pernet helper: Tests Results MPTCP CI
  1 sibling, 0 replies; 3+ messages in thread
From: Florian Westphal @ 2022-03-23 10:06 UTC (permalink / raw)
  To: Geliang Tang; +Cc: mptcp

Geliang Tang <geliang.tang@suse.com> wrote:
> This patch added a new helper pm_nl_get_pernet(). Ues it instead of
> using pm_nl_pernet_id directly.

If you're already touching this, then ...

> +static struct pm_nl_pernet *pm_nl_get_pernet(const struct net *net)
> +{
> +	return net_generic(net, pm_nl_pernet_id);
> +}
> +

It would make sense to add a second helper that returns pm_nl_pernet
struct given 'struct mptcp_sock *'.

>  static bool addresses_equal(const struct mptcp_addr_info *a,
>  			    const struct mptcp_addr_info *b, bool use_port)
>  {
> @@ -208,7 +213,7 @@ unsigned int mptcp_pm_get_add_addr_signal_max(const struct mptcp_sock *msk)
>  {
>  	const struct pm_nl_pernet *pernet;
>  
> -	pernet = net_generic(sock_net((const struct sock *)msk), pm_nl_pernet_id);
> +	pernet = pm_nl_get_pernet(sock_net((const struct sock *)msk));

This would avoid all these cast.

Something like

> +	pernet = pm_nl_get_pernet_from_msk(msk);

... or similar.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: mptcp: add pm_nl_get_pernet helper: Tests Results
  2022-03-23 10:03 [PATCH mptcp-next] mptcp: add pm_nl_get_pernet helper Geliang Tang
  2022-03-23 10:06 ` Florian Westphal
@ 2022-03-23 18:03 ` MPTCP CI
  1 sibling, 0 replies; 3+ messages in thread
From: MPTCP CI @ 2022-03-23 18:03 UTC (permalink / raw)
  To: Geliang Tang; +Cc: mptcp

Hi Geliang,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal:
  - Success! ✅:
  - Task: https://cirrus-ci.com/task/4538361393184768
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/4538361393184768/summary/summary.txt

- KVM Validation: debug:
  - Unstable: 1 failed test(s): selftest_diag 🔴:
  - Task: https://cirrus-ci.com/task/5664261300027392
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/5664261300027392/summary/summary.txt

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/9006685c26dd

Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (Tessares)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-03-23 18:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-23 10:03 [PATCH mptcp-next] mptcp: add pm_nl_get_pernet helper Geliang Tang
2022-03-23 10:06 ` Florian Westphal
2022-03-23 18:03 ` mptcp: add pm_nl_get_pernet helper: Tests Results MPTCP CI

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.