Skip to content

Commit 605626b

Browse files
Geliang Tangintel-lab-lkp
authored andcommitted
mptcp: change is_backup interfaces as get_flags
is_backup() interface of the path managers is not very common. A more common approach is to add a get_flags() interface to obtain the flags value of a given address. Then is_backup() can be implemented through get_flags() by test whether backup flag is set in the flags value. Signed-off-by: Geliang Tang <[email protected]>
1 parent 678f27b commit 605626b

File tree

4 files changed

+19
-13
lines changed

4 files changed

+19
-13
lines changed

net/mptcp/pm.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,13 +429,16 @@ int mptcp_pm_get_local_id(struct mptcp_sock *msk, struct sock_common *skc)
429429
bool mptcp_pm_is_backup(struct mptcp_sock *msk, struct sock_common *skc)
430430
{
431431
struct mptcp_addr_info skc_local;
432+
u8 flags;
432433

433434
mptcp_local_address((struct sock_common *)skc, &skc_local);
434435

435436
if (mptcp_pm_is_userspace(msk))
436-
return mptcp_userspace_pm_is_backup(msk, &skc_local);
437+
flags = mptcp_userspace_pm_get_flags(msk, &skc_local);
438+
else
439+
flags = mptcp_pm_nl_get_flags(msk, &skc_local);
437440

438-
return mptcp_pm_nl_is_backup(msk, &skc_local);
441+
return !!(flags & MPTCP_PM_ADDR_FLAG_BACKUP);
439442
}
440443

441444
static int mptcp_pm_get_addr(u8 id, struct mptcp_pm_addr_entry *addr,

net/mptcp/pm_netlink.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,18 +1168,19 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk,
11681168
return ret;
11691169
}
11701170

1171-
bool mptcp_pm_nl_is_backup(struct mptcp_sock *msk, struct mptcp_addr_info *skc)
1171+
u8 mptcp_pm_nl_get_flags(struct mptcp_sock *msk,
1172+
struct mptcp_addr_info *skc)
11721173
{
11731174
struct pm_nl_pernet *pernet = pm_nl_get_pernet_from_msk(msk);
11741175
struct mptcp_pm_addr_entry *entry;
1175-
bool backup;
1176+
u8 flags;
11761177

11771178
rcu_read_lock();
11781179
entry = __lookup_addr(pernet, skc);
1179-
backup = entry && !!(entry->flags & MPTCP_PM_ADDR_FLAG_BACKUP);
1180+
flags = entry ? entry->flags : 0;
11801181
rcu_read_unlock();
11811182

1182-
return backup;
1183+
return flags;
11831184
}
11841185

11851186
#define MPTCP_PM_CMD_GRP_OFFSET 0

net/mptcp/pm_userspace.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -149,18 +149,18 @@ int mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk,
149149
return mptcp_userspace_pm_append_new_local_addr(msk, local, true);
150150
}
151151

152-
bool mptcp_userspace_pm_is_backup(struct mptcp_sock *msk,
153-
struct mptcp_addr_info *skc)
152+
u8 mptcp_userspace_pm_get_flags(struct mptcp_sock *msk,
153+
struct mptcp_addr_info *skc)
154154
{
155155
struct mptcp_pm_addr_entry *entry;
156-
bool backup;
156+
u8 flags;
157157

158158
spin_lock_bh(&msk->pm.lock);
159159
entry = mptcp_userspace_pm_lookup_addr(msk, skc);
160-
backup = entry && !!(entry->flags & MPTCP_PM_ADDR_FLAG_BACKUP);
160+
flags = entry ? entry->flags : 0;
161161
spin_unlock_bh(&msk->pm.lock);
162162

163-
return backup;
163+
return flags;
164164
}
165165

166166
static struct mptcp_sock *mptcp_userspace_pm_get_sock(const struct genl_info *info)

net/mptcp/protocol.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,8 +1131,10 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk,
11311131
int mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk,
11321132
struct mptcp_pm_addr_entry *local);
11331133
bool mptcp_pm_is_backup(struct mptcp_sock *msk, struct sock_common *skc);
1134-
bool mptcp_pm_nl_is_backup(struct mptcp_sock *msk, struct mptcp_addr_info *skc);
1135-
bool mptcp_userspace_pm_is_backup(struct mptcp_sock *msk, struct mptcp_addr_info *skc);
1134+
u8 mptcp_pm_nl_get_flags(struct mptcp_sock *msk,
1135+
struct mptcp_addr_info *skc);
1136+
u8 mptcp_userspace_pm_get_flags(struct mptcp_sock *msk,
1137+
struct mptcp_addr_info *skc);
11361138
int mptcp_pm_nl_dump_addr(struct sk_buff *msg,
11371139
struct netlink_callback *cb);
11381140
int mptcp_userspace_pm_dump_addr(struct sk_buff *msg,

0 commit comments

Comments
 (0)