Brain dead today, didn't make much progress on bugs. In particular migrate/iperf3_bidir6 still fails for me with an EAGAIN trying to restore the sndq (the sent but not acked part, in repair mode). I did, however, do a substantial restructure of how we handle flow migration, which should make it easier to tweak our "pre" and "post" steps for each flow. I *think* disabling/re-enabling nonblocking mode on our sockets in the new freeze/thaw handlers will fix the EAGAIN problem, but I ran out of time before trying it. David Gibson (2): flow: Flow table traversing macros flow, migrate: Flow migration skeleton Stefano Brivio (2): migrate: Migrate TCP flows test: Add migration tests contrib/selinux/passt.te | 4 +- flow.c | 309 +++++++++++- flow.h | 13 + flow_table.h | 52 ++ migrate.c | 47 +- migrate.h | 2 + passt.c | 6 +- repair.c | 1 - tcp.c | 918 ++++++++++++++++++++++++++++++++++++ tcp_conn.h | 99 ++++ test/lib/layout | 55 ++- test/lib/setup | 138 +++++- test/lib/test | 48 ++ test/migrate/basic | 59 +++ test/migrate/bidirectional | 64 +++ test/migrate/iperf3_bidir6 | 58 +++ test/migrate/iperf3_in4 | 50 ++ test/migrate/iperf3_in6 | 58 +++ test/migrate/iperf3_out4 | 50 ++ test/migrate/iperf3_out6 | 58 +++ test/migrate/rampstream_in | 10 +- test/migrate/rampstream_out | 6 +- test/run | 34 +- 23 files changed, 2108 insertions(+), 31 deletions(-) create mode 100644 test/migrate/basic create mode 100644 test/migrate/bidirectional create mode 100644 test/migrate/iperf3_bidir6 create mode 100644 test/migrate/iperf3_in4 create mode 100644 test/migrate/iperf3_in6 create mode 100644 test/migrate/iperf3_out4 create mode 100644 test/migrate/iperf3_out6 -- 2.48.1