Go to file
patryk4815 c96bb6363f
Fix Deadlock in `Flush` Function Due to ENOBUFS (#286)
* fix: resolve deadlock in `Flush` function when handling ENOBUFS error

* Simulate deadlock issue using reduced read/write buffers to verify the fix and ensure no regressions
2024-11-29 08:34:52 +01:00
.github/workflows GitHub Actions: switch to setup-go@v4 which enables caching 2023-05-20 14:47:36 +02:00
alignedbuff alignedbuff: fix alignment test issue on 32-bit machines (#211) 2022-12-12 08:51:36 +01:00
binaryutil add int32 and string types to alignedbuff (#195) 2022-10-15 21:04:45 +02:00
expr Fix: NFT_DYNSET_F_EXPR not supported for kernels < 5.11-rc3 (#276) 2024-09-13 08:54:50 +02:00
internal Refactor expr for obj reimplementation (#265) 2024-07-24 08:26:13 +02:00
userdata set: add set support auto-merge (#271) 2024-09-02 18:48:06 +02:00
xt feat: add xt.Comment (#260) 2024-04-22 08:53:34 +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 List table or chain by name (#258) 2024-04-14 11:19:27 +02:00
compat_policy.go Fix: add NFTA_RULE_COMPAT attribute (#207) 2022-12-08 09:05:15 +01:00
compat_policy_test.go Fix: add NFTA_RULE_COMPAT attribute (#207) 2022-12-08 09:05:15 +01:00
conn.go Fix Deadlock in `Flush` Function Due to ENOBUFS (#286) 2024-11-29 08:34:52 +01:00
counter.go refactor nftable Object handling (NamedObj type) (#259) 2024-07-29 08:43:58 +02:00
doc.go Restructure code base into smaller files (#15) 2019-05-03 23:54:09 +02:00
flowtable.go Fix staticcheck issues (#266) 2024-08-11 10:00:48 +02:00
gen.go Implement AddGenerationalMonitor to deliver monitor events in batches (#283) 2024-11-09 12:07:36 +01:00
go.mod Bump golang.org/x/net from 0.22.0 to 0.23.0 (#261) 2024-04-19 19:12:50 +02:00
go.sum Bump golang.org/x/net from 0.22.0 to 0.23.0 (#261) 2024-04-19 19:12:50 +02:00
monitor.go Implement AddGenerationalMonitor to deliver monitor events in batches (#283) 2024-11-09 12:07:36 +01:00
monitor_test.go Implement AddGenerationalMonitor to deliver monitor events in batches (#283) 2024-11-09 12:07:36 +01:00
nftables_test.go Fix Deadlock in `Flush` Function Due to ENOBUFS (#286) 2024-11-29 08:34:52 +01:00
obj.go Added ct timeout obj (#275) 2024-09-11 08:27:40 +02:00
quota.go refactor nftable Object handling (NamedObj type) (#259) 2024-07-29 08:43:58 +02:00
rule.go Fix staticcheck issues (#266) 2024-08-11 10:00:48 +02:00
set.go set: add set support auto-merge (#271) 2024-09-02 18:48:06 +02:00
set_test.go Fix getting concatenated data types for maps (#217) 2023-04-02 10:11:12 +02:00
table.go List table or chain by name (#258) 2024-04-14 11:19:27 +02:00
util.go NAT: prefix test 2024-01-12 21:30:04 +01:00
util_test.go NAT: prefix test 2024-01-12 21:30:04 +01: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!