* [PATCH 1/2] tcp: Remove unnecessary dst check in tcp_conn_request.
@ 2017-08-16 13:31 Tonghao Zhang
2017-08-16 13:31 ` [PATCH 2/2] tcp: Remove the unused parameter for tcp_try_fastopen Tonghao Zhang
2017-08-16 14:44 ` [PATCH 1/2] tcp: Remove unnecessary dst check in tcp_conn_request Eric Dumazet
0 siblings, 2 replies; 4+ messages in thread
From: Tonghao Zhang @ 2017-08-16 13:31 UTC (permalink / raw)
To: netdev; +Cc: Tonghao Zhang
Because we remove the tcp_tw_recycle support in the commit
4396e46187c ('tcp: remove tcp_tw_recycle') and also delete
the code 'af_ops->route_req' for sysctl_tw_recycle in tcp_conn_request.
Now when we call the 'af_ops->route_req', the dist always is
NULL, and we remove the unnecessay check.
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
---
net/ipv4/tcp_input.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index d73903fe8c83..7eee2c7ddb7a 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -6132,11 +6132,10 @@ int tcp_conn_request(struct request_sock_ops *rsk_ops,
isn = af_ops->init_seq(skb);
}
- if (!dst) {
- dst = af_ops->route_req(sk, &fl, req);
- if (!dst)
- goto drop_and_free;
- }
+
+ dst = af_ops->route_req(sk, &fl, req);
+ if (!dst)
+ goto drop_and_free;
tcp_ecn_create_request(req, skb, sk, dst);
--
2.13.4
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 2/2] tcp: Remove the unused parameter for tcp_try_fastopen. 2017-08-16 13:31 [PATCH 1/2] tcp: Remove unnecessary dst check in tcp_conn_request Tonghao Zhang @ 2017-08-16 13:31 ` Tonghao Zhang 2017-08-16 14:44 ` [PATCH 1/2] tcp: Remove unnecessary dst check in tcp_conn_request Eric Dumazet 1 sibling, 0 replies; 4+ messages in thread From: Tonghao Zhang @ 2017-08-16 13:31 UTC (permalink / raw) To: netdev; +Cc: Tonghao Zhang Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com> --- include/net/tcp.h | 3 +-- net/ipv4/tcp_fastopen.c | 6 ++---- net/ipv4/tcp_input.c | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/include/net/tcp.h b/include/net/tcp.h index afdab3781425..a995004ae946 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -1533,8 +1533,7 @@ int tcp_fastopen_reset_cipher(void *key, unsigned int len); void tcp_fastopen_add_skb(struct sock *sk, struct sk_buff *skb); struct sock *tcp_try_fastopen(struct sock *sk, struct sk_buff *skb, struct request_sock *req, - struct tcp_fastopen_cookie *foc, - struct dst_entry *dst); + struct tcp_fastopen_cookie *foc); void tcp_fastopen_init_key_once(bool publish); bool tcp_fastopen_cookie_check(struct sock *sk, u16 *mss, struct tcp_fastopen_cookie *cookie); diff --git a/net/ipv4/tcp_fastopen.c b/net/ipv4/tcp_fastopen.c index ce9c7fef200f..e3c33220c418 100644 --- a/net/ipv4/tcp_fastopen.c +++ b/net/ipv4/tcp_fastopen.c @@ -171,7 +171,6 @@ void tcp_fastopen_add_skb(struct sock *sk, struct sk_buff *skb) static struct sock *tcp_fastopen_create_child(struct sock *sk, struct sk_buff *skb, - struct dst_entry *dst, struct request_sock *req) { struct tcp_sock *tp; @@ -278,8 +277,7 @@ static bool tcp_fastopen_queue_check(struct sock *sk) */ struct sock *tcp_try_fastopen(struct sock *sk, struct sk_buff *skb, struct request_sock *req, - struct tcp_fastopen_cookie *foc, - struct dst_entry *dst) + struct tcp_fastopen_cookie *foc) { struct tcp_fastopen_cookie valid_foc = { .len = -1 }; bool syn_data = TCP_SKB_CB(skb)->end_seq != TCP_SKB_CB(skb)->seq + 1; @@ -312,7 +310,7 @@ struct sock *tcp_try_fastopen(struct sock *sk, struct sk_buff *skb, * data in SYN_RECV state. */ fastopen: - child = tcp_fastopen_create_child(sk, skb, dst, req); + child = tcp_fastopen_create_child(sk, skb, req); if (child) { foc->len = -1; NET_INC_STATS(sock_net(sk), diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 7eee2c7ddb7a..21df0868f206 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -6151,7 +6151,7 @@ int tcp_conn_request(struct request_sock_ops *rsk_ops, tcp_openreq_init_rwin(req, sk, dst); if (!want_cookie) { tcp_reqsk_record_syn(sk, req, skb); - fastopen_sk = tcp_try_fastopen(sk, skb, req, &foc, dst); + fastopen_sk = tcp_try_fastopen(sk, skb, req, &foc); } if (fastopen_sk) { af_ops->send_synack(fastopen_sk, dst, &fl, req, -- 2.13.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] tcp: Remove unnecessary dst check in tcp_conn_request. 2017-08-16 13:31 [PATCH 1/2] tcp: Remove unnecessary dst check in tcp_conn_request Tonghao Zhang 2017-08-16 13:31 ` [PATCH 2/2] tcp: Remove the unused parameter for tcp_try_fastopen Tonghao Zhang @ 2017-08-16 14:44 ` Eric Dumazet 2017-08-16 15:32 ` Tonghao Zhang 1 sibling, 1 reply; 4+ messages in thread From: Eric Dumazet @ 2017-08-16 14:44 UTC (permalink / raw) To: Tonghao Zhang; +Cc: netdev On Wed, 2017-08-16 at 06:31 -0700, Tonghao Zhang wrote: > Because we remove the tcp_tw_recycle support in the commit > 4396e46187c ('tcp: remove tcp_tw_recycle') and also delete > the code 'af_ops->route_req' for sysctl_tw_recycle in tcp_conn_request. > Now when we call the 'af_ops->route_req', the dist always is > NULL, and we remove the unnecessay check. Thanks for these patches. You forgot : 1) a cover letter ( [PATCH next-next 0/2] tcp: .... 2) clearly state which tree you are targeting ( read Documentation/networking/netdev-FAQ.txt ) 3) Also, I would also have removed tcp_peer_is_proven() since it is also called with dst=NULL ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] tcp: Remove unnecessary dst check in tcp_conn_request. 2017-08-16 14:44 ` [PATCH 1/2] tcp: Remove unnecessary dst check in tcp_conn_request Eric Dumazet @ 2017-08-16 15:32 ` Tonghao Zhang 0 siblings, 0 replies; 4+ messages in thread From: Tonghao Zhang @ 2017-08-16 15:32 UTC (permalink / raw) To: Eric Dumazet; +Cc: Linux Kernel Network Developers On Wed, Aug 16, 2017 at 10:44 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > On Wed, 2017-08-16 at 06:31 -0700, Tonghao Zhang wrote: >> Because we remove the tcp_tw_recycle support in the commit > > >> 4396e46187c ('tcp: remove tcp_tw_recycle') and also delete >> the code 'af_ops->route_req' for sysctl_tw_recycle in tcp_conn_request. >> Now when we call the 'af_ops->route_req', the dist always is >> NULL, and we remove the unnecessay check. > > Thanks for these patches. > > You forgot : > > 1) a cover letter ( [PATCH next-next 0/2] tcp: .... > > 2) clearly state which tree you are targeting > ( read Documentation/networking/netdev-FAQ.txt ) Thanks, I do this in v2 > 3) Also, I would also have removed tcp_peer_is_proven() > since it is also called with dst=NULL Thanks for your work. > > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-08-16 15:59 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-08-16 13:31 [PATCH 1/2] tcp: Remove unnecessary dst check in tcp_conn_request Tonghao Zhang 2017-08-16 13:31 ` [PATCH 2/2] tcp: Remove the unused parameter for tcp_try_fastopen Tonghao Zhang 2017-08-16 14:44 ` [PATCH 1/2] tcp: Remove unnecessary dst check in tcp_conn_request Eric Dumazet 2017-08-16 15:32 ` Tonghao Zhang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox