16 stable releases

1.13.0 Oct 29, 2024
1.11.0 May 30, 2024
1.10.3 Feb 10, 2024
1.9.0 Nov 27, 2023
1.0.4-dev Jul 4, 2022

#221 in Network programming

Download history 189/week @ 2024-08-12 217/week @ 2024-08-19 78/week @ 2024-08-26 69/week @ 2024-09-02 77/week @ 2024-09-09 92/week @ 2024-09-16 102/week @ 2024-09-23 63/week @ 2024-09-30 103/week @ 2024-10-07 77/week @ 2024-10-14 45/week @ 2024-10-21 192/week @ 2024-10-28 82/week @ 2024-11-04 76/week @ 2024-11-11 90/week @ 2024-11-18 83/week @ 2024-11-25

344 downloads per month

Apache-2.0

435KB
9K SLoC

Rust 8K SLoC // 0.1% comments BASH 836 SLoC // 0.3% comments Shell 202 SLoC // 0.3% comments RPM Specfile 116 SLoC // 0.1% comments Bitbake 72 SLoC // 0.1% comments

netavark: A container network stack

Netavark is a rust based network stack for containers. It is being designed to work with Podman but is also applicable for other OCI container management applications.

Overview and scope

Netavark is a tool for configuring networking for Linux containers. Its features include:

  • Configuration of container networks via JSON configuration file
  • Creation and management of required network interfaces, including MACVLAN networks
  • All required firewall configuration to perform NAT and port forwarding as required for containers
  • Support for iptables, firewalld and nftables
  • Support for rootless containers
  • Support for IPv4 and IPv6
  • Support for container DNS resolution via the aardvark-dns project

Requires

MSRV (Minimum Supported Rust Version)

v1.76

We test that Netavark can be build on this Rust version and on some newer versions. All newer versions should also build, and if they do not, the issue should be reported and will be fixed. Older versions are not guaranteed to build and issues will not be fixed.

Build

$ make

Test

$ make test

Also see ./test for more information.

Communications

For general questions and discussion, please use Podman's channels.

For discussions around issues/bugs and features, you can use the GitHub issues and PRs tracking system.

Plugins

Netavark also supports executing external plugins, see ./plugin-API.md.

Dependencies

~28–41MB
~709K SLoC