12 stable releases

1.10.3 Feb 10, 2024
1.9.0 Nov 27, 2023
1.6.0 May 1, 2023
1.4.0 Dec 7, 2022
1.0.4-dev Jul 4, 2022

#211 in Network programming

Download history 11/week @ 2024-01-22 18/week @ 2024-01-29 2/week @ 2024-02-05 170/week @ 2024-02-12 32/week @ 2024-02-19 70/week @ 2024-02-26 54/week @ 2024-03-04 84/week @ 2024-03-11 48/week @ 2024-03-18

258 downloads per month

Apache-2.0

435KB
9K SLoC

Rust 8K SLoC // 0.1% comments BASH 835 SLoC // 0.3% comments Shell 185 SLoC // 0.3% comments RPM Specfile 103 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 and firewalld at present, with support for nftables planned in a future release
  • Support for rootless containers
  • Support for IPv4 and IPv6
  • Support for container DNS resolution via the aardvark-dns project

Requires

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

~27–42MB
~712K SLoC