Hi Pablo & all, Here is the adjusted version of patches for conntrack to support loading ct entries from file in the "save" aka "options" format. It uses the approach proposed by Pablo to first create a list of command objects and then go through the list and apply it. At least the way I understood it ;) Pablo, please let me know whether this is what you meant. The approach definitely seems cleaner, but is more invasive on the other hand. Thanks, Mikhail Mikhail Sennikovsky (4): conntrack: accept commands from file conntrack.8: man update for --load-file support tests: saving and loading ct entries, save format tests: conntrack -L/-D ip family filtering conntrack.8 | 8 + extensions/libct_proto_dccp.c | 60 +- extensions/libct_proto_gre.c | 52 +- extensions/libct_proto_icmp.c | 38 +- extensions/libct_proto_icmpv6.c | 38 +- extensions/libct_proto_sctp.c | 56 +- extensions/libct_proto_tcp.c | 68 +- extensions/libct_proto_udp.c | 52 +- extensions/libct_proto_udplite.c | 50 +- include/conntrack.h | 63 +- src/conntrack.c | 1214 ++++++++++++++++----------- tests/conntrack/test-conntrack.c | 84 +- tests/conntrack/testsuite/08stdin | 80 ++ tests/conntrack/testsuite/09dumpopt | 147 ++++ 14 files changed, 1295 insertions(+), 715 deletions(-) create mode 100644 tests/conntrack/testsuite/08stdin create mode 100644 tests/conntrack/testsuite/09dumpopt -- 2.25.1