Re: [PATCH v2 2/3] nvme-tcp: support IPv6 traffic class

Geliang Tang <[email protected]>
Newsgroups dev.linux.lists.mptcp,org.infradead.lists.linux-nvme,org.kernel.vger.netdev
Message-ID <[email protected]>
Hi Stanislav,

On Mon, 2026-08-10 at 17:32 -0700, Stanislav Fomichev wrote:
> On 08/08, Geliang Tang wrote:
> > From: Geliang Tang <[email protected]>
> > 
> > The NVMe/TCP transport needs to configure the IPv6 traffic class on
> > its
> > queue sockets, but the fabrics option parser currently has no
> > corresponding
> > option.
> > 
> > Add the tclass option to the fabrics parser and store the validated
> > value
> > in struct nvmf_ctrl_options. Negative values are rejected, while
> > values
> > greater than 255 are clamped to 255, matching the valid range of
> > the IPv6
> > traffic class field.
> > 
> > Keep -1 as the default value to let the transport use its default
> > traffic
> > class.
> > 
> > The fabrics layer now supports parsing the tclass option, but the
> > NVMe/TCP
> > transport does not currently advertise or apply it.
> > 
> > Allow NVMe/TCP to use NVMF_OPT_TCLASS and set IPV6_TCLASS on each
> > queue
> > socket via ip6_sock_set_tclass() when a traffic class is specified,
> > keeping
> > the existing IPv4 TOS handling unchanged.
> > 
> > Signed-off-by: Geliang Tang <[email protected]>
> > ---
> >  drivers/nvme/host/fabrics.c | 18 ++++++++++++++++++
> >  drivers/nvme/host/fabrics.h |  3 +++
> >  drivers/nvme/host/tcp.c     |  8 +++++++-
> >  3 files changed, 28 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/nvme/host/fabrics.c
> > b/drivers/nvme/host/fabrics.c
> > index ac3d4f400601..643c03dc7bcb 100644
> > --- a/drivers/nvme/host/fabrics.c
> > +++ b/drivers/nvme/host/fabrics.c
> > @@ -695,6 +695,7 @@ static const match_table_t opt_tokens = {
> >  	{ NVMF_OPT_NR_WRITE_QUEUES,	"nr_write_queues=%d"	},
> >  	{ NVMF_OPT_NR_POLL_QUEUES,	"nr_poll_queues=%d"	},
> >  	{
> > NVMF_OPT_TOS,			"tos=%d"		},
> > +	{ NVMF_OPT_TCLASS,		"tclass=%d"		},
> 
> Do you really need new UAPI for v6? Any reason not to apply existing
> NVMF_OPT_TOS to ipv6 sockets?

Thanks for the feedback. I've given this careful consideration, and
you're absolutely right - there's no strong reason to introduce new
UAPI specifically for IPv6 when the existing NVMF_OPT_TOS can be
reused. I'll reuse it for IPv6 in v3 and drop this new "tclass" option.

Thanks,
-Geliang
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.