Go bindings for nft utility.
go-nft wraps invocation of the nft utility with functions to append and delete rules; create, clear and delete tables and chains.
go-nft is a library that provides a structured API to nftables.
go-nft uses the libnftables-json specification and exposes a subset of its structures.
- Apply the configuration:
config := nft.NewConfig()
config.AddTable(nft.NewTable("mytable", nft.FamilyIP))
err := nft.ApplyConfig(config)
- Read the configuration:
config, err := nft.ReadConfig()
nftVersion := config.Nftables[0].Metainfo.Version
For full setup example, see the integration test examples.
We welcome contribution of any kind! Read CONTRIBUTING to learn how to contribute to the project.
Please refer to CHANGELOG