Patches 1/8 to 4/8 add support for logging to a file, via -l/--log-file, with mandatory size limit and rotation. Patches 5/8 and 7/8 fix two minor details that came up while implementing the feature itself. Patch 6/8 adds a -v/--version option with a version string generated by the Makefile using git, if available, and includes the version string in the log header. Finally, patch 8/8 introduces related tests, using pasta. Stefano Brivio (8): Move logging functions to a new file, log.c conf: Drop duplicate, diverging optstring assignments passt.h: Include netinet/if_ether.h before struct ctx declaration log, conf: Add support for logging to file log: Add missing function comment for trace_init() conf, log, Makefile: Add versioning information util: Check return value of lseek() while reading bound ports from procfs test: Add log file tests for pasta plus corresponding layout and setup Makefile | 9 +- README.md | 2 +- conf.c | 74 +++++-- dhcp.c | 1 + dhcpv6.c | 1 + icmp.c | 1 + isolation.c | 1 + log.c | 362 +++++++++++++++++++++++++++++++++ log.h | 32 +++ ndp.c | 1 + netlink.c | 1 + packet.c | 1 + passt.1 | 18 +- passt.c | 2 + passt.h | 2 + pasta.c | 1 + pcap.c | 1 + tap.c | 1 + tcp.c | 1 + tcp_splice.c | 1 + test/lib/layout | 39 ++++ test/lib/setup | 15 +- test/lib/test | 3 + test/pasta_options/log_to_file | 90 ++++++++ test/run | 4 + udp.c | 1 + util.c | 131 +----------- util.h | 22 +- 28 files changed, 658 insertions(+), 160 deletions(-) create mode 100644 log.c create mode 100644 log.h create mode 100644 test/pasta_options/log_to_file -- 2.35.1