mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
tcp: Revert per-route SACK/DSACK/TIMESTAMP changes.
It creates a regression, triggering badness for SYN_RECV sockets, for example: [19148.022102] Badness at net/ipv4/inet_connection_sock.c:293 [19148.022570] NIP: c02a0914 LR: c02a0904 CTR: 00000000 [19148.023035] REGS: eeecbd30 TRAP: 0700 Not tainted (2.6.32) [19148.023496] MSR: 00029032 <EE,ME,CE,IR,DR> CR: 24002442 XER: 00000000 [19148.024012] TASK = eee9a820[1756] 'privoxy' THREAD: eeeca000 This is likely caused by the change in the 'estab' parameter passed to tcp_parse_options() when invoked by the functions in net/ipv4/tcp_minisocks.c But even if that is fixed, the ->conn_request() changes made in this patch series is fundamentally wrong. They try to use the listening socket's 'dst' to probe the route settings. The listening socket doesn't even have a route, and you can't get the right route (the child request one) until much later after we setup all of the state, and it must be done by hand. This stuff really isn't ready, so the best thing to do is a full revert. This reverts the following commits:f55017a93f
022c3f7d82
1aba721eba
cda42ebd67
345cda2fd6
dc343475ed
05eaade278
6a2a2d6bf8
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
166a0fd4c7
commit
bb5b7c1126
10 changed files with 58 additions and 84 deletions
|
@ -113,7 +113,7 @@ dst_metric(const struct dst_entry *dst, int metric)
|
|||
static inline u32
|
||||
dst_feature(const struct dst_entry *dst, u32 feature)
|
||||
{
|
||||
return (dst ? dst_metric(dst, RTAX_FEATURES) & feature : 0);
|
||||
return dst_metric(dst, RTAX_FEATURES) & feature;
|
||||
}
|
||||
|
||||
static inline u32 dst_mtu(const struct dst_entry *dst)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue