All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature
@ 2025-06-23  8:18 chia-yu.chang
  2025-06-23  8:18 ` [PATCH v9 RESEND 1/2] virtio-net: Fix ECN feature descriptions chia-yu.chang
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: chia-yu.chang @ 2025-06-23  8:18 UTC (permalink / raw)
  To: virtio-comment, mst, cohuck, mvaralar, jasowang, xuanzhuo,
	eperezma, ij, ncardwell, koen.de_schepper, g.white, vidhi_goel,
	ingemar.s.johansson, mirja.kuehlewind
  Cc: Chia-Yu Chang

From: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>

Hello,

Please find ECN and AccECN patch v9, which aligns ECN functionality with
RFC3168 ECN, and adds Accurate ECN feature. The Accurate ECN draft can be
found in https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-28

Best Regards,
Chia-Yu

---
v9 (19-May-2025)
- Update descriptions for VIRTIO_NET_F_GUEST_ECN, VIRTIO_NET_F_HOST_ECN, VIRTIO_NET_F_GUEST_ACCECN, VIRTIO_NET_F_HOST_ACCECN (Michael S. Tsirkin <mst@redhat.com>)
- Add reference sections of RFC3168 ECN and AccECN (Michael S. Tsirkin <mst@redhat.com>)

v8 (17-Apr-2025)
- Further typo fixing

v7 (15-Apr-2025)
- Fix typos in AccECN patch (Michael S. Tsirkin <mst@redhat.com>)

v6 (14-Apr-2025)
- Shrink descriptions and make more reference to RFC3168 ECN and AccECN

v5 (06-Mar-2025)
- Update feature bits of VIRTIO_NET_F_HOST_ACCECN(69) and VIRTIO_NET_F_GUEST_ACCECN(70)

v4 (05-Mar-2025)
- Update commit message of AccECN patch
- Add reference to RFC3168 ECN and Accurate ECN
- Simplify feature bit descriptinos to avoid duplication of text

v3 (21-Feb-2025)
- Separate the original patch into 2 different patches
- Fix several reabase issues in v2

v2 (17-Feb-2025)
- Rebase the patch on top of v1.4 virtio-spec

---
Chia-Yu Chang (2):
  virtio-net: Fix ECN feature descriptions
  virtio-net: Define Accurate ECN feature in virtio-spec

 device-types/net/description.tex | 83 +++++++++++++++++++++++---------
 introduction.tex                 |  6 +++
 2 files changed, 65 insertions(+), 24 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v9 RESEND 1/2] virtio-net: Fix ECN feature descriptions
  2025-06-23  8:18 [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature chia-yu.chang
@ 2025-06-23  8:18 ` chia-yu.chang
  2025-06-23  8:18 ` [PATCH v9 RESEND 2/2] virtio-net: Define Accurate ECN feature in virtio-spec chia-yu.chang
  2025-07-02  4:40 ` [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature Chia-Yu Chang (Nokia)
  2 siblings, 0 replies; 8+ messages in thread
From: chia-yu.chang @ 2025-06-23  8:18 UTC (permalink / raw)
  To: virtio-comment, mst, cohuck, mvaralar, jasowang, xuanzhuo,
	eperezma, ij, ncardwell, koen.de_schepper, g.white, vidhi_goel,
	ingemar.s.johansson, mirja.kuehlewind
  Cc: Chia-Yu Chang

From: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>

Clarify that the VIRTIO_NET_HDR_GSO_ECN gso_type flag does not mean that
TCP has IP-ECN set; instead, it identifies that the TCP CWR flag is set
and will be cleared from the second segment of an aggregated segment.
This is used to offload the TCP CWR flag in a way that is compatible with
RFC3168 ECN but is problematic for non-RFC3168 use of the TCP CWR flag.

Foe detailed requirements, please refer to IETF RFC3168:
https://datatracker.ietf.org/doc/html/rfc3168

Signed-off-by: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>
---
 device-types/net/description.tex | 35 +++++++++++++++++---------------
 introduction.tex                 |  3 +++
 2 files changed, 22 insertions(+), 16 deletions(-)

diff --git a/device-types/net/description.tex b/device-types/net/description.tex
index 415c7fd..bba50ff 100644
--- a/device-types/net/description.tex
+++ b/device-types/net/description.tex
@@ -54,7 +54,9 @@ \subsection{Feature bits}\label{sec:Device Types / Network Device / Feature bits
 
 \item[VIRTIO_NET_F_GUEST_TSO6 (8)] Driver can receive TSOv6.
 
-\item[VIRTIO_NET_F_GUEST_ECN (9)] Driver can receive TSO with ECN.
+\item[VIRTIO_NET_F_GUEST_ECN (9)] Driver can receive TSO with the CWR flag set
+    and follow the requirements of the CWR bit described in
+    ``Section 6.1.2. The TCP Sender'' of \hyperref[intro:rfc3168]{[RFC3168]}.
 
 \item[VIRTIO_NET_F_GUEST_UFO (10)] Driver can receive UFO.
 
@@ -62,7 +64,9 @@ \subsection{Feature bits}\label{sec:Device Types / Network Device / Feature bits
 
 \item[VIRTIO_NET_F_HOST_TSO6 (12)] Device can receive TSOv6.
 
-\item[VIRTIO_NET_F_HOST_ECN (13)] Device can receive TSO with ECN.
+\item[VIRTIO_NET_F_HOST_ECN (13)] Device can receive TSO with the CWR flag set
+    and follow the requirements of the CWR bit described in
+    ``Section 6.1.2. The TCP Sender'' of \hyperref[intro:rfc3168]{[RFC3168]}.
 
 \item[VIRTIO_NET_F_HOST_UFO (14)] Device can receive UFO.
 
@@ -729,9 +733,10 @@ \subsubsection{Packet Transmission}\label{sec:Device Types / Network Device / De
     header (ie. MSS).
 
   \item If the driver negotiated the VIRTIO_NET_F_HOST_ECN feature,
-    the VIRTIO_NET_HDR_GSO_ECN bit in \field{gso_type}
-    indicates that the TCP packet has the ECN bit set\footnote{This case is not handled by some older hardware, so is called out
-specifically in the protocol.}.
+    the VIRTIO_NET_HDR_GSO_ECN bit in \field{gso_type} indicates that the TCP packet
+    has the CWR flag set and follows the requirements of the CWR flag described in
+    ``Section 6.1.2. The TCP Sender'' of \hyperref[intro:rfc3168]{[RFC3168]}.
+    \footnote{This case is not handled by some older hardware, so is called out specifically in the protocol.}.
    \end{itemize}
 
 \item If the driver negotiated the VIRTIO_NET_F_HOST_UDP_TUNNEL_GSO feature and the
@@ -828,10 +833,9 @@ \subsubsection{Packet Transmission}\label{sec:Device Types / Network Device / De
 \field{gso_type} to VIRTIO_NET_HDR_GSO_UDP_L4.
 
 The driver SHOULD NOT send to the device TCP packets requiring segmentation offload
-which have the Explicit Congestion Notification bit set, unless the
-VIRTIO_NET_F_HOST_ECN feature is negotiated, in which case the
-driver MUST set the VIRTIO_NET_HDR_GSO_ECN bit in
-\field{gso_type}.
+which need to follow the CWR flag requirements described in ``Section 6.1.2. The TCP Sender''
+of \hyperref[intro:rfc3168]{[RFC3168]}, unless the VIRTIO_NET_F_HOST_ECN feature is
+negotiated, in which case the driver MUST set the VIRTIO_NET_HDR_GSO_ECN bit in \field{gso_type}.
 
 If VIRTIO_NET_F_HOST_UDP_TUNNEL_GSO is negotiated, the driver MAY set
 VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV4 bit or the VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV6 bit
@@ -1168,9 +1172,9 @@ \subsubsection{Processing of Incoming Packets}\label{sec:Device Types / Network
 \end{enumerate}
 
 Additionally, VIRTIO_NET_F_GUEST_CSUM, TSO4, TSO6, UDP, UDP_TUNNEL
-and ECN features enable receive checksum, large receive offload and ECN
-support which are the input equivalents of the transmit checksum,
-transmit segmentation offloading and ECN features, as described
+and ECN features enable receive checksum, large receive offload and RFC3168
+ECN support which are the input equivalents of the transmit checksum,
+transmit segmentation offloading and RFC3168 ECN features, as described
 in \ref{sec:Device Types / Network Device / Device Operation /
 Packet Transmission}:
 \begin{enumerate}
@@ -1273,10 +1277,9 @@ \subsubsection{Processing of Incoming Packets}\label{sec:Device Types / Network
 the VIRTIO_NET_HDR_F_UDP_TUNNEL_CSUM bit in \field{flags}.
 
 The device SHOULD NOT send to the driver TCP packets requiring segmentation offload
-which have the Explicit Congestion Notification bit set, unless the
-VIRTIO_NET_F_GUEST_ECN feature is negotiated, in which case the
-device MUST set the VIRTIO_NET_HDR_GSO_ECN bit in
-\field{gso_type}.
+which need to follow the CWR flag requirements described in ``Section 6.1.2. The TCP Sender''
+of \hyperref[intro:rfc3168]{[RFC3168]}, unless the VIRTIO_NET_F_GUEST_ECN feature is
+negotiated, in which case the device MUST set the VIRTIO_NET_HDR_GSO_ECN bit in \field{gso_type}.
 
 If VIRTIO_NET_F_OUT_NET_HEADER has been negotiated, the device MAY
 set the \field{outer_nh_offset} to nonzero value to indicate outer network header offset,
diff --git a/introduction.tex b/introduction.tex
index 80aa67a..1c4cb33 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -180,6 +180,9 @@ \section{Normative References}\label{sec:Normative References}
     Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP
     14, RFC 8174, DOI 10.17487/RFC8174, May 2017
         \newline\url{http://www.ietf.org/rfc/rfc8174.txt}\\
+	\phantomsection\label{intro:rfc3168}\textbf{[RFC3168]} &
+    S. Floyd., ``The Addition of Explicit Congestion Notification (ECN) to IP'', September 2001.
+	\newline\url{http://www.ietf.org/rfc/rfc3168.txt}\\
 \end{longtable}
 
 \section{Non-Normative References}
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v9 RESEND 2/2] virtio-net: Define Accurate ECN feature in virtio-spec
  2025-06-23  8:18 [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature chia-yu.chang
  2025-06-23  8:18 ` [PATCH v9 RESEND 1/2] virtio-net: Fix ECN feature descriptions chia-yu.chang
@ 2025-06-23  8:18 ` chia-yu.chang
  2025-07-02  4:40 ` [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature Chia-Yu Chang (Nokia)
  2 siblings, 0 replies; 8+ messages in thread
From: chia-yu.chang @ 2025-06-23  8:18 UTC (permalink / raw)
  To: virtio-comment, mst, cohuck, mvaralar, jasowang, xuanzhuo,
	eperezma, ij, ncardwell, koen.de_schepper, g.white, vidhi_goel,
	ingemar.s.johansson, mirja.kuehlewind
  Cc: Chia-Yu Chang

From: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>

This change implements Accurate ECN based on the AccECN specification:
  https://tools.ietf.org/id/draft-ietf-tcpm-accurate-ecn-28.txt

Unlike RFC3168 ECN, Accurate ECN uses the TCP CWR flag as part of the ACE
field to count new packets with CE marks in the IP-ECN field; however,
RFC 3168 ECN-aware TSO will clean the TCP CWR flag from the 2nd segment of
an aggregated segment. Therefore, fallback shall be applied by setting
NETIF_F_GSO_ACCECN to ensure that the CWR flag should not be changed within
the aggregated segment (e.g., super-skb in Linux).

To apply it in virtio-spec, new feature bits for host and guest are added
for feature negotiation between driver and device. And the translation of
the 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>
---
 device-types/net/description.tex | 54 +++++++++++++++++++++++++-------
 introduction.tex                 |  3 ++
 2 files changed, 46 insertions(+), 11 deletions(-)

diff --git a/device-types/net/description.tex b/device-types/net/description.tex
index bba50ff..aa3c27c 100644
--- a/device-types/net/description.tex
+++ b/device-types/net/description.tex
@@ -150,6 +150,15 @@ \subsection{Feature bits}\label{sec:Device Types / Network Device / Feature bits
  when VIRTIO_NET_F_IPSEC is negotiated. When a device offers IPsec feature, it SHOULD
  also offer the VIRTIO_NET_F_OUT_NET_HEADER feature.
 
+\item[VIRTIO_NET_F_HOST_ACCECN (71)] Device can receive TSO and follow
+  the requirements of the ACE field described in
+  ``Section 3.3.4 . Requirements for TCP Segmentation Offload and Large Receive Offload''
+  of \hyperref[intro:accecn]{[AccECN]}.
+
+\item[VIRTIO_NET_F_GUEST_ACCECN (72)] Driver can receive TSO and follow
+  the requirements of the ACE field described in
+  ``Section 3.3.4 . Requirements for TCP Segmentation Offload and Large Receive Offload''
+  of \hyperref[intro:accecn]{[AccECN]}.
 \end{description}
 
 \subsubsection{Feature bit requirements}\label{sec:Device Types / Network Device / Feature bits / Feature bit requirements}
@@ -161,6 +170,7 @@ \subsubsection{Feature bit requirements}\label{sec:Device Types / Network Device
 \item[VIRTIO_NET_F_GUEST_TSO4] Requires VIRTIO_NET_F_GUEST_CSUM.
 \item[VIRTIO_NET_F_GUEST_TSO6] Requires VIRTIO_NET_F_GUEST_CSUM.
 \item[VIRTIO_NET_F_GUEST_ECN] Requires VIRTIO_NET_F_GUEST_TSO4 or VIRTIO_NET_F_GUEST_TSO6.
+\item[VIRTIO_NET_F_GUEST_ACCECN] Requires VIRTIO_NET_F_GUEST_TSO4 or VIRTIO_NET_F_GUEST_TSO6.
 \item[VIRTIO_NET_F_GUEST_UFO] Requires VIRTIO_NET_F_GUEST_CSUM.
 \item[VIRTIO_NET_F_GUEST_USO4] Requires VIRTIO_NET_F_GUEST_CSUM.
 \item[VIRTIO_NET_F_GUEST_USO6] Requires VIRTIO_NET_F_GUEST_CSUM.
@@ -171,6 +181,7 @@ \subsubsection{Feature bit requirements}\label{sec:Device Types / Network Device
 \item[VIRTIO_NET_F_HOST_TSO4] Requires VIRTIO_NET_F_CSUM.
 \item[VIRTIO_NET_F_HOST_TSO6] Requires VIRTIO_NET_F_CSUM.
 \item[VIRTIO_NET_F_HOST_ECN] Requires VIRTIO_NET_F_HOST_TSO4 or VIRTIO_NET_F_HOST_TSO6.
+\item[VIRTIO_NET_F_HOST_ACCECN] Requires VIRTIO_NET_F_HOST_TSO4 or VIRTIO_NET_F_HOST_TSO6.
 \item[VIRTIO_NET_F_HOST_UFO] Requires VIRTIO_NET_F_CSUM.
 \item[VIRTIO_NET_F_HOST_USO] Requires VIRTIO_NET_F_CSUM.
 \item[VIRTIO_NET_F_HOST_UDP_TUNNEL_GSO] Requires VIRTIO_NET_F_HOST_TSO4, VIRTIO_NET_F_HOST_TSO6
@@ -294,11 +305,11 @@ \subsection{Device configuration layout}\label{sec:Device Types / Network Device
 The device MUST NOT modify \field{mtu} once it has been set.
 
 The device MUST NOT pass received packets that exceed \field{mtu} (plus low
-level ethernet header length) size with \field{gso_type} NONE or ECN
+level ethernet header length) size with \field{gso_type} NONE, ECN or ACCECN
 after VIRTIO_NET_F_MTU has been successfully negotiated.
 
 The device MUST forward transmitted packets of up to \field{mtu} (plus low
-level ethernet header length) size with \field{gso_type} NONE or ECN, and do
+level ethernet header length) size with \field{gso_type} NONE, ECN or ACCECN, and do
 so without fragmentation, after VIRTIO_NET_F_MTU has been successfully
 negotiated.
 
@@ -348,11 +359,11 @@ \subsection{Device configuration layout}\label{sec:Device Types / Network Device
 
 If the driver negotiates VIRTIO_NET_F_MTU, it MUST supply enough receive
 buffers to receive at least one receive packet of size \field{mtu} (plus low
-level ethernet header length) with \field{gso_type} NONE or ECN.
+level ethernet header length) with \field{gso_type} NONE, ECN or ACCECN.
 
 If the driver negotiates VIRTIO_NET_F_MTU, it MUST NOT transmit packets of
 size exceeding the value of \field{mtu} (plus low level ethernet header length)
-with \field{gso_type} NONE or ECN.
+with \field{gso_type} NONE, ECN or ACCECN.
 
 A driver SHOULD negotiate the VIRTIO_NET_F_STANDBY feature if the device offers it.
 
@@ -443,7 +454,7 @@ \subsection{Device Initialization}\label{sec:Device Types / Network Device / Dev
    The VIRTIO_NET_F_GUEST_CSUM feature indicates that partially
   checksummed packets can be received, and if it can do that then
   the VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6,
-  VIRTIO_NET_F_GUEST_UFO, VIRTIO_NET_F_GUEST_ECN, VIRTIO_NET_F_GUEST_USO4,
+  VIRTIO_NET_F_GUEST_UFO, VIRTIO_NET_F_GUEST_ECN, VIRTIO_NET_F_GUEST_ACCECN, VIRTIO_NET_F_GUEST_USO4,
   VIRTIO_NET_F_GUEST_USO6 VIRTIO_NET_F_GUEST_UDP_TUNNEL_GSO and
   VIRTIO_NET_F_GUEST_UDP_TUNNEL_GSO_CSUM are the input equivalents of
   the features described above.
@@ -613,6 +624,7 @@ \subsection{Device Operation}\label{sec:Device Types / Network Device / Device O
 #define VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV4 0x20
 #define VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV6 0x40
 #define VIRTIO_NET_HDR_GSO_ECN      0x80
+#define VIRTIO_NET_HDR_GSO_ACCECN   0x10
         u8 gso_type;
         le16 hdr_len;
         le16 gso_size;
@@ -737,6 +749,13 @@ \subsubsection{Packet Transmission}\label{sec:Device Types / Network Device / De
     has the CWR flag set and follows the requirements of the CWR flag described in
     ``Section 6.1.2. The TCP Sender'' of \hyperref[intro:rfc3168]{[RFC3168]}.
     \footnote{This case is not handled by some older hardware, so is called out specifically in the protocol.}.
+
+  \item If the driver negotiated the VIRTIO_NET_F_HOST_ACCECN feature,
+    the VIRTIO_NET_HDR_GSO_ACCECN bit in \field{gso_type} indicates that the TCP packet
+    follows the requirements of the ACE field described in
+    ``Section 3.3.4 . Requirements for TCP Segmentation Offload and Large Receive Offload''
+    of \hyperref[intro:accecn]{[AccECN]}.
+    \footnote{This case is not handled by some older hardware, so is called out specifically in the protocol.}.
    \end{itemize}
 
 \item If the driver negotiated the VIRTIO_NET_F_HOST_UDP_TUNNEL_GSO feature and the
@@ -837,6 +856,12 @@ \subsubsection{Packet Transmission}\label{sec:Device Types / Network Device / De
 of \hyperref[intro:rfc3168]{[RFC3168]}, unless the VIRTIO_NET_F_HOST_ECN feature is
 negotiated, in which case the driver MUST set the VIRTIO_NET_HDR_GSO_ECN bit in \field{gso_type}.
 
+The driver SHOULD NOT send to the device TCP packets requiring segmentation offload
+which need to follow the ACE field requirements described in
+``Section 3.3.4 . Requirements for TCP Segmentation Offload and Large Receive Offload''
+of \hyperref[intro:accecn]{[AccECN]}, unless the VIRTIO_NET_F_HOST_ACCECN feature is
+negotiated, in which case the driver MUST set the VIRTIO_NET_HDR_GSO_ACCECN bit in \field{gso_type}.
+
 If VIRTIO_NET_F_HOST_UDP_TUNNEL_GSO is negotiated, the driver MAY set
 VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV4 bit or the VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV6 bit
 in \field{gso_type} according to the inner network header protocol type
@@ -1171,12 +1196,12 @@ \subsubsection{Processing of Incoming Packets}\label{sec:Device Types / Network
   value to indicate the outer network header offset in packet.
 \end{enumerate}
 
-Additionally, VIRTIO_NET_F_GUEST_CSUM, TSO4, TSO6, UDP, UDP_TUNNEL
-and ECN features enable receive checksum, large receive offload and RFC3168
-ECN support which are the input equivalents of the transmit checksum,
-transmit segmentation offloading and RFC3168 ECN features, as described
-in \ref{sec:Device Types / Network Device / Device Operation /
-Packet Transmission}:
+Additionally, VIRTIO_NET_F_GUEST_CSUM, TSO4, TSO6, UDP, UDP_TUNNEL, ECN and
+ACCECN features enable receive checksum, large receive offload, RFC3168 ECN
+and Accurate ECN support which are the input equivalents of the transmit
+checksum, transmit segmentation offloading, RFC3168 ECN and Accurate ECN
+features, as described in \ref{sec:Device Types / Network Device /
+Device Operation / Packet Transmission}:
 \begin{enumerate}
 \item If the VIRTIO_NET_F_GUEST_TSO4, TSO6, UFO, USO4 or USO6 options were
   negotiated, then \field{gso_type} MAY be something other than
@@ -1286,6 +1311,12 @@ \subsubsection{Processing of Incoming Packets}\label{sec:Device Types / Network
 if packet contains a valid network header. Otherwise, the device MUST not
 use \field{outer_nh_offset}.
 
+The device SHOULD NOT send to the driver TCP packets requiring segmentation offload
+which need to follow the ACE field requirements described in
+``Section 3.3.4 . Requirements for TCP Segmentation Offload and Large Receive Offload''
+of \hyperref[intro:accecn]{[AccECN]}, unless the VIRTIO_NET_F_GUEST_ACCECN feature is
+negotiated, in which case the device MUST set the VIRTIO_NET_HDR_GSO_ACCECN bit in \field{gso_type}.
+
 If the VIRTIO_NET_F_GUEST_CSUM feature has been negotiated, the
 device MAY set the VIRTIO_NET_HDR_F_NEEDS_CSUM bit in
 \field{flags}, if so:
@@ -2286,6 +2317,7 @@ \subsubsection{Control Virtqueue}\label{sec:Device Types / Network Device / Devi
 #define VIRTIO_NET_F_GUEST_UDP_TUNNEL_GSO_CSUM 47
 #define VIRTIO_NET_F_GUEST_USO4       54
 #define VIRTIO_NET_F_GUEST_USO6       55
+#define VIRTIO_NET_F_GUEST_ACCECN     70
 
 #define VIRTIO_NET_CTRL_GUEST_OFFLOADS       5
  #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET   0
diff --git a/introduction.tex b/introduction.tex
index 1c4cb33..6afe635 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -183,6 +183,9 @@ \section{Normative References}\label{sec:Normative References}
 	\phantomsection\label{intro:rfc3168}\textbf{[RFC3168]} &
     S. Floyd., ``The Addition of Explicit Congestion Notification (ECN) to IP'', September 2001.
 	\newline\url{http://www.ietf.org/rfc/rfc3168.txt}\\
+        \phantomsection\label{intro:accecn}\textbf{[AccECN]} &
+    B. Briscoe., ``More Accurate Explicit Congestion Notification (AccECN) Feedback in TCP'', February 2025.
+        \newline\url{https://www.ietf.org/archive/id/draft-ietf-tcpm-accurate-ecn-33.txt}\\
 \end{longtable}
 
 \section{Non-Normative References}
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* RE: [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature
  2025-06-23  8:18 [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature chia-yu.chang
  2025-06-23  8:18 ` [PATCH v9 RESEND 1/2] virtio-net: Fix ECN feature descriptions chia-yu.chang
  2025-06-23  8:18 ` [PATCH v9 RESEND 2/2] virtio-net: Define Accurate ECN feature in virtio-spec chia-yu.chang
@ 2025-07-02  4:40 ` Chia-Yu Chang (Nokia)
  2025-07-06  7:33   ` Michael S. Tsirkin
  2025-07-06 12:23   ` Parav Pandit
  2 siblings, 2 replies; 8+ messages in thread
From: Chia-Yu Chang (Nokia) @ 2025-07-02  4:40 UTC (permalink / raw)
  To: Chia-Yu Chang (Nokia), virtio-comment@lists.linux.dev,
	mst@redhat.com, cohuck@redhat.com, mvaralar@redhat.com,
	jasowang@redhat.com, xuanzhuo@linux.alibaba.com,
	eperezma@redhat.com, ij@kernel.org, ncardwell@google.com,
	Koen De Schepper (Nokia), g.white@cablelabs.com,
	vidhi_goel@apple.com, ingemar.s.johansson@ericsson.com,
	mirja.kuehlewind@ericsson.com

Hello,

	Just want to reach out and check is there any comment on our submitted ECN and AccECN patches?
	Thanks.

Best regards,
Chia-Yu

-----Original Message-----
From: chia-yu.chang@nokia-bell-labs.com <chia-yu.chang@nokia-bell-labs.com> 
Sent: Monday, June 23, 2025 10:19 AM
To: virtio-comment@lists.linux.dev; mst@redhat.com; cohuck@redhat.com; mvaralar@redhat.com; jasowang@redhat.com; xuanzhuo@linux.alibaba.com; eperezma@redhat.com; ij@kernel.org; ncardwell@google.com; Koen De Schepper (Nokia) <koen.de_schepper@nokia-bell-labs.com>; g.white@cablelabs.com; vidhi_goel@apple.com; ingemar.s.johansson@ericsson.com; mirja.kuehlewind@ericsson.com
Cc: Chia-Yu Chang (Nokia) <chia-yu.chang@nokia-bell-labs.com>
Subject: [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature

From: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>

Hello,

Please find ECN and AccECN patch v9, which aligns ECN functionality with
RFC3168 ECN, and adds Accurate ECN feature. The Accurate ECN draft can be found in https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-28

Best Regards,
Chia-Yu

---
v9 (19-May-2025)
- Update descriptions for VIRTIO_NET_F_GUEST_ECN, VIRTIO_NET_F_HOST_ECN, VIRTIO_NET_F_GUEST_ACCECN, VIRTIO_NET_F_HOST_ACCECN (Michael S. Tsirkin <mst@redhat.com>)
- Add reference sections of RFC3168 ECN and AccECN (Michael S. Tsirkin <mst@redhat.com>)

v8 (17-Apr-2025)
- Further typo fixing

v7 (15-Apr-2025)
- Fix typos in AccECN patch (Michael S. Tsirkin <mst@redhat.com>)

v6 (14-Apr-2025)
- Shrink descriptions and make more reference to RFC3168 ECN and AccECN

v5 (06-Mar-2025)
- Update feature bits of VIRTIO_NET_F_HOST_ACCECN(69) and VIRTIO_NET_F_GUEST_ACCECN(70)

v4 (05-Mar-2025)
- Update commit message of AccECN patch
- Add reference to RFC3168 ECN and Accurate ECN
- Simplify feature bit descriptinos to avoid duplication of text

v3 (21-Feb-2025)
- Separate the original patch into 2 different patches
- Fix several reabase issues in v2

v2 (17-Feb-2025)
- Rebase the patch on top of v1.4 virtio-spec

---
Chia-Yu Chang (2):
  virtio-net: Fix ECN feature descriptions
  virtio-net: Define Accurate ECN feature in virtio-spec

 device-types/net/description.tex | 83 +++++++++++++++++++++++---------
 introduction.tex                 |  6 +++
 2 files changed, 65 insertions(+), 24 deletions(-)

--
2.34.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature
  2025-07-02  4:40 ` [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature Chia-Yu Chang (Nokia)
@ 2025-07-06  7:33   ` Michael S. Tsirkin
  2025-07-06 12:23   ` Parav Pandit
  1 sibling, 0 replies; 8+ messages in thread
From: Michael S. Tsirkin @ 2025-07-06  7:33 UTC (permalink / raw)
  To: Chia-Yu Chang (Nokia)
  Cc: virtio-comment@lists.linux.dev, cohuck@redhat.com,
	mvaralar@redhat.com, jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, ij@kernel.org,
	ncardwell@google.com, Koen De Schepper (Nokia),
	g.white@cablelabs.com, vidhi_goel@apple.com,
	ingemar.s.johansson@ericsson.com, mirja.kuehlewind@ericsson.com

On Wed, Jul 02, 2025 at 04:40:09AM +0000, Chia-Yu Chang (Nokia) wrote:
> Hello,
> 
> 	Just want to reach out and check is there any comment on our submitted ECN and AccECN patches?
> 	Thanks.
> 
> Best regards,
> Chia-Yu


The patches look good to me. You can request a vote if you feel they are
ready.

> -----Original Message-----
> From: chia-yu.chang@nokia-bell-labs.com <chia-yu.chang@nokia-bell-labs.com> 
> Sent: Monday, June 23, 2025 10:19 AM
> To: virtio-comment@lists.linux.dev; mst@redhat.com; cohuck@redhat.com; mvaralar@redhat.com; jasowang@redhat.com; xuanzhuo@linux.alibaba.com; eperezma@redhat.com; ij@kernel.org; ncardwell@google.com; Koen De Schepper (Nokia) <koen.de_schepper@nokia-bell-labs.com>; g.white@cablelabs.com; vidhi_goel@apple.com; ingemar.s.johansson@ericsson.com; mirja.kuehlewind@ericsson.com
> Cc: Chia-Yu Chang (Nokia) <chia-yu.chang@nokia-bell-labs.com>
> Subject: [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature
> 
> From: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>
> 
> Hello,
> 
> Please find ECN and AccECN patch v9, which aligns ECN functionality with
> RFC3168 ECN, and adds Accurate ECN feature. The Accurate ECN draft can be found in https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-28
> 
> Best Regards,
> Chia-Yu
> 
> ---
> v9 (19-May-2025)
> - Update descriptions for VIRTIO_NET_F_GUEST_ECN, VIRTIO_NET_F_HOST_ECN, VIRTIO_NET_F_GUEST_ACCECN, VIRTIO_NET_F_HOST_ACCECN (Michael S. Tsirkin <mst@redhat.com>)
> - Add reference sections of RFC3168 ECN and AccECN (Michael S. Tsirkin <mst@redhat.com>)
> 
> v8 (17-Apr-2025)
> - Further typo fixing
> 
> v7 (15-Apr-2025)
> - Fix typos in AccECN patch (Michael S. Tsirkin <mst@redhat.com>)
> 
> v6 (14-Apr-2025)
> - Shrink descriptions and make more reference to RFC3168 ECN and AccECN
> 
> v5 (06-Mar-2025)
> - Update feature bits of VIRTIO_NET_F_HOST_ACCECN(69) and VIRTIO_NET_F_GUEST_ACCECN(70)
> 
> v4 (05-Mar-2025)
> - Update commit message of AccECN patch
> - Add reference to RFC3168 ECN and Accurate ECN
> - Simplify feature bit descriptinos to avoid duplication of text
> 
> v3 (21-Feb-2025)
> - Separate the original patch into 2 different patches
> - Fix several reabase issues in v2
> 
> v2 (17-Feb-2025)
> - Rebase the patch on top of v1.4 virtio-spec
> 
> ---
> Chia-Yu Chang (2):
>   virtio-net: Fix ECN feature descriptions
>   virtio-net: Define Accurate ECN feature in virtio-spec
> 
>  device-types/net/description.tex | 83 +++++++++++++++++++++++---------
>  introduction.tex                 |  6 +++
>  2 files changed, 65 insertions(+), 24 deletions(-)
> 
> --
> 2.34.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature
  2025-07-02  4:40 ` [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature Chia-Yu Chang (Nokia)
  2025-07-06  7:33   ` Michael S. Tsirkin
@ 2025-07-06 12:23   ` Parav Pandit
  2025-07-06 12:39     ` Michael S. Tsirkin
  1 sibling, 1 reply; 8+ messages in thread
From: Parav Pandit @ 2025-07-06 12:23 UTC (permalink / raw)
  To: Chia-Yu Chang (Nokia), virtio-comment@lists.linux.dev,
	mst@redhat.com, cohuck@redhat.com, mvaralar@redhat.com,
	jasowang@redhat.com, xuanzhuo@linux.alibaba.com,
	eperezma@redhat.com, ij@kernel.org, ncardwell@google.com,
	Koen De Schepper (Nokia), g.white@cablelabs.com,
	vidhi_goel@apple.com, ingemar.s.johansson@ericsson.com,
	mirja.kuehlewind@ericsson.com

Hi Chia-Yu,

> From: Chia-Yu Chang (Nokia) <chia-yu.chang@nokia-bell-labs.com>
> Sent: 02 July 2025 10:10 AM
> 
> Hello,
> 
> 	Just want to reach out and check is there any comment on our
> submitted ECN and AccECN patches?
> 	Thanks.
>
The IETF document referred in in draft stage that expires on 10 May 2024 at [1].
Is there a newer draft which hasn't expired yet, or link to a proposed standard or Internet standard link?

[1] https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-28

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature
  2025-07-06 12:23   ` Parav Pandit
@ 2025-07-06 12:39     ` Michael S. Tsirkin
  2025-07-07  5:34       ` Parav Pandit
  0 siblings, 1 reply; 8+ messages in thread
From: Michael S. Tsirkin @ 2025-07-06 12:39 UTC (permalink / raw)
  To: Parav Pandit
  Cc: Chia-Yu Chang (Nokia), virtio-comment@lists.linux.dev,
	cohuck@redhat.com, mvaralar@redhat.com, jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, ij@kernel.org,
	ncardwell@google.com, Koen De Schepper (Nokia),
	g.white@cablelabs.com, vidhi_goel@apple.com,
	ingemar.s.johansson@ericsson.com, mirja.kuehlewind@ericsson.com

On Sun, Jul 06, 2025 at 12:23:36PM +0000, Parav Pandit wrote:
> Hi Chia-Yu,
> 
> > From: Chia-Yu Chang (Nokia) <chia-yu.chang@nokia-bell-labs.com>
> > Sent: 02 July 2025 10:10 AM
> > 
> > Hello,
> > 
> > 	Just want to reach out and check is there any comment on our
> > submitted ECN and AccECN patches?
> > 	Thanks.
> >
> The IETF document referred in in draft stage that expires on 10 May 2024 at [1].
> Is there a newer draft which hasn't expired yet, or link to a proposed standard or Internet standard link?
> 
> [1] https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-28


This seems to point at the latest one:
https://datatracker.ietf.org/doc/draft-ietf-tcpm-accurate-ecn/


^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature
  2025-07-06 12:39     ` Michael S. Tsirkin
@ 2025-07-07  5:34       ` Parav Pandit
  0 siblings, 0 replies; 8+ messages in thread
From: Parav Pandit @ 2025-07-07  5:34 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Chia-Yu Chang (Nokia), virtio-comment@lists.linux.dev,
	cohuck@redhat.com, mvaralar@redhat.com, jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, ij@kernel.org,
	ncardwell@google.com, Koen De Schepper (Nokia),
	g.white@cablelabs.com, vidhi_goel@apple.com,
	ingemar.s.johansson@ericsson.com, mirja.kuehlewind@ericsson.com


> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: 06 July 2025 06:09 PM
> 
> On Sun, Jul 06, 2025 at 12:23:36PM +0000, Parav Pandit wrote:
> > Hi Chia-Yu,
> >
> > > From: Chia-Yu Chang (Nokia) <chia-yu.chang@nokia-bell-labs.com>
> > > Sent: 02 July 2025 10:10 AM
> > >
> > > Hello,
> > >
> > > 	Just want to reach out and check is there any comment on our
> > > submitted ECN and AccECN patches?
> > > 	Thanks.
> > >
> > The IETF document referred in in draft stage that expires on 10 May 2024 at
> [1].
> > Is there a newer draft which hasn't expired yet, or link to a proposed
> standard or Internet standard link?
> >
> > [1]
> > https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-28
> 
> 
> This seems to point at the latest one:
> https://datatracker.ietf.org/doc/draft-ietf-tcpm-accurate-ecn/

Ah ok. Yes. This v9 and respective kernel changes in v12 that I was reviewing were still pointing to the expired link.
However, the URL in introduction.tex is upto date.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-07-07  5:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-23  8:18 [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature chia-yu.chang
2025-06-23  8:18 ` [PATCH v9 RESEND 1/2] virtio-net: Fix ECN feature descriptions chia-yu.chang
2025-06-23  8:18 ` [PATCH v9 RESEND 2/2] virtio-net: Define Accurate ECN feature in virtio-spec chia-yu.chang
2025-07-02  4:40 ` [PATCH v9 RESEND 0/2] Update ECN and Add Accurate ECN feature Chia-Yu Chang (Nokia)
2025-07-06  7:33   ` Michael S. Tsirkin
2025-07-06 12:23   ` Parav Pandit
2025-07-06 12:39     ` Michael S. Tsirkin
2025-07-07  5:34       ` Parav Pandit

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.