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