Magellan Linux

Contents of /trunk/glibc/patches/glibc-2.17-sync-netinet-tcp-with-linux37.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2031 - (show annotations) (download)
Tue Jan 22 09:39:47 2013 UTC (11 years, 3 months ago) by niro
File size: 6271 byte(s)
-added patches to sync with linux-3.7
1 From b5407047839c1f0df26196597c9ec6fbbde4cac1 Mon Sep 17 00:00:00 2001
2 From: David S. Miller <davem@davemloft.net>
3 Date: Wed, 9 Jan 2013 23:04:32 -0800
4 Subject: [PATCH] Sync netinet/tcp.h with upstream Linux kernel.
5
6 [BZ# 15003]
7 * sysdeps/gnu/netinet/tcp.h (TCP_COOKIE_TRANSACTIONS,
8 TCP_THIN_LINEAR_TIMEOUTS, TCP_THIN_DUPACK, TCP_USER_TIMEOUT,
9 TCP_REPAIR, TCP_REPAIR_QUEUE, TCP_QUEUE_SEQ, TCP_REPAIR_OPTIONS,
10 TCP_FASTOPEN): Define.
11 (tcp_repair_opt): New structure.
12 (TCP_NO_QUEUE, TCP_RECV_QUEUE, TCP_SEND_QUEUE, TCP_QUEUES_NR): New
13 enum values.
14 (TCP_COOKIE_MIN, TCP_COOKIE_MAX, TCP_COOKIE_PAIR_SIZE,
15 TCP_COOKIE_IN_ALWAYS, TCP_COOKIE_OUT_NEVER, TCP_S_DATA_IN,
16 TCP_S_DATA_OUT, TCP_MSS_DEFAULT, TCP_MSS_DESIRED): Define.
17 (tcp_cookie_transactions): New structure.
18 ---
19 ChangeLog | 15 ++++++++
20 NEWS | 2 +-
21 sysdeps/gnu/netinet/tcp.h | 80 +++++++++++++++++++++++++++++++++++++--------
22 3 files changed, 82 insertions(+), 15 deletions(-)
23
24 diff --git a/ChangeLog b/ChangeLog
25 index 53cdfa1..b3a214c 100644
26 --- a/ChangeLog
27 +++ b/ChangeLog
28 @@ -1,3 +1,18 @@
29 +2013-01-09 David S. Miller <davem@davemloft.net>
30 +
31 + [BZ# 15003]
32 + * sysdeps/gnu/netinet/tcp.h (TCP_COOKIE_TRANSACTIONS,
33 + TCP_THIN_LINEAR_TIMEOUTS, TCP_THIN_DUPACK, TCP_USER_TIMEOUT,
34 + TCP_REPAIR, TCP_REPAIR_QUEUE, TCP_QUEUE_SEQ, TCP_REPAIR_OPTIONS,
35 + TCP_FASTOPEN): Define.
36 + (tcp_repair_opt): New structure.
37 + (TCP_NO_QUEUE, TCP_RECV_QUEUE, TCP_SEND_QUEUE, TCP_QUEUES_NR): New
38 + enum values.
39 + (TCP_COOKIE_MIN, TCP_COOKIE_MAX, TCP_COOKIE_PAIR_SIZE,
40 + TCP_COOKIE_IN_ALWAYS, TCP_COOKIE_OUT_NEVER, TCP_S_DATA_IN,
41 + TCP_S_DATA_OUT, TCP_MSS_DEFAULT, TCP_MSS_DESIRED): Define.
42 + (tcp_cookie_transactions): New structure.
43 +
44 2013-01-09 Andreas Jaeger <aj@suse.de>
45
46 * sysdeps/gnu/netinet/tcp.h (TCPI_OPT_SYN_DATA)
47 diff --git a/NEWS b/NEWS
48 index 3a15555..619d0f2 100644
49 --- a/NEWS
50 +++ b/NEWS
51 @@ -23,7 +23,7 @@ Version 2.17
52 14767, 14783, 14784, 14785, 14793, 14796, 14797, 14801, 14803, 14805,
53 14807, 14811, 14815, 14821, 14822, 14824, 14828, 14831, 14833, 14835,
54 14838, 14856, 14863, 14865, 14866, 14868, 14869, 14871, 14872, 14879,
55 - 14889, 14893, 14898, 14914.
56 + 14889, 14893, 14898, 14914, 15003.
57
58 * Optimization of memcpy for MIPS.
59
60 diff --git a/sysdeps/gnu/netinet/tcp.h b/sysdeps/gnu/netinet/tcp.h
61 index 278fc9d..b62a696 100644
62 --- a/sysdeps/gnu/netinet/tcp.h
63 +++ b/sysdeps/gnu/netinet/tcp.h
64 @@ -37,20 +37,29 @@
65 /*
66 * User-settable options (used with setsockopt).
67 */
68 -#define TCP_NODELAY 1 /* Don't delay send to coalesce packets */
69 -#define TCP_MAXSEG 2 /* Set maximum segment size */
70 -#define TCP_CORK 3 /* Control sending of partial frames */
71 -#define TCP_KEEPIDLE 4 /* Start keeplives after this period */
72 -#define TCP_KEEPINTVL 5 /* Interval between keepalives */
73 -#define TCP_KEEPCNT 6 /* Number of keepalives before death */
74 -#define TCP_SYNCNT 7 /* Number of SYN retransmits */
75 -#define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */
76 -#define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */
77 -#define TCP_WINDOW_CLAMP 10 /* Bound advertised window */
78 -#define TCP_INFO 11 /* Information about this connection. */
79 -#define TCP_QUICKACK 12 /* Bock/reenable quick ACKs. */
80 -#define TCP_CONGESTION 13 /* Congestion control algorithm. */
81 -#define TCP_MD5SIG 14 /* TCP MD5 Signature (RFC2385) */
82 +#define TCP_NODELAY 1 /* Don't delay send to coalesce packets */
83 +#define TCP_MAXSEG 2 /* Set maximum segment size */
84 +#define TCP_CORK 3 /* Control sending of partial frames */
85 +#define TCP_KEEPIDLE 4 /* Start keeplives after this period */
86 +#define TCP_KEEPINTVL 5 /* Interval between keepalives */
87 +#define TCP_KEEPCNT 6 /* Number of keepalives before death */
88 +#define TCP_SYNCNT 7 /* Number of SYN retransmits */
89 +#define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */
90 +#define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */
91 +#define TCP_WINDOW_CLAMP 10 /* Bound advertised window */
92 +#define TCP_INFO 11 /* Information about this connection. */
93 +#define TCP_QUICKACK 12 /* Bock/reenable quick ACKs. */
94 +#define TCP_CONGESTION 13 /* Congestion control algorithm. */
95 +#define TCP_MD5SIG 14 /* TCP MD5 Signature (RFC2385) */
96 +#define TCP_COOKIE_TRANSACTIONS 15 /* TCP Cookie Transactions */
97 +#define TCP_THIN_LINEAR_TIMEOUTS 16 /* Use linear timeouts for thin streams*/
98 +#define TCP_THIN_DUPACK 17 /* Fast retrans. after 1 dupack */
99 +#define TCP_USER_TIMEOUT 18 /* How long for loss retry before timeout */
100 +#define TCP_REPAIR 19 /* TCP sock is under repair right now */
101 +#define TCP_REPAIR_QUEUE 20 /* Set TCP queue to repair */
102 +#define TCP_QUEUE_SEQ 21 /* Set sequence number of repaired queue. */
103 +#define TCP_REPAIR_OPTIONS 22 /* Repair TCP connection options */
104 +#define TCP_FASTOPEN 23 /* Enable FastOpen on listeners */
105
106 #ifdef __USE_MISC
107 # include <sys/types.h>
108 @@ -243,6 +252,49 @@ struct tcp_md5sig
109 u_int8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* Key (binary). */
110 };
111
112 +/* For socket repair options. */
113 +struct tcp_repair_opt
114 +{
115 + u_int32_t opt_code;
116 + u_int32_t opt_val;
117 +};
118 +
119 +/* Queue to repair, for TCP_REPAIR_QUEUE. */
120 +enum
121 +{
122 + TCP_NO_QUEUE,
123 + TCP_RECV_QUEUE,
124 + TCP_SEND_QUEUE,
125 + TCP_QUEUES_NR,
126 +};
127 +
128 +/* For cookie transactions socket options. */
129 +#define TCP_COOKIE_MIN 8 /* 64-bits */
130 +#define TCP_COOKIE_MAX 16 /* 128-bits */
131 +#define TCP_COOKIE_PAIR_SIZE (2*TCP_COOKIE_MAX)
132 +
133 +/* Flags for both getsockopt and setsockopt */
134 +#define TCP_COOKIE_IN_ALWAYS (1 << 0) /* Discard SYN without cookie */
135 +#define TCP_COOKIE_OUT_NEVER (1 << 1) /* Prohibit outgoing cookies,
136 + * supercedes everything. */
137 +
138 +/* Flags for getsockopt */
139 +#define TCP_S_DATA_IN (1 << 2) /* Was data received? */
140 +#define TCP_S_DATA_OUT (1 << 3) /* Was data sent? */
141 +
142 +#define TCP_MSS_DEFAULT 536U /* IPv4 (RFC1122, RFC2581) */
143 +#define TCP_MSS_DESIRED 1220U /* IPv6 (tunneled), EDNS0 (RFC3226) */
144 +
145 +struct tcp_cookie_transactions
146 +{
147 + u_int16_t tcpct_flags;
148 + u_int8_t __tcpct_pad1;
149 + u_int8_t tcpct_cookie_desired;
150 + u_int16_t tcpct_s_data_desired;
151 + u_int16_t tcpct_used;
152 + u_int8_t tcpct_value[TCP_MSS_DEFAULT];
153 +};
154 +
155 #endif /* Misc. */
156
157 #endif /* netinet/tcp.h */
158 --
159 1.7.3.4
160