public inbox for virtualization@lists.linux-foundation.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Chia-Yu Chang (Nokia)" <chia-yu.chang@nokia-bell-labs.com>
Cc: "tariqt@nvidia.com" <tariqt@nvidia.com>,
	"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
	"shaojijie@huawei.com" <shaojijie@huawei.com>,
	"shenjian15@huawei.com" <shenjian15@huawei.com>,
	"salil.mehta@huawei.com" <salil.mehta@huawei.com>,
	"mbloch@nvidia.com" <mbloch@nvidia.com>,
	"saeedm@nvidia.com" <saeedm@nvidia.com>,
	"leon@kernel.org" <leon@kernel.org>,
	"eperezma@redhat.com" <eperezma@redhat.com>,
	"brett.creeley@amd.com" <brett.creeley@amd.com>,
	"jasowang@redhat.com" <jasowang@redhat.com>,
	"virtualization@lists.linux.dev" <virtualization@lists.linux.dev>,
	"xuanzhuo@linux.alibaba.com" <xuanzhuo@linux.alibaba.com>,
	"pabeni@redhat.com" <pabeni@redhat.com>,
	"edumazet@google.com" <edumazet@google.com>,
	"parav@nvidia.com" <parav@nvidia.com>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"corbet@lwn.net" <corbet@lwn.net>,
	"horms@kernel.org" <horms@kernel.org>,
	"dsahern@kernel.org" <dsahern@kernel.org>,
	"kuniyu@google.com" <kuniyu@google.com>,
	"bpf@vger.kernel.org" <bpf@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"dave.taht@gmail.com" <dave.taht@gmail.com>,
	"jhs@mojatatu.com" <jhs@mojatatu.com>,
	"kuba@kernel.org" <kuba@kernel.org>,
	"stephen@networkplumber.org" <stephen@networkplumber.org>,
	"xiyou.wangcong@gmail.com" <xiyou.wangcong@gmail.com>,
	"jiri@resnulli.us" <jiri@resnulli.us>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"andrew+netdev@lunn.ch" <andrew+netdev@lunn.ch>,
	"donald.hunter@gmail.com" <donald.hunter@gmail.com>,
	"ast@fiberby.net" <ast@fiberby.net>,
	"liuhangbin@gmail.com" <liuhangbin@gmail.com>,
	"shuah@kernel.org" <shuah@kernel.org>,
	"linux-kselftest@vger.kernel.org"
	<linux-kselftest@vger.kernel.org>,
	"ij@kernel.org" <ij@kernel.org>,
	"ncardwell@google.com" <ncardwell@google.com>,
	"Koen De Schepper (Nokia)" <koen.de_schepper@nokia-bell-labs.com>,
	"g.white@cablelabs.com" <g.white@cablelabs.com>,
	"ingemar.s.johansson@ericsson.com"
	<ingemar.s.johansson@ericsson.com>,
	"mirja.kuehlewind@ericsson.com" <mirja.kuehlewind@ericsson.com>,
	"cheshire@apple.com" <cheshire@apple.com>,
	"rs.ietf@gmx.at" <rs.ietf@gmx.at>,
	"Jason_Livingood@comcast.com" <Jason_Livingood@comcast.com>,
	"vidhi_goel@apple.com" <vidhi_goel@apple.com>
Subject: Re: [PATCH v1 net-next 3/3] virtio_net: Accurate ECN flag in virtio_net_hdr
Date: Mon, 2 Feb 2026 18:45:08 -0500	[thread overview]
Message-ID: <20260202184439-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PAXPR07MB7984B37862D3FBBE363AE5A8A39AA@PAXPR07MB7984.eurprd07.prod.outlook.com>

