]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-44077: Expose IP_RECVTOS in the socket module (GH-25992)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 20 Jun 2021 20:36:21 +0000 (13:36 -0700)
committerGitHub <noreply@github.com>
Sun, 20 Jun 2021 20:36:21 +0000 (13:36 -0700)
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
(cherry picked from commit a317778fd58b1c6b250feffbdb4ecf15e293ef48)

Co-authored-by: Georg Sauthoff <mail@georg.so>
Doc/library/socket.rst
Doc/whatsnew/3.10.rst
Misc/NEWS.d/next/Library/2021-05-13-19-44-38.bpo-44077.04b2a4.rst [new file with mode: 0644]
Modules/socketmodule.c

index 8a1fc96e0362e26ce1298423a85dc8cbfdf8d9c0..914fdd7296dbb4999a22a3908776002df818b36e 100755 (executable)
@@ -379,6 +379,9 @@ Constants
       On Windows, ``TCP_KEEPIDLE``, ``TCP_KEEPINTVL`` appear if run-time Windows
       supports.
 
+   .. versionchanged:: 3.10
+      ``IP_RECVTOS`` was added.
+
 .. data:: AF_CAN
           PF_CAN
           SOL_CAN_*
index 605cb6430e447ae9cfd691817343f9bdcea91264..249f0e98e06ac0b1a859ce8157fb5b4afbed3786 100644 (file)
@@ -1219,6 +1219,9 @@ The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`.
 Add option to create MPTCP sockets with ``IPPROTO_MPTCP``
 (Contributed by Rui Cunha in :issue:`43571`.)
 
+Add ``IP_RECVTOS`` option to receive the type of service (ToS) or DSCP/ECN fields
+(Contributed by Georg Sauthoff in :issue:`44077`.)
+
 ssl
 ---
 
diff --git a/Misc/NEWS.d/next/Library/2021-05-13-19-44-38.bpo-44077.04b2a4.rst b/Misc/NEWS.d/next/Library/2021-05-13-19-44-38.bpo-44077.04b2a4.rst
new file mode 100644 (file)
index 0000000..7bb4379
--- /dev/null
@@ -0,0 +1,3 @@
+It's now possible to receive the type of service (ToS), a.k.a. differentiated
+services (DS), a.k.a. differenciated services code point (DSCP) and excplicit
+congestion notification (ECN) IP header fields with ``socket.IP_RECVTOS``.
index 79559c04d5104da9a1a94da0b6b6c2afe47b9134..142cc7c8a7484ec42503cba344afcdf52d314b69 100644 (file)
@@ -8024,6 +8024,9 @@ PyInit__socket(void)
 #ifdef  IP_RECVRETOPTS
     PyModule_AddIntMacro(m, IP_RECVRETOPTS);
 #endif
+#ifdef  IP_RECVTOS
+    PyModule_AddIntMacro(m, IP_RECVTOS);
+#endif
 #ifdef  IP_RECVDSTADDR
     PyModule_AddIntMacro(m, IP_RECVDSTADDR);
 #endif