k3s has removed some standard plugins, which we need. So fork and add it back.
Go to file
Miguel Duarte Barroso 135292e050 bridge, del: timeout after 55 secs of trying to list rules
Making sure the exec'ed nft command is executed in 55 secs allows for
CNI to fail early, thus preventing CRI from sending another CNI DEL
while the previous NFT call is still being processed.

This fix prevents part of the behavior described in [0], in which:
> cnv-bridge and nft comes pile up in a loop, increasing every 60, never
completes

The timeout had to be less than 60 seconds (otherwise CRI would still
trigger CNI DEL again) but large enough for this feature to have a
chance of working on older kernels (e.g. centOS 8), where it takes
longer to access even a specific chain/table.

Signed-off-by: Miguel Duarte Barroso <mdbarroso@redhat.com>
2023-04-20 11:19:07 +02:00
.github Merge pull request #861 from containernetworking/dependabot/github_actions/actions/setup-go-4 2023-04-04 16:27:44 +02:00
integration enable revive linter 2023-03-13 17:59:41 +01:00
pkg bridge, del: timeout after 55 secs of trying to list rules 2023-04-20 11:19:07 +02:00
plugins Add parameter to disable default vlan 2023-04-05 18:20:40 +02:00
scripts build: support riscv64 2022-04-29 01:53:59 +09:00
vendor build: consume specific tables/chains via go-nft 2023-04-20 10:08:18 +02:00
.gitignore Update Vendor 2018-09-21 00:34:07 +08:00
.golangci.yml Merge pull request #853 from mmorel-35/ginkgolinter 2023-04-04 15:24:20 +02:00
.yamllint.yml ci(lint): setup yamllint linter 2023-02-25 12:10:11 +00:00
build_linux.sh Add github build & test actions 2020-12-09 17:46:25 +01:00
build_windows.sh Add github build & test actions 2020-12-09 17:46:25 +01:00
CONTRIBUTING.md Merge pull request #396 from oshothebig/contributing-doc 2019-10-09 10:21:03 -05:00
DCO Add missing DCO 2018-10-11 16:15:24 +01:00
go.mod build: consume specific tables/chains via go-nft 2023-04-20 10:08:18 +02:00
go.sum build: consume specific tables/chains via go-nft 2023-04-20 10:08:18 +02:00
LICENSE Initial commit 2017-03-10 16:46:52 +01:00
OWNERS.md Update email to gmail 2022-12-07 11:57:16 -07:00
README.md dummy: Create a Dummy CNI plugin that creates a virtual interface. 2022-08-11 13:50:37 +01:00
RELEASING.md Add release process 2017-07-11 13:57:49 -07:00
test_linux.sh remove govet and gofmt from test_linux.sh 2023-03-13 22:47:17 +00:00
test_windows.sh Add github build & test actions 2020-12-09 17:46:25 +01:00

test

Plugins

Some CNI network plugins, maintained by the containernetworking team. For more information, see the CNI website.

Read CONTRIBUTING for build and test instructions.

Plugins supplied:

Main: interface-creating

  • bridge: Creates a bridge, adds the host and the container to it.
  • ipvlan: Adds an ipvlan interface in the container.
  • loopback: Set the state of loopback interface to up.
  • macvlan: Creates a new MAC address, forwards all traffic to that to the container.
  • ptp: Creates a veth pair.
  • vlan: Allocates a vlan device.
  • host-device: Move an already-existing device into a container.
  • dummy: Creates a new Dummy device in the container.

Windows: Windows specific

  • win-bridge: Creates a bridge, adds the host and the container to it.
  • win-overlay: Creates an overlay interface to the container.

IPAM: IP address allocation

  • dhcp: Runs a daemon on the host to make DHCP requests on behalf of the container
  • host-local: Maintains a local database of allocated IPs
  • static: Allocate a single static IPv4/IPv6 address to container. It's useful in debugging purpose.

Meta: other plugins

  • tuning: Tweaks sysctl parameters of an existing interface
  • portmap: An iptables-based portmapping plugin. Maps ports from the host's address space to the container.
  • bandwidth: Allows bandwidth-limiting through use of traffic control tbf (ingress/egress).
  • sbr: A plugin that configures source based routing for an interface (from which it is chained).
  • firewall: A firewall plugin which uses iptables or firewalld to add rules to allow traffic to/from the container.

Sample

The sample plugin provides an example for building your own plugin.

Contact

For any questions about CNI, please reach out via:

If you have a security issue to report, please do so privately to the email addresses listed in the OWNERS file.