On 2 November 2018 at 02:21, Jason Wang <jasow...@redhat.com> wrote: > > On 2018/10/31 上午8:50, Zhang Chen wrote: >> >> The original code just follow the TCP state diagram, >> but in this case, we can skip the TCPS_TIME_WAIT state to simplify >> the implementation. >> >> Signed-off-by: Zhang Chen <zhangc...@gmail.com> >> --- >> net/filter-rewriter.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/net/filter-rewriter.c b/net/filter-rewriter.c >> index bb8f4d93b1..2e26839bc2 100644 >> --- a/net/filter-rewriter.c >> +++ b/net/filter-rewriter.c >> @@ -155,12 +155,13 @@ static int handle_primary_tcp_pkt(RewriterState *rf, >> * Active close step 2. >> */ >> if (conn->tcp_state == TCPS_FIN_WAIT_1) { >> - conn->tcp_state = TCPS_TIME_WAIT; >> /* >> * For simplify implementation, we needn't wait 2MSL time >> * in filter rewriter. Because guest kernel will track the >> * TCP status and wait 2MSL time, if client resend the FIN >> * packet, guest will apply the last ACK too. >> + * So, we skip the TCPS_TIME_WAIT state here and go straight >> + * to TCPS_CLOSED state. >> */ >> conn->tcp_state = TCPS_CLOSED; >> g_hash_table_remove(rf->connection_track_table, key); > > > > Applied.
Ping -- this doesn't seem to have made it into master? thanks -- PMM