filter-rewriter: Add TCP state machine and fix memory leak in connection_track_table
commit6214231abde01119d3084a67262d35e909bd9414
authorZhang Chen <zhangckid@gmail.com>
Fri, 14 Sep 2018 01:47:53 +0000 (14 01:47 +0000)
committerJason Wang <jasowang@redhat.com>
Fri, 19 Oct 2018 03:15:03 +0000 (19 11:15 +0800)
tree2669fc7a3a5d9d71667a56d5905648caf3218693
parent77f7c747193662edfadeeb3118d63eed0eac51a6
filter-rewriter: Add TCP state machine and fix memory leak in connection_track_table

We add almost full TCP state machine in filter-rewriter, except
TCPS_LISTEN and some simplify in VM active close FIN states.
The reason for this simplify job is because guest kernel will track
the TCP status and wait 2MSL time too, if client resend the FIN packet,
guest will resend the last ACK, so we needn't wait 2MSL time in filter-rewriter.

After a net connection is closed, we didn't clear its related resources
in connection_track_table, which will lead to memory leak.

Let's track the state of net connection, if it is closed, its related
resources will be cleared up.

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
Signed-off-by: Zhang Chen <zhangckid@gmail.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
net/colo.c
net/colo.h
net/filter-rewriter.c