You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,14 +2,15 @@
2
2
3
3
## Overview
4
4
5
-
This repository contains a .NET 8 solution for working with Linux iptables from C#. The managed code lives under `IPTables.Net/`, the NUnit tests live under `IPTables.Net.Tests/`, and the native helper library used by the libiptc-based adapter lives under `ipthelper/`.
5
+
This repository contains a .NET 10 solution for working with Linux iptables from C#. The managed code lives under `IPTables.Net/`, the NUnit tests live under `IPTables.Net.Tests/`, and the native helper library used by the libiptc-based adapter lives under `ipthelper/`.
6
6
7
7
## Build And Test
8
8
9
9
- Use `./build.sh` for a full solution build.
10
10
- Use `./test.sh` to build and run tests.
11
11
- Use `./test.sh --fast` for the managed-heavy test pass that sets `SKIP_SYSTEM_TESTS=1`.
12
12
- Use `./test.sh --full` on Linux when root or passwordless `sudo` is available to run the stable native and system iptables tests.
13
+
- Use `./test.sh --full --iptables-backend legacy|nft|current` to choose the iptables backend explicitly. Full mode defaults to `legacy`.
13
14
- Set `RUN_UNSTABLE_SYSTEM_TESTS=1` with `./test.sh --full` to include tests marked `NotWorkingOnTravis`, including the conntrack coverage that can crash on some containerized hosts.
14
15
15
16
Both scripts will bootstrap a usable .NET SDK if `dotnet` is missing. By default they infer the needed SDK channel from the highest `TargetFramework` declared in the repo's `.csproj` files. On Linux they also build `libipthelper` and install missing native build dependencies through a supported package manager when needed.
@@ -19,7 +20,8 @@ Both scripts will bootstrap a usable .NET SDK if `dotnet` is missing. By default
19
20
-`ipthelper/` builds `libipthelper.so`, which is required for `IPTablesLibAdapter`, `IptcInterface`, and the conntrack/native tests.
20
21
- The helper links against the system iptables development libraries, `libnl3`, and `libpcap`.
21
22
- The scripts first try a normal helper build and then retry with `-DOLD_IPTABLES` if the local iptables headers are older.
22
-
-`test.sh --full` prefers the `iptables-legacy` / `ip6tables-legacy` alternatives when they are available because that matches the native test expectations more closely.
23
+
-`test.sh --full` defaults to the `iptables-legacy` / `ip6tables-legacy` alternatives because that matches the native test expectations more closely.
24
+
- Pass `--iptables-backend current` if you need to keep the host's existing backend, or `--iptables-backend nft` to exercise the nft variants explicitly.
0 commit comments