* Re: [PATCH mptcp-next 03/21] mptcp: reflect remote port (not 0) in ANNOUNCED events
@ 2021-12-17 10:33 ` kernel test robot
0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-12-17 10:33 UTC (permalink / raw)
Cc: kbuild-all, llvm
In-Reply-To: <20211216222314.1244708-4-kishen.maloor@intel.com>
References: <20211216222314.1244708-4-kishen.maloor@intel.com>
TO: Kishen Maloor <kishen.maloor@intel.com>
TO: kishen.maloor@intel.com
TO: mptcp@lists.linux.dev
Hi Kishen,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on f81a8b95bfe9cae8ff02739e3e263d9310422af7]
url: https://github.com/0day-ci/linux/commits/Kishen-Maloor/mptcp-support-userspace-path-management/20211217-062636
base: f81a8b95bfe9cae8ff02739e3e263d9310422af7
config: x86_64-randconfig-a011-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171855.pp7XfSkU-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 9043c3d65b11b442226015acfbf8167684586cfa)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/bdb267794b512f230544060dba463c0fa9881780
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Kishen-Maloor/mptcp-support-userspace-path-management/20211217-062636
git checkout bdb267794b512f230544060dba463c0fa9881780
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash net/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> net/mptcp/pm_netlink.o: warning: objtool: mptcp_event_addr_announced()+0x39e: unreachable instruction
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH mptcp-next 03/21] mptcp: reflect remote port (not 0) in ANNOUNCED events @ 2021-12-17 10:33 ` kernel test robot 0 siblings, 0 replies; 3+ messages in thread From: kernel test robot @ 2021-12-17 10:33 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 1889 bytes --] In-Reply-To: <20211216222314.1244708-4-kishen.maloor@intel.com> References: <20211216222314.1244708-4-kishen.maloor@intel.com> TO: Kishen Maloor <kishen.maloor@intel.com> TO: kishen.maloor(a)intel.com TO: mptcp(a)lists.linux.dev Hi Kishen, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on f81a8b95bfe9cae8ff02739e3e263d9310422af7] url: https://github.com/0day-ci/linux/commits/Kishen-Maloor/mptcp-support-userspace-path-management/20211217-062636 base: f81a8b95bfe9cae8ff02739e3e263d9310422af7 config: x86_64-randconfig-a011-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171855.pp7XfSkU-lkp(a)intel.com/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 9043c3d65b11b442226015acfbf8167684586cfa) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/bdb267794b512f230544060dba463c0fa9881780 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Kishen-Maloor/mptcp-support-userspace-path-management/20211217-062636 git checkout bdb267794b512f230544060dba463c0fa9881780 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash net/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): >> net/mptcp/pm_netlink.o: warning: objtool: mptcp_event_addr_announced()+0x39e: unreachable instruction --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH mptcp-next 00/21] mptcp: support userspace path management @ 2021-12-16 22:22 Kishen Maloor 2021-12-16 22:22 ` [PATCH mptcp-next 03/21] mptcp: reflect remote port (not 0) in ANNOUNCED events Kishen Maloor 0 siblings, 1 reply; 3+ messages in thread From: Kishen Maloor @ 2021-12-16 22:22 UTC (permalink / raw) To: kishen.maloor, mptcp This patch series brings together all the required changes to flexibly manage paths/subflows over MPTCP connections from path manager implementations running in userspace. Path management decisions may be made on either end of MPTCP connections based on state captured through MPTCP netlink events. The series starts with a set of general fixes and enhancements in the related kernel code. It is followed with base functionality and new netlink APIs for handling userspace path management. Further, it extends the MPTCP self-test framework with the new netlink APIs, along with the ability to capture MPTCP netlink events to aid in functional/behavioral validations. Lastly, it adds a new self-test script with a suite of test cases covering all the userspace path management capabilities. Florian Westphal (2): mptcp: netlink: split mptcp_pm_parse_addr into two functions mptcp: netlink: allow userspace-driven subflow establishment Kishen Maloor (19): mptcp: do not restrict subflows with non-kernel PMs mptcp: store remote id from MP_JOIN SYN/ACK in local ctx mptcp: reflect remote port (not 0) in ANNOUNCED events mptcp: establish subflows from either end of connection mptcp: netlink: store per namespace list of refcounted listen socks mptcp: netlink: store lsk ref in mptcp_pm_addr_entry mptcp: netlink: process IPv6 addrs in creating listening sockets mptcp: attempt to add listening sockets for announced addrs mptcp: allow ADD_ADDR reissuance by userspace PMs mptcp: handle local addrs announced by userspace PMs mptcp: read attributes of addr entries managed by userspace PMs mptcp: netlink: Add MPTCP_PM_CMD_ANNOUNCE mptcp: selftests: support MPTCP_PM_CMD_ANNOUNCE mptcp: netlink: Add MPTCP_PM_CMD_REMOVE mptcp: selftests: support MPTCP_PM_CMD_REMOVE mptcp: selftests: support MPTCP_PM_CMD_SUBFLOW_CREATE mptcp: selftests: support MPTCP_PM_CMD_SUBFLOW_DESTROY mptcp: selftests: capture netlink events selftests: mptcp: functional tests for the userspace PM type include/uapi/linux/mptcp.h | 7 + net/mptcp/options.c | 5 +- net/mptcp/pm.c | 12 +- net/mptcp/pm_netlink.c | 842 ++++++++++++++++-- net/mptcp/protocol.c | 7 +- net/mptcp/protocol.h | 12 +- net/mptcp/subflow.c | 6 +- tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 587 +++++++++++- .../selftests/net/mptcp/userspace_pm.sh | 561 ++++++++++++ 9 files changed, 1935 insertions(+), 104 deletions(-) create mode 100755 tools/testing/selftests/net/mptcp/userspace_pm.sh base-commit: f81a8b95bfe9cae8ff02739e3e263d9310422af7 -- 2.31.1 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH mptcp-next 03/21] mptcp: reflect remote port (not 0) in ANNOUNCED events 2021-12-16 22:22 [PATCH mptcp-next 00/21] mptcp: support userspace path management Kishen Maloor @ 2021-12-16 22:22 ` Kishen Maloor 0 siblings, 0 replies; 3+ messages in thread From: Kishen Maloor @ 2021-12-16 22:22 UTC (permalink / raw) To: kishen.maloor, mptcp Per RFC 8684, if no port is specified in an ADD_ADDR message, MPTCP SHOULD attempt to connect to the specified address on the same port as the port that is already in use by the subflow on which the ADD_ADDR signal was sent. To facilitate that, this change reflects the specific remote port in use by that subflow in MPTCP_EVENT_ANNOUNCED events. Signed-off-by: Kishen Maloor <kishen.maloor@intel.com> --- net/mptcp/options.c | 2 +- net/mptcp/pm.c | 5 +++-- net/mptcp/pm_netlink.c | 8 ++++++-- net/mptcp/protocol.h | 6 ++++-- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 7a6a39b71633..cceba8c7806d 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -1123,7 +1123,7 @@ bool mptcp_incoming_options(struct sock *sk, struct sk_buff *skb) if ((mp_opt.suboptions & OPTION_MPTCP_ADD_ADDR) && add_addr_hmac_valid(msk, &mp_opt)) { if (!mp_opt.echo) { - mptcp_pm_add_addr_received(msk, &mp_opt.addr); + mptcp_pm_add_addr_received(msk, &mp_opt.addr, sk); MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_ADDADDR); } else { mptcp_pm_add_addr_echoed(msk, &mp_opt.addr); diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 5f35fe8a5e82..db889ff60326 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -204,14 +204,15 @@ void mptcp_pm_subflow_check_next(struct mptcp_sock *msk, const struct sock *ssk, } void mptcp_pm_add_addr_received(struct mptcp_sock *msk, - const struct mptcp_addr_info *addr) + const struct mptcp_addr_info *addr, + const struct sock *ssk) { struct mptcp_pm_data *pm = &msk->pm; pr_debug("msk=%p remote_id=%d accept=%d", msk, addr->id, READ_ONCE(pm->accept_addr)); - mptcp_event_addr_announced(msk, addr); + mptcp_event_addr_announced(msk, addr, ssk); spin_lock_bh(&pm->lock); diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index f12effa71942..fc07ab9a53ba 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1933,7 +1933,8 @@ void mptcp_event_addr_removed(const struct mptcp_sock *msk, uint8_t id) } void mptcp_event_addr_announced(const struct mptcp_sock *msk, - const struct mptcp_addr_info *info) + const struct mptcp_addr_info *info, + const struct sock *ssk) { struct net *net = sock_net((const struct sock *)msk); struct nlmsghdr *nlh; @@ -1957,7 +1958,10 @@ void mptcp_event_addr_announced(const struct mptcp_sock *msk, if (nla_put_u8(skb, MPTCP_ATTR_REM_ID, info->id)) goto nla_put_failure; - if (nla_put_be16(skb, MPTCP_ATTR_DPORT, info->port)) + if (nla_put_be16(skb, MPTCP_ATTR_DPORT, + info->port == 0 ? + ((struct inet_sock *)inet_sk(ssk))->inet_dport : + info->port)) goto nla_put_failure; switch (info->family) { diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index d1b46c0d8c40..e2a67d3469f6 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -752,7 +752,8 @@ bool mptcp_pm_nl_check_work_pending(struct mptcp_sock *msk); void mptcp_pm_subflow_check_next(struct mptcp_sock *msk, const struct sock *ssk, const struct mptcp_subflow_context *subflow); void mptcp_pm_add_addr_received(struct mptcp_sock *msk, - const struct mptcp_addr_info *addr); + const struct mptcp_addr_info *addr, + const struct sock *ssk); void mptcp_pm_add_addr_echoed(struct mptcp_sock *msk, struct mptcp_addr_info *addr); void mptcp_pm_add_addr_send_ack(struct mptcp_sock *msk); @@ -780,7 +781,8 @@ int mptcp_pm_remove_subflow(struct mptcp_sock *msk, const struct mptcp_rm_list * void mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp); -void mptcp_event_addr_announced(const struct mptcp_sock *msk, const struct mptcp_addr_info *info); +void mptcp_event_addr_announced(const struct mptcp_sock *msk, const struct mptcp_addr_info *info, + const struct sock *ssk); void mptcp_event_addr_removed(const struct mptcp_sock *msk, u8 id); static inline bool mptcp_pm_should_add_signal(struct mptcp_sock *msk) -- 2.31.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-12-17 10:34 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-12-17 10:33 [PATCH mptcp-next 03/21] mptcp: reflect remote port (not 0) in ANNOUNCED events kernel test robot 2021-12-17 10:33 ` kernel test robot -- strict thread matches above, loose matches on Subject: below -- 2021-12-16 22:22 [PATCH mptcp-next 00/21] mptcp: support userspace path management Kishen Maloor 2021-12-16 22:22 ` [PATCH mptcp-next 03/21] mptcp: reflect remote port (not 0) in ANNOUNCED events Kishen Maloor
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.