On default CNI network, a virtual port will be added to the host during
MetaPipeline create for a network. This port will receive an IP from
IPAM and will be used as the default gateway for the pods on this
network. This gives the pods host and egress via host access. This patch
adds configuring the default gateway for the pod namespace.
For the secondary interface (high speed/pod-to-pod) traffic, the
physical interface may be specified on the host. This interface should
be a DPDK or other type of high speed interface, but as a fallback
kernel_interface may be used in the agent config for testing
environments where it may not be possible to use DPDK, AF_XDP, or other
high speed technologies.
When specified in Agent config, a kernel interface will be added to the
default CNI network at the same time the first pod CNI ADD request is
received.
Other fixes include:
Switch module wiring fix: Now egress ports are correctly connected to
both the replicate and the l2forward module. Previously they were
only being connected to replicate module.
Replicate module fix: Replicate module was not correctly being set to
replicate packets across all egress gates. This is fixed.
l2forward default gate fix: Default gate was never being set to
replicate module, so traffic was not forwarding correctly.
MetaPipeline Egress port update fix: Slice was being incorrectly
updated and the desired port was not being popped correctly.
CNI Del fix: During delete we were not removing the pointer linkage
in the Egress port map to the deleted pipeline. Therefore following
CNI Adds would fail during Egress Port link updates.
Mounting /proc into containers: /proc is currently needed by
containers that need to modify namespaces. However mounting /proc
directly as /proc into the container forces the pid of the container
process to not be 1, as well as other side effects. Now /proc is
mounted into containers as /host/proc.
On default CNI network, a virtual port will be added to the host during MetaPipeline create for a network. This port will receive an IP from IPAM and will be used as the default gateway for the pods on this network. This gives the pods host and egress via host access. This patch adds configuring the default gateway for the pod namespace.
For the secondary interface (high speed/pod-to-pod) traffic, the physical interface may be specified on the host. This interface should be a DPDK or other type of high speed interface, but as a fallback kernel_interface may be used in the agent config for testing environments where it may not be possible to use DPDK, AF_XDP, or other high speed technologies.
When specified in Agent config, a kernel interface will be added to the default CNI network at the same time the first pod CNI ADD request is received.
Other fixes include:
Signed-off-by: Tim Rozet trozet@redhat.com