
Previously, if an IPAM plugin provided DNS settings in the result to the PTP plugin, those settings were always lost because the PTP plugin would always provide its own DNS settings in the result even if the PTP plugin was not configured with any DNS settings. This was especially problematic when trying to use, for example, the host-local IPAM plugin's support for retrieving DNS settings from a resolv.conf file on the host. Before this change, those DNS settings were always lost when using the PTP plugin and couldn't be specified as part of PTP instead because PTP does not support parsing a resolv.conf file. This change checks to see if any fields were actually set in the PTP plugin's DNS settings and only overrides any previous DNS results from an IPAM plugin in the case that settings actually were provided to PTP. In the case where no DNS settings are provided to PTP, the DNS results of the IPAM plugin (if any) are used instead. Signed-off-by: Erik Sipsma <sipsma@amazon.com>
plugins
Some CNI network plugins, maintained by the containernetworking team. For more information, see the individual READMEs.
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.
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 containerhost-local
: Maintains a local database of allocated IPsstatic
: Allocate a static IPv4/IPv6 addresses to container and it's useful in debugging purpose.
Meta: other plugins
flannel
: Generates an interface corresponding to a flannel config filetuning
: Tweaks sysctl parameters of an existing interfaceportmap
: 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.
Description
Languages
Go
99.7%
Shell
0.3%