about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/gnu/netinet/tcp.h10
2 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a63712ba05..9ac1d4acf4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2017-09-07  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/gnu/netinet/tcp.h (TCP_ULP): New macro.
+	(TCP_MD5SIG_EXT): Likewise.
+	(TCP_MD5SIG_FLAG_PREFIX): Likewise.
+	(struct tcp_md5sig): Replace __tcpm_pad1 by tcpm_flags and
+	tcpm_prefixlen.  Rename __tcpm_pad2 to __tcpm_pad.
+
 	* sysdeps/unix/sysv/linux/bits/socket.h (SOL_TLS): New macro.
 
 2017-09-07  Mike FABIAN  <mfabian@redhat.com>
diff --git a/sysdeps/gnu/netinet/tcp.h b/sysdeps/gnu/netinet/tcp.h
index af94b8e82c..75973f0955 100644
--- a/sysdeps/gnu/netinet/tcp.h
+++ b/sysdeps/gnu/netinet/tcp.h
@@ -71,6 +71,8 @@
 				       connection.  */
 #define TCP_REPAIR_WINDOW	 29 /* Get/set window parameters.  */
 #define TCP_FASTOPEN_CONNECT	 30 /* Attempt FastOpen with connect.  */
+#define TCP_ULP			 31 /* Attach a ULP to a TCP connection.  */
+#define TCP_MD5SIG_EXT		 32 /* TCP MD5 Signature with extensions.  */
 
 #ifdef __USE_MISC
 # include <sys/types.h>
@@ -257,12 +259,16 @@ struct tcp_info
 /* For TCP_MD5SIG socket option.  */
 #define TCP_MD5SIG_MAXKEYLEN	80
 
+/* tcp_md5sig extension flags for TCP_MD5SIG_EXT.  */
+#define TCP_MD5SIG_FLAG_PREFIX	1 /* Address prefix length.  */
+
 struct tcp_md5sig
 {
   struct sockaddr_storage tcpm_addr;		/* Address associated.  */
-  uint16_t	__tcpm_pad1;			/* Zero.  */
+  uint8_t	tcpm_flags;			/* Extension flags.  */
+  uint8_t	tcpm_prefixlen;			/* Address prefix.  */
   uint16_t	tcpm_keylen;			/* Key length.  */
-  uint32_t	__tcpm_pad2;			/* Zero.  */
+  uint32_t	__tcpm_pad;			/* Zero.  */
   uint8_t	tcpm_key[TCP_MD5SIG_MAXKEYLEN];	/* Key (binary).  */
 };