From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> To: Xin Long <lucien.xin@gmail.com> Cc: network dev <netdev@vger.kernel.org>, linux-sctp@vger.kernel.org, Neil Horman <nhorman@tuxdriver.com>, Michael Tuexen <tuexen@fh-muenster.de>, davem@davemloft.net, gnault@redhat.com, pabeni@redhat.com, willemdebruijn.kernel@gmail.com Subject: Re: [PATCHv3 net-next 16/16] sctp: enable udp tunneling socks Date: Thu, 15 Oct 2020 17:42:52 +0000 [thread overview] Message-ID: <20201015174252.GB11030@localhost.localdomain> (raw) In-Reply-To: <afbaca39fa40eba694bd63c200050a49d8c8df81.1602574012.git.lucien.xin@gmail.com> Actually.. On Tue, Oct 13, 2020 at 03:27:41PM +0800, Xin Long wrote: ... > Also add sysctl udp_port to allow changing the listening > sock's port by users. ... > --- > net/sctp/protocol.c | 5 +++++ > net/sctp/sysctl.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 55 insertions(+) Xin, sorry for not noticing this earlier, but we need a documentation update here for this new sysctl. This is important. Please add its entry in ip-sysctl.rst. > > diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c > index be002b7..79fb4b5 100644 > --- a/net/sctp/protocol.c > +++ b/net/sctp/protocol.c > @@ -1469,6 +1469,10 @@ static int __net_init sctp_ctrlsock_init(struct net *net) > if (status) > pr_err("Failed to initialize the SCTP control sock\n"); > > + status = sctp_udp_sock_start(net); > + if (status) > + pr_err("Failed to initialize the SCTP udp tunneling sock\n"); ^^^ upper case please. Nit. There are other occurrences of this. > + > return status; ... > + ret = proc_dointvec(&tbl, write, buffer, lenp, ppos); > + if (write && ret = 0) { > + struct sock *sk = net->sctp.ctl_sock; > + > + if (new_value > max || new_value < min) > + return -EINVAL; > + > + net->sctp.udp_port = new_value; > + sctp_udp_sock_stop(net); So, if it would be disabling the encapsulation, it shouldn't be calling _start() then, right? Like if (new_value) ret = sctp_udp_sock_start(net); Otherwise _start() here will call ..._bind() with port 0, which then will be a random one. > + ret = sctp_udp_sock_start(net); > + if (ret) > + net->sctp.udp_port = 0; > + > + /* Update the value in the control socket */ > + lock_sock(sk); > + sctp_sk(sk)->udp_port = htons(net->sctp.udp_port); > + release_sock(sk); > + } > + > + return ret; > +} > + > int sctp_sysctl_net_register(struct net *net) > { > struct ctl_table *table; > -- > 2.1.0 >
WARNING: multiple messages have this Message-ID (diff)
From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> To: Xin Long <lucien.xin@gmail.com> Cc: network dev <netdev@vger.kernel.org>, linux-sctp@vger.kernel.org, Neil Horman <nhorman@tuxdriver.com>, Michael Tuexen <tuexen@fh-muenster.de>, davem@davemloft.net, gnault@redhat.com, pabeni@redhat.com, willemdebruijn.kernel@gmail.com Subject: Re: [PATCHv3 net-next 16/16] sctp: enable udp tunneling socks Date: Thu, 15 Oct 2020 14:42:52 -0300 [thread overview] Message-ID: <20201015174252.GB11030@localhost.localdomain> (raw) Message-ID: <20201015174252.DZA1NGvPGvScXqNH3Q5-Tt7JPVPtqh4tZDC1k0dLmlI@z> (raw) In-Reply-To: <afbaca39fa40eba694bd63c200050a49d8c8df81.1602574012.git.lucien.xin@gmail.com> Actually.. On Tue, Oct 13, 2020 at 03:27:41PM +0800, Xin Long wrote: ... > Also add sysctl udp_port to allow changing the listening > sock's port by users. ... > --- > net/sctp/protocol.c | 5 +++++ > net/sctp/sysctl.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 55 insertions(+) Xin, sorry for not noticing this earlier, but we need a documentation update here for this new sysctl. This is important. Please add its entry in ip-sysctl.rst. > > diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c > index be002b7..79fb4b5 100644 > --- a/net/sctp/protocol.c > +++ b/net/sctp/protocol.c > @@ -1469,6 +1469,10 @@ static int __net_init sctp_ctrlsock_init(struct net *net) > if (status) > pr_err("Failed to initialize the SCTP control sock\n"); > > + status = sctp_udp_sock_start(net); > + if (status) > + pr_err("Failed to initialize the SCTP udp tunneling sock\n"); ^^^ upper case please. Nit. There are other occurrences of this. > + > return status; ... > + ret = proc_dointvec(&tbl, write, buffer, lenp, ppos); > + if (write && ret == 0) { > + struct sock *sk = net->sctp.ctl_sock; > + > + if (new_value > max || new_value < min) > + return -EINVAL; > + > + net->sctp.udp_port = new_value; > + sctp_udp_sock_stop(net); So, if it would be disabling the encapsulation, it shouldn't be calling _start() then, right? Like if (new_value) ret = sctp_udp_sock_start(net); Otherwise _start() here will call ..._bind() with port 0, which then will be a random one. > + ret = sctp_udp_sock_start(net); > + if (ret) > + net->sctp.udp_port = 0; > + > + /* Update the value in the control socket */ > + lock_sock(sk); > + sctp_sk(sk)->udp_port = htons(net->sctp.udp_port); > + release_sock(sk); > + } > + > + return ret; > +} > + > int sctp_sysctl_net_register(struct net *net) > { > struct ctl_table *table; > -- > 2.1.0 >
next prev parent reply other threads:[~2020-10-15 17:42 UTC|newest] Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-13 7:27 [PATCHv3 net-next 00/16] sctp: Implement RFC6951: UDP Encapsulation of SCTP Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 01/16] udp: check udp sock encap_type in __udp_lib_err Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 02/16] udp6: move the mss check after udp gso tunnel processing Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 03/16] udp: support sctp over udp in skb_udp_tunnel_segment Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 04/16] sctp: create udp4 sock and add its encap_rcv Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 05/16] sctp: create udp6 sock and set " Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 06/16] sctp: add encap_err_lookup for udp encap socks Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 07/16] sctp: add encap_port for netns sock asoc and transport Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 08/16] sctp: add SCTP_REMOTE_UDP_ENCAPS_PORT sockopt Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 09/16] sctp: allow changing transport encap_port by peer packets Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 10/16] sctp: add udphdr to overhead when udp_port is set Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 11/16] sctp: call sk_setup_caps in sctp_packet_transmit instead Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 12/16] sctp: support for sending packet over udp4 sock Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 13/16] sctp: support for sending packet over udp6 sock Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 14/16] sctp: add the error cause for new encapsulation port restart Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 15/16] sctp: handle the init chunk matching an existing asoc Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-13 7:27 ` [PATCHv3 net-next 16/16] sctp: enable udp tunneling socks Xin Long 2020-10-13 7:27 ` Xin Long 2020-10-15 17:42 ` Marcelo Ricardo Leitner [this message] 2020-10-15 17:42 ` Marcelo Ricardo Leitner 2020-10-15 21:23 ` David Laight 2020-10-15 21:35 ` Michael Tuexen 2020-10-15 21:35 ` Michael Tuexen 2020-10-16 7:08 ` Xin Long 2020-10-16 7:08 ` Xin Long 2020-10-19 10:40 ` Xin Long 2020-10-19 10:40 ` Xin Long 2020-10-13 17:19 ` [PATCHv3 net-next 02/16] udp6: move the mss check after udp gso tunnel processing Willem de Bruijn 2020-10-13 17:19 ` Willem de Bruijn 2020-10-15 3:34 ` [PATCHv3 net-next 00/16] sctp: Implement RFC6951: UDP Encapsulation of SCTP Jakub Kicinski 2020-10-15 3:34 ` Jakub Kicinski 2020-10-15 12:41 ` Marcelo Ricardo Leitner 2020-10-15 12:41 ` Marcelo Ricardo Leitner
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201015174252.GB11030@localhost.localdomain \ --to=marcelo.leitner@gmail.com \ --cc=davem@davemloft.net \ --cc=gnault@redhat.com \ --cc=linux-sctp@vger.kernel.org \ --cc=lucien.xin@gmail.com \ --cc=netdev@vger.kernel.org \ --cc=nhorman@tuxdriver.com \ --cc=pabeni@redhat.com \ --cc=tuexen@fh-muenster.de \ --cc=willemdebruijn.kernel@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).