On Mon, Feb 02, 2026 at 09:09:28PM +0000, Chia-Yu Chang (Nokia) wrote:
> > -----Original Message-----
> > From: Michael S. Tsirkin <mst@redhat.com> 
> > Sent: Monday, February 2, 2026 6:20 PM
> > To: Chia-Yu Chang (Nokia) <chia-yu.chang@nokia-bell-labs.com>
> > Cc: tariqt@nvidia.com; linux-rdma@vger.kernel.org; shaojijie@huawei.com; shenjian15@huawei.com; salil.mehta@huawei.com; mbloch@nvidia.com; saeedm@nvidia.com; leon@kernel.org; eperezma@redhat.com; brett.creeley@amd.com; jasowang@redhat.com; virtualization@lists.linux.dev; xuanzhuo@linux.alibaba.com; pabeni@redhat.com; edumazet@google.com; parav@nvidia.com; linux-doc@vger.kernel.org; corbet@lwn.net; horms@kernel.org; dsahern@kernel.org; kuniyu@google.com; bpf@vger.kernel.org; netdev@vger.kernel.org; dave.taht@gmail.com; jhs@mojatatu.com; kuba@kernel.org; stephen@networkplumber.org; xiyou.wangcong@gmail.com; jiri@resnulli.us; davem@davemloft.net; andrew+netdev@lunn.ch; donald.hunter@gmail.com; ast@fiberby.net; liuhangbin@gmail.com; shuah@kernel.org; linux-kselftest@vger.kernel.org; ij@kernel.org; ncardwell@google.com; Koen De Schepper (Nokia) <koen.de_schepper@nokia-bell-labs.com>; g.white@cablelabs.com; ingemar.s.johansson@ericsson.com; mirja.kuehlewind@ericsson.com; cheshire@apple.com; rs.ietf@gmx.at; Jason_Livingood@comcast.com; vidhi_goel@apple.com
> > Subject: Re: [PATCH v1 net-next 3/3] virtio_net: Accurate ECN flag in virtio_net_hdr
> > 
> > 
> > CAUTION: This is an external email. Please be very careful when clicking links or opening attachments. See the URL nok.it/ext for additional information.
> > 
> > 
> > 
> > On Mon, Feb 02, 2026 at 04:56:38PM +0000, Chia-Yu Chang (Nokia) wrote:
> > > > -----Original Message-----
> > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > Sent: Sunday, February 1, 2026 10:18 AM
> > > > To: Chia-Yu Chang (Nokia) <chia-yu.chang@nokia-bell-labs.com>
> > > > Cc: tariqt@nvidia.com; linux-rdma@vger.kernel.org; 
> > > > shaojijie@huawei.com; shenjian15@huawei.com; salil.mehta@huawei.com; 
> > > > mbloch@nvidia.com; saeedm@nvidia.com; leon@kernel.org; 
> > > > eperezma@redhat.com; brett.creeley@amd.com; jasowang@redhat.com; 
> > > > virtualization@lists.linux.dev; xuanzhuo@linux.alibaba.com; 
> > > > pabeni@redhat.com; edumazet@google.com; parav@nvidia.com; 
> > > > linux-doc@vger.kernel.org; corbet@lwn.net; horms@kernel.org; 
> > > > dsahern@kernel.org; kuniyu@google.com; bpf@vger.kernel.org; 
> > > > netdev@vger.kernel.org; dave.taht@gmail.com; jhs@mojatatu.com; 
> > > > kuba@kernel.org; stephen@networkplumber.org; 
> > > > xiyou.wangcong@gmail.com; jiri@resnulli.us; davem@davemloft.net; 
> > > > andrew+netdev@lunn.ch; donald.hunter@gmail.com; ast@fiberby.net; 
> > > > liuhangbin@gmail.com; shuah@kernel.org; 
> > > > linux-kselftest@vger.kernel.org; ij@kernel.org; 
> > > > ncardwell@google.com; Koen De Schepper (Nokia) 
> > > > <koen.de_schepper@nokia-bell-labs.com>; g.white@cablelabs.com; 
> > > > ingemar.s.johansson@ericsson.com; mirja.kuehlewind@ericsson.com; 
> > > > cheshire@apple.com; rs.ietf@gmx.at; Jason_Livingood@comcast.com; 
> > > > vidhi_goel@apple.com
> > > > Subject: Re: [PATCH v1 net-next 3/3] virtio_net: Accurate ECN flag 
> > > > in virtio_net_hdr
> > > >
> > > >
> > > > CAUTION: This is an external email. Please be very careful when clicking links or opening attachments. See the URL nok.it/ext for additional information.
> > > >
> > > >
> > > >
> > > > Thanks for the patch! Yet something to improve:
> > > >
> > > > On Sat, Jan 31, 2026 at 11:55:10PM +0100, chia-yu.chang@nokia-bell-labs.com wrote:
> > > > > From: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>
> > > > >
> > > > > Unlike RFC 3168 ECN, accurate ECN uses the CWR flag as part of the 
> > > > > ACE field to count new packets with CE mark; however, it will be 
> > > > > corrupted by the RFC 3168 ECN-aware TSO. Therefore, fallback shall 
> > > > > be applied by seting NETIF_F_GSO_ACCECN to ensure that the CWR 
> > > > > flag should not be changed within a super-skb.
> > > > >
> > > > > To apply the aforementieond new AccECN GSO for virtio, new featue 
> > > > > bits for host and guest are added for feature negotiation between 
> > > > > driver and device. And the translation of Accurate ECN GSO flag 
> > > > > between virtio_net_hdr and skb header for NETIF_F_GSO_ACCECN is 
> > > > > also added to avoid CWR flag corruption due to RFC3168 ECN TSO.
> > > > >
> > > > > Signed-off-by: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>
> > > >
> > > >
> > > > To the best of my understanding, this is a new feature - support for VIRTIO_NET_F_HOST_ACCECN, VIRTIO_NET_F_GUEST_ACCECN?
> > > > The commit log makes it sound like it fixes some behaviour for existing hardware, but that is not the case.
> > > >
> > >
> > > Thansk for the feedback, I will update commit message in v3.
> > > >
> > > > > ---
> > > > > v2:
> > > > > - Replace VIRTIO_NET_HDR_GSO_ECN with VIRTIO_NET_HDR_GSO_ECN_FLAGS
> > > >
> > > > but where is v2? this is v1...
> > >
> > > I shall update this version as v2, will do at the next version.
> > >
> > > [...]
> > > > > diff --git a/include/uapi/linux/virtio_net.h 
> > > > > b/include/uapi/linux/virtio_net.h index 1db45b01532b..af5bfe45aa1f
> > > > > 100644
> > > > > --- a/include/uapi/linux/virtio_net.h
> > > > > +++ b/include/uapi/linux/virtio_net.h
> > > > > @@ -56,6 +56,8 @@
> > > > >  #define VIRTIO_NET_F_MQ      22      /* Device supports Receive Flow
> > > > >                                        * Steering */
> > > > >  #define VIRTIO_NET_F_CTRL_MAC_ADDR 23        /* Set MAC address */
> > > > > +#define VIRTIO_NET_F_HOST_ACCECN 25  /* Host can handle GSO of 
> > > > > +AccECN */ #define VIRTIO_NET_F_GUEST_ACCECN 26 /* Guest can 
> > > > > +handle GSO of AccECN */
> > > > >  #define VIRTIO_NET_F_DEVICE_STATS 50 /* Device can provide 
> > > > > device-level statistics. */  #define VIRTIO_NET_F_VQ_NOTF_COAL 52 /* Device supports virtqueue notification coalescing */
> > > > >  #define VIRTIO_NET_F_NOTF_COAL       53      /* Device supports notifications coalescing */
> > > > > @@ -165,6 +167,9 @@ struct virtio_net_hdr_v1 {  #define 
> > > > > VIRTIO_NET_HDR_GSO_UDP_TUNNEL (VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV4 | \
> > > > >                                      VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV6)
> > > > >  #define VIRTIO_NET_HDR_GSO_ECN               0x80    /* TCP has ECN set */
> > > > > +#define VIRTIO_NET_HDR_GSO_ACCECN    0x10    /* TCP AccECN segmentation */
> > > > > +#define VIRTIO_NET_HDR_GSO_ECN_FLAGS (VIRTIO_NET_HDR_GSO_ECN | \
> > > > > +                                      VIRTIO_NET_HDR_GSO_ACCECN)
> > > > >       __u8 gso_type;
> > > > >       __virtio16 hdr_len;     /* Ethernet + IP + tcp/udp hdrs */
> > > > >       __virtio16 gso_size;    /* Bytes to append to hdr_len per frame */
> > > >
> > > >
> > > > UAPI changes need to be added to the virtio spec.
> > > > Pls get this approved by the virtio TC.
> > > > Thanks!
> > >
> > > There were some discussions last October in virtio-comment@lists.linux.dev mailing list.
> > 
> > 
> > That's it I could not find it. Could you include the archive link pls?
> 
> The email thread I found is https://yhbt.net/lore/all/20250814120118.81787-1-chia-yu.chang@nokia-bell-labs.com/T/#m62dd5e559a68e8d3e5872e85d37c924f65fc7033

or

https://lore.kernel.org/all/20250814120118.81787-1-chia-yu.chang@nokia-bell-labs.com/


> There were discussions about updating the documents of SKB_GSO_TCP_ECN and SKB_GSO_TCP_ACCECN, and you can find it in the first patch of this series.

document this in commit log and cover letter pls.

> > 
> > 
> > > At that moment, it is suggested to make Linux kernel accept new comments for SKB_GSO_TCP_ECN and SKB_GSO_TCP_ACCECN first.
> > > So, could virtio-spec colleague give your feedback? (Parav?).
> > >
> > > Otherwise, the CWR handling of virtio will be wrong after all Accurate ECN commits are merged in Linux.
> > >
> > > Chia-Yu
> > 
> > if there's a general agreement we don't need to block linux on tc approval.
> > 
> > --
> > MST
> 
> Shall I also submit patches to virtio-spec? Please suggest ways forwards.
> 
> Thanks!
> 
> Chia-Yu


  reply	other threads:[~2026-02-02 23:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-31 22:55 [PATCH v1 net-next 0/3] ECN offload handling for AccECN series chia-yu.chang
2026-01-31 22:55 ` [PATCH v1 net-next 1/3] net: update commnets for SKB_GSO_TCP_ECN and SKB_GSO_TCP_ACCECN chia-yu.chang
2026-02-01  9:01   ` Michael S. Tsirkin
2026-01-31 22:55 ` [PATCH v1 net-next 2/3] net: hns3/mlx5e: avoid corrupting CWR flag when receiving GRO packet chia-yu.chang
2026-02-01  9:05   ` Michael S. Tsirkin
2026-02-02 16:44     ` Chia-Yu Chang (Nokia)
2026-01-31 22:55 ` [PATCH v1 net-next 3/3] virtio_net: Accurate ECN flag in virtio_net_hdr chia-yu.chang
2026-02-01  9:17   ` Michael S. Tsirkin
2026-02-02 16:56     ` Chia-Yu Chang (Nokia)
2026-02-02 17:19       ` Michael S. Tsirkin
2026-02-02 21:09         ` Chia-Yu Chang (Nokia)
2026-02-02 23:45           ` Michael S. Tsirkin [this message]
2026-02-01  0:45 ` [PATCH v1 net-next 0/3] ECN offload handling for AccECN series Jakub Kicinski
2026-02-02 14:10   ` Chia-Yu Chang (Nokia)

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=20260202184439-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=Jason_Livingood@comcast.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=ast@fiberby.net \
    --cc=bpf@vger.kernel.org \
    --cc=brett.creeley@amd.com \
    --cc=cheshire@apple.com \
    --cc=chia-yu.chang@nokia-bell-labs.com \
    --cc=corbet@lwn.net \
    --cc=dave.taht@gmail.com \
    --cc=davem@davemloft.net \
    --cc=donald.hunter@gmail.com \
    --cc=dsahern@kernel.org \
    --cc=edumazet@google.com \
    --cc=eperezma@redhat.com \
    --cc=g.white@cablelabs.com \
    --cc=horms@kernel.org \
    --cc=ij@kernel.org \
    --cc=ingemar.s.johansson@ericsson.com \
    --cc=jasowang@redhat.com \
    --cc=jhs@mojatatu.com \
    --cc=jiri@resnulli.us \
    --cc=koen.de_schepper@nokia-bell-labs.com \
    --cc=kuba@kernel.org \
    --cc=kuniyu@google.com \
    --cc=leon@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=liuhangbin@gmail.com \
    --cc=mbloch@nvidia.com \
    --cc=mirja.kuehlewind@ericsson.com \
    --cc=ncardwell@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=parav@nvidia.com \
    --cc=rs.ietf@gmx.at \
    --cc=saeedm@nvidia.com \
    --cc=salil.mehta@huawei.com \
    --cc=shaojijie@huawei.com \
    --cc=shenjian15@huawei.com \
    --cc=shuah@kernel.org \
    --cc=stephen@networkplumber.org \
    --cc=tariqt@nvidia.com \
    --cc=vidhi_goel@apple.com \
    --cc=virtualization@lists.linux.dev \
    --cc=xiyou.wangcong@gmail.com \
    --cc=xuanzhuo@linux.alibaba.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: link
Be 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