net/mptcp/pm_netlink.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
This change updates mptcp_pm_nl_create_listen_socket() to create
listening sockets bound to IPv6 addresses (where IPv6 is supported).
Fixes: 1729cf186d8a ("mptcp: create the listening socket for new port")
Signed-off-by: Kishen Maloor <kishen.maloor@intel.com>
---
net/mptcp/pm_netlink.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index 5eac5bde5b49..93800f32fcb6 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -925,6 +925,7 @@ static int mptcp_pm_nl_append_new_local_addr(struct pm_nl_pernet *pernet,
static int mptcp_pm_nl_create_listen_socket(struct sock *sk,
struct mptcp_pm_addr_entry *entry)
{
+ int addrlen = sizeof(struct sockaddr_in);
struct sockaddr_storage addr;
struct mptcp_sock *msk;
struct socket *ssock;
@@ -949,8 +950,11 @@ static int mptcp_pm_nl_create_listen_socket(struct sock *sk,
}
mptcp_info2sockaddr(&entry->addr, &addr, entry->addr.family);
- err = kernel_bind(ssock, (struct sockaddr *)&addr,
- sizeof(struct sockaddr_in));
+#if IS_ENABLED(CONFIG_MPTCP_IPV6)
+ if (entry->addr.family == AF_INET6)
+ addrlen = sizeof(struct sockaddr_in6);
+#endif
+ err = kernel_bind(ssock, (struct sockaddr *)&addr, addrlen);
if (err) {
pr_warn("kernel_bind error, err=%d", err);
goto out;
base-commit: 05854a699d27b11d8fb3217ec2e0dbf28ecb58e8
--
2.31.1
On Thu, 27 Jan 2022, Kishen Maloor wrote:
> This change updates mptcp_pm_nl_create_listen_socket() to create
> listening sockets bound to IPv6 addresses (where IPv6 is supported).
>
> Fixes: 1729cf186d8a ("mptcp: create the listening socket for new port")
> Signed-off-by: Kishen Maloor <kishen.maloor@intel.com>
> ---
> net/mptcp/pm_netlink.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
Looks good for the export branch:
Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
> diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
> index 5eac5bde5b49..93800f32fcb6 100644
> --- a/net/mptcp/pm_netlink.c
> +++ b/net/mptcp/pm_netlink.c
> @@ -925,6 +925,7 @@ static int mptcp_pm_nl_append_new_local_addr(struct pm_nl_pernet *pernet,
> static int mptcp_pm_nl_create_listen_socket(struct sock *sk,
> struct mptcp_pm_addr_entry *entry)
> {
> + int addrlen = sizeof(struct sockaddr_in);
> struct sockaddr_storage addr;
> struct mptcp_sock *msk;
> struct socket *ssock;
> @@ -949,8 +950,11 @@ static int mptcp_pm_nl_create_listen_socket(struct sock *sk,
> }
>
> mptcp_info2sockaddr(&entry->addr, &addr, entry->addr.family);
> - err = kernel_bind(ssock, (struct sockaddr *)&addr,
> - sizeof(struct sockaddr_in));
> +#if IS_ENABLED(CONFIG_MPTCP_IPV6)
> + if (entry->addr.family == AF_INET6)
> + addrlen = sizeof(struct sockaddr_in6);
> +#endif
> + err = kernel_bind(ssock, (struct sockaddr *)&addr, addrlen);
> if (err) {
> pr_warn("kernel_bind error, err=%d", err);
> goto out;
>
> base-commit: 05854a699d27b11d8fb3217ec2e0dbf28ecb58e8
> --
> 2.31.1
>
>
>
--
Mat Martineau
Intel
Mat Martineau <mathew.j.martineau@linux.intel.com> 于2022年1月28日周五 10:09写道:
>
> On Thu, 27 Jan 2022, Kishen Maloor wrote:
>
> > This change updates mptcp_pm_nl_create_listen_socket() to create
> > listening sockets bound to IPv6 addresses (where IPv6 is supported).
> >
> > Fixes: 1729cf186d8a ("mptcp: create the listening socket for new port")
Acked-by: Geliang Tang <geliang.tang@suse.com>
> > Signed-off-by: Kishen Maloor <kishen.maloor@intel.com>
> > ---
> > net/mptcp/pm_netlink.c | 8 ++++++--
> > 1 file changed, 6 insertions(+), 2 deletions(-)
> >
>
> Looks good for the export branch:
>
> Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
>
> > diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
> > index 5eac5bde5b49..93800f32fcb6 100644
> > --- a/net/mptcp/pm_netlink.c
> > +++ b/net/mptcp/pm_netlink.c
> > @@ -925,6 +925,7 @@ static int mptcp_pm_nl_append_new_local_addr(struct pm_nl_pernet *pernet,
> > static int mptcp_pm_nl_create_listen_socket(struct sock *sk,
> > struct mptcp_pm_addr_entry *entry)
> > {
> > + int addrlen = sizeof(struct sockaddr_in);
> > struct sockaddr_storage addr;
> > struct mptcp_sock *msk;
> > struct socket *ssock;
> > @@ -949,8 +950,11 @@ static int mptcp_pm_nl_create_listen_socket(struct sock *sk,
> > }
> >
> > mptcp_info2sockaddr(&entry->addr, &addr, entry->addr.family);
> > - err = kernel_bind(ssock, (struct sockaddr *)&addr,
> > - sizeof(struct sockaddr_in));
> > +#if IS_ENABLED(CONFIG_MPTCP_IPV6)
> > + if (entry->addr.family == AF_INET6)
> > + addrlen = sizeof(struct sockaddr_in6);
> > +#endif
> > + err = kernel_bind(ssock, (struct sockaddr *)&addr, addrlen);
> > if (err) {
> > pr_warn("kernel_bind error, err=%d", err);
> > goto out;
> >
> > base-commit: 05854a699d27b11d8fb3217ec2e0dbf28ecb58e8
> > --
> > 2.31.1
> >
> >
> >
>
> --
> Mat Martineau
> Intel
>
Hi Kishen, Mat, Geliang,
On 28/01/2022 09:18, Geliang Tang wrote:
> Mat Martineau <mathew.j.martineau@linux.intel.com> 于2022年1月28日周五 10:09写道:
>>
>> On Thu, 27 Jan 2022, Kishen Maloor wrote:
>>
>>> This change updates mptcp_pm_nl_create_listen_socket() to create
>>> listening sockets bound to IPv6 addresses (where IPv6 is supported).
>>>
>>> Fixes: 1729cf186d8a ("mptcp: create the listening socket for new port")
>
> Acked-by: Geliang Tang <geliang.tang@suse.com>
>
>>> Signed-off-by: Kishen Maloor <kishen.maloor@intel.com>
>>> ---
>>> net/mptcp/pm_netlink.c | 8 ++++++--
>>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>>
>>
>> Looks good for the export branch:
>>
>> Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Thank you for having extracted the patch and the reviews!
Now in our tree (fix for -net) with Mat's RvB and Geliang's ACK tags:
- df2b5c816e23: mptcp: netlink: process IPv6 addrs in creating listening
sockets
- Results: fa314fbb2be0..e3f80698163c
Builds and tests are now in progress:
https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20220128T171819
https://github.com/multipath-tcp/mptcp_net-next/actions/workflows/build-validation.yml?query=branch:export
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
© 2016 - 2026 Red Hat, Inc.