Go to file
Tommie Gannert 0360b9d10a Adds all current datatypes for sets.
Based on https://git.netfilter.org/nftables/commit/include/datatype.h?id=cca4c856301caa8959ac98aac5811130bc19512c

It makes more sense to point to datatype.h in the comment since the
actual definitions of these types are scattered throughout src/.

uid_t and gid_t sizes are fixed at 4 bytes currently, but that might
of course change. I couldn't find a good way to make this
dynamic. There are a number of Sizeof* constants in x/sys/unix, so
that's probably the right place to add them.
2021-09-16 16:01:15 +02:00
.github/workflows GitHub actions: run on pull requests, too 2021-08-18 09:26:02 +02:00
binaryutil add GetRule 2018-06-23 21:12:14 +02:00
expr Add CtStateBit constants and related usage test #121 (#122) 2021-05-14 16:05:40 +02:00
CONTRIBUTING.md Initial commit 2018-05-24 22:09:26 -07:00
LICENSE Initial commit 2018-05-24 22:09:26 -07:00
README.md README: switch to GitHub actions badge 2021-05-14 17:48:51 +02:00
chain.go protect cc.messages from racing (#75) 2019-11-14 16:22:42 +01:00
conn.go disable lock when no namespace is needed (#95) 2020-01-22 22:39:39 +01:00
counter.go Add GetObject/GetObjects, ResetObject/ResetObjects (#92) 2020-01-21 08:36:27 +01:00
doc.go Restructure code base into smaller files (#15) 2019-05-03 23:54:09 +02:00
go.mod Add bitwise decoder logic (#71) 2019-11-07 15:38:12 +01:00
go.sum protect cc.messages from racing (#75) 2019-11-14 16:22:42 +01:00
nftables_test.go Add CtStateBit constants and related usage test #121 (#122) 2021-05-14 16:05:40 +02:00
obj.go Remove Object API (#100) 2020-03-09 08:43:47 +01:00
rule.go Add expr.Ct and expr.Range type select in exprsFromMsg (#120) 2021-05-11 11:11:10 +02:00
set.go Adds all current datatypes for sets. 2021-09-16 16:01:15 +02:00
set_test.go Adds all current datatypes for sets. 2021-09-16 16:01:15 +02:00
table.go Use NFPROTO_ constants for TableFamily (#76) 2019-11-15 10:17:43 +01:00
util.go Restructure code base into smaller files (#15) 2019-05-03 23:54:09 +02:00

README.md

Build Status GoDoc

This is not the correct repository for issues with the Linux nftables project! This repository contains a third-party Go package to programmatically interact with nftables. Find the official nftables website at https://wiki.nftables.org/

This package manipulates Linux nftables (the iptables successor). It is implemented in pure Go, i.e. does not wrap libnftnl.

This is not an official Google product.

Breaking changes

This package is in very early stages, and only contains enough data types and functions to install very basic nftables rules. It is likely that mistakes with the data types/API will be identified as more functionality is added.

Contributions

Contributions are very welcome!