Messages in this thread | | | Date | Tue, 8 Mar 2022 15:57:54 +0800 | From | Mingbao Sun <> | Subject | Re: [PATCH 2/2] nvme-tcp: support specifying the congestion-control |
| |
On Tue, 8 Mar 2022 08:12:27 +0100 Christoph Hellwig <hch@lst.de> wrote:
> On Sat, Mar 05, 2022 at 03:09:15PM +0800, Mingbao Sun wrote: > > Well, actually I did have thought whether the calling of network API > > here is proper. Since I did find that there is no call to APIs of > > PCI/RDMA/TCP in fabrics.c. > > Yes - for a good reason. Without networking support your patch won't > even compile (both the host and target side).
accept.
Will remove the calls to networking APIs in the next version. With investigation, I found the tcp_congestion could also get checked later within sock_common_setsockopt in nvme_tcp_alloc_queue. And this brings no difference to the command 'nvme connect'.
> > > But I hope the following could make a defense for it: > > > > Anyway, we need to validate the tcp_congestion passed in from > > user-space, right? > > Do we? It seems like no one else really calls this routine to verify > things. In fact it has no modular users at all in the current tree.
OK. Got it.
> > > The role of nvmf_parse_options is similar to that of > > drivers/nvme/target/configfs.c from the target side. > > And both of them can not avoid handling specific options of the > > sub-classes (e.g., NVMF_OPT_HDR_DIGEST, NVMF_OPT_TOS, NVMF_OPT_KATO). > > NVMF_OPT_KATO is completely generic, but yes, there other two are > transport specific. None of them calls out into other modules > that would need dependecies, though.
Yeah, NVMF_OPT_KATO is generic. Sorry for the mistake.
> > I'm also a little concerned that no other in kernel user like iSCSI, > NBD or NFS has any code like this.
Well, at least I could first remove the calls to networking APIs on the host side. And it brings no downside.
| |