Messages in this thread | | | Subject | Re: [PATCH v7 bpf-next 06/11] tcp: Migrate TCP_NEW_SYN_RECV requests at retransmitting SYN+ACKs. | From | Eric Dumazet <> | Date | Thu, 10 Jun 2021 22:21:00 +0200 |
| |
On 5/21/21 8:20 PM, Kuniyuki Iwashima wrote: > As with the preceding patch, this patch changes reqsk_timer_handler() to > call reuseport_migrate_sock() and inet_reqsk_clone() to migrate in-flight > requests at retransmitting SYN+ACKs. If we can select a new listener and > clone the request, we resume setting the SYN+ACK timer for the new req. If > we can set the timer, we call inet_ehash_insert() to unhash the old req and > put the new req into ehash. >
...
> static void reqsk_migrate_reset(struct request_sock *req) > { > + req->saved_syn = NULL; > + inet_rsk(req)->ireq_opt = NULL; > #if IS_ENABLED(CONFIG_IPV6) > - inet_rsk(req)->ipv6_opt = NULL; > + inet_rsk(req)->pktopts = NULL; > #endif > }
This is fragile.
Maybe instead :
#if IS_ENABLED(CONFIG_IPV6) inet_rsk(req)->ipv6_opt = NULL; inet_rsk(req)->pktopts = NULL; #else inet_rsk(req)->ireq_opt = NULL; #endif
| |