Merge pull request #8402 from amshinde/ipvlan-tests-stable3.2

network: Backports for Ipvlan qemu fix and related tests
This commit is contained in:
Fabiano Fidêncio 2023-11-09 11:22:12 +01:00 committed by GitHub
commit 54aa3e7abf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 3 deletions

View File

@ -1884,9 +1884,8 @@ func (q *qemu) hotplugNetDevice(ctx context.Context, endpoint Endpoint, op Opera
var tap TapInterface
switch endpoint.Type() {
case VethEndpointType:
drive := endpoint.(*VethEndpoint)
tap = drive.NetPair.TapInterface
case VethEndpointType, IPVlanEndpointType, MacvlanEndpointType, TuntapEndpointType:
tap = endpoint.NetworkPair().TapInterface
case TapEndpointType:
drive := endpoint.(*TapEndpoint)
tap = drive.TapInterface

View File

@ -68,6 +68,25 @@ function run() {
info "Running nerdctl with Kata Containers (${KATA_HYPERVISOR})"
sudo nerdctl run --rm --runtime io.containerd.kata-${KATA_HYPERVISOR}.v2 --entrypoint nping instrumentisto/nmap --tcp-connect -c 2 -p 80 www.github.com
parent_interface="eth0"
# The following creates an ipvlan network with eth0 on host as parent. The test assumes
# that an interface called eth0 exists on the host.
ipvlan_net_name="ipvlan10"
info "Creating ipvlan network with eth0 interface on host as parent"
sudo nerdctl network create ${ipvlan_net_name=} --driver ipvlan --subnet=10.5.74.0/24 -o parent=${parent_interface}
info "Running nerdctl with Kata Containers (${KATA_HYPERVISOR}) and ipvlan network"
sudo nerdctl run --rm --net ${ipvlan_net_name} --runtime io.containerd.kata-${KATA_HYPERVISOR}.v2 alpine ip a | grep "eth0"
# The following creates an ipvlan network with eth0 on host as parent.
macvlan_net_name="macvlan20"
info "Creating macvlan network with eth0 interface on host as parent"
sudo nerdctl network create ${macvlan_net_name=} --driver ipvlan --subnet=10.8.0.0/24 -o parent=${parent_interface}
info "Running nerdctl with Kata Containers (${KATA_HYPERVISOR}) and macvlan network"
sudo nerdctl run --rm --net ${macvlan_net_name} --runtime io.containerd.kata-${KATA_HYPERVISOR}.v2 alpine ip a | grep "eth0"
}
function main() {