Contents of /trunk/glibc/patches/glibc-2.17-sync-netinet-tcp-with-linux37.patch
Parent Directory | Revision Log
Revision 2031 -
(show annotations)
(download)
Tue Jan 22 09:39:47 2013 UTC (11 years, 8 months ago) by niro
File size: 6271 byte(s)
Tue Jan 22 09:39:47 2013 UTC (11 years, 8 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 |