]> git.ipfire.org Git - thirdparty/nftables.git/commit
src: add `flush ruleset'
authorArturo Borrero <arturo.borrero.glez@gmail.com>
Tue, 2 Sep 2014 14:42:22 +0000 (16:42 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 9 Sep 2014 13:38:14 +0000 (15:38 +0200)
commit6def2fbb5deb33b489dfef1ed8d23aac9f639c9f
treedb82c71e17f7e828555f5ac50134774388e4b357
parent9173c1ab4846f5934932511c97b29b7755ca1e19
src: add `flush ruleset'

This patch adds the `flush ruleset' operation to nft.

The syntax is:
 % nft flush ruleset [family]

To flush all the ruleset (all families):
 % nft flush ruleset

To flush the ruleset of a given family:
 % nft flush ruleset ip
 % nft flush ruleset inet

This flush is a shortcut operation which deletes all rules, sets, tables
and chains.
It's possible since the modifications in the kernel to the NFT_MSG_DELTABLE
API call.

Users can benefit of this operation when doing an atomic replacement of the
entire ruleset, loading a file like this:

 =========
 flush ruleset
 table ip filter {
  chain input {
counter accept
}
 }
 =========

Also, users who want to simply clean the ruleset for whatever reason can do it now
without having to iterate families/tables.

Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/netlink.h
src/netlink.c
src/parser.y
src/rule.c
src/scanner.l