Merge branch 'tcp_conn_request-cleanup'
Tonghao Zhang says: ==================== tcp: Simplify the tcp_conn_request. Just simplify the tcp_conn_request function. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
3d845ee122
|
@ -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);
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -6111,6 +6111,10 @@ int tcp_conn_request(struct request_sock_ops *rsk_ops,
|
|||
if (tmp_opt.tstamp_ok)
|
||||
tcp_rsk(req)->ts_off = af_ops->init_ts_off(net, skb);
|
||||
|
||||
dst = af_ops->route_req(sk, &fl, req);
|
||||
if (!dst)
|
||||
goto drop_and_free;
|
||||
|
||||
if (!want_cookie && !isn) {
|
||||
/* Kill the following clause, if you dislike this way. */
|
||||
if (!net->ipv4.sysctl_tcp_syncookies &&
|
||||
|
@ -6131,11 +6135,6 @@ 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;
|
||||
}
|
||||
|
||||
tcp_ecn_create_request(req, skb, sk, dst);
|
||||
|
||||
|
@ -6151,7 +6150,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,
|
||||
|
|
Loading…
Reference in New Issue