On Fri, May 03, 2019 at 05:40:07PM +0200, Kristian Evensen wrote: > Commit 59c08c69c278 ("netfilter: ctnetlink: Support L3 protocol-filter > on flush") introduced a user-space regression when flushing connection > track entries. Before this commit, the nfgen_family field was not used > by the kernel and all entries were removed. Since this commit, > nfgen_family is used to filter out entries that should not be removed. > One example a broken tool is conntrack. conntrack always sets > nfgen_family to AF_INET, so after 59c08c69c278 only IPv4 entries were > removed with the -F parameter. > > Pablo Neira Ayuso suggested using nfgenmsg->version to resolve the > regression, and this commit implements his suggestion. nfgenmsg->version > is so far set to zero, so it is well-suited to be used as a flag for > selecting old or new flush behavior. If version is 0, nfgen_family is > ignored and all entries are used. If user-space sets the version to one > (or any other value than 0), then the new behavior is used. As version > only can have two valid values, I chose not to add a new > NFNETLINK_VERSION-constant. Applied, thanks.