Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
The FDP team is no longer accepting new bugs in Bugzilla. Please report your issues under FDP project in Jira. Thanks.

Bug 1764434

Summary: [mlx5_core] openvswitch SR-IOV dpdk bonding can not work on mlx5_core driver
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Hekai Wang <hewang>
Component: openvswitchAssignee: Matteo Croce <mcroce>
openvswitch sub component: ovs-dpdk QA Contact: Hekai Wang <hewang>
Status: CLOSED NOTABUG Docs Contact:
Severity: high    
Priority: unspecified CC: atragler, ctrautma, fhallal, jhsiao, ktraynor, qding
Version: FDP 19.G   
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-08 05:28:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Hekai Wang 2019-10-23 05:05:34 UTC
Description of problem:
ovs SR-IOV DPDK BONDING does not work on mlx5_core

Version-Release number of selected component (if applicable):
[root@dell-per740-10 bond]# rpm -qa | grep openv
openvswitch-selinux-extra-policy-1.0-14.el7fdp.noarch
python-openvswitch-2.9.0-122.el7fdp.x86_64
openvswitch-2.9.0-122.el7fdp.x86_64
openvswitch-test-2.9.0-122.el7fdp.noarch
[root@dell-per740-10 bond]# rpm -qa | grep qemu
qemu-kvm-tools-rhev-2.12.0-33.el7.x86_64
qemu-kvm-common-rhev-2.12.0-33.el7.x86_64
qemu-img-rhev-2.12.0-33.el7.x86_64
qemu-kvm-rhev-2.12.0-33.el7.x86_64
libvirt-daemon-driver-qemu-4.5.0-23.el7_7.1.x86_64
ipxe-roms-qemu-20180825-2.git133f4c.el7.noarch
[root@dell-per740-10 bond]# rpm -qa | grep dpdk
dpdk-tools-18.11.2-1.el7_6.x86_64
dpdk-18.11.2-1.el7_6.x86_64
[root@dell-per740-10 bond]# ethtool -i p3p1
driver: mlx5_core
version: 5.0-0
firmware-version: 16.25.1020 (MT_0000000012)
expansion-rom-version: 
bus-info: 0000:5e:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes
[root@dell-per740-10 bond]# lspci -s 5e:00.0 -vvv
5e:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]
	Subsystem: Mellanox Technologies Device 0007
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 307
	NUMA node: 0
	Region 0: Memory at bc000000 (64-bit, prefetchable) [size=32M]
	Expansion ROM at b8800000 [disabled] [size=1M]
	Capabilities: [60] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 512 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 75.000W
		DevCtl:	Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-
			MaxPayload 256 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 8GT/s, Width x16, ASPM not supported, Exit Latency L0s unlimited, L1 unlimited
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk-
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 8GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported
		DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-, LTR-, OBFF Disabled
		LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+, EqualizationPhase1+
			 EqualizationPhase2+, EqualizationPhase3+, LinkEqualizationRequest-
	Capabilities: [48] Vital Product Data
		Product Name: CX516A - ConnectX-5 QSFP28
		Read-only fields:
			[PN] Part number: MCX516A-CCAT    
			[EC] Engineering changes: A6
			[V2] Vendor specific: MCX516A-CCAT    
			[SN] Serial number: MT1831K36862          
			[V3] Vendor specific: e0a2c9b70b97e811800098039b2c0574
			[VA] Vendor specific: MLX:MODL=CX516A:MN=MLNX:CSKU=V2:UUID=V3:PCI=V0
			[V0] Vendor specific: PCIeGen3 x16
			[RV] Reserved: checksum good, 2 byte(s) reserved
		End
	Capabilities: [9c] MSI-X: Enable+ Count=64 Masked-
		Vector table: BAR=0 offset=00002000
		PBA: BAR=0 offset=00003000
	Capabilities: [c0] Vendor Specific Information: Len=18 <?>
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0-,D1-,D2-,D3hot-,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES- TLP+ FCP+ CmpltTO+ CmpltAbrt+ UnxCmplt- RxOF+ MalfTLP+ ECRC+ UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
		CEMsk:	RxErr+ BadTLP+ BadDLLP+ Rollover+ Timeout+ NonFatalErr+
		AERCap:	First Error Pointer: 04, GenCap+ CGenEn+ ChkCap+ ChkEn+
	Capabilities: [150 v1] Alternative Routing-ID Interpretation (ARI)
		ARICap:	MFVC- ACS-, Next Function: 1
		ARICtl:	MFVC- ACS-, Function Group: 0
	Capabilities: [180 v1] Single Root I/O Virtualization (SR-IOV)
		IOVCap:	Migration-, Interrupt Message Number: 000
		IOVCtl:	Enable+ Migration- Interrupt- MSE+ ARIHierarchy+
		IOVSta:	Migration-
		Initial VFs: 4, Total VFs: 4, Number of VFs: 1, Function Dependency Link: 00
		VF offset: 2, stride: 1, Device ID: 1018
		Supported Page Size: 000007ff, System Page Size: 00000001
		Region 0: Memory at 00000000be800000 (64-bit, prefetchable)
		VF Migration: offset: 00000000, BIR: 0
	Capabilities: [1c0 v1] #19
	Capabilities: [230 v1] Access Control Services
		ACSCap:	SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
		ACSCtl:	SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
	Kernel driver in use: mlx5_core
	Kernel modules: mlx5_core

[root@dell-per740-10 bond]# uname -a
Linux dell-per740-10.rhts.eng.pek2.redhat.com 3.10.0-1062.4.1.el7.x86_64 #1 SMP Wed Sep 25 09:42:57 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@dell-per740-10 bond]# cat /etc/os-release 
NAME="Red Hat Enterprise Linux Server"
VERSION="7.7 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.7"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.7 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.7:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.7
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.7"
[root@dell-per740-10 bond]# 



How reproducible:
Always

Steps to Reproduce:

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   ovs_vf_dpdk_bond_functional_test active-backup SETUP WITH MTU 1500
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo 1 > /sys/class/net/p6p1/device/sriov_numvfs
echo 1 > /sys/class/net/p6p2/device/sriov_numvfs
ip li set p6p1 up
ip li set p6p1 vf 0 spoofchk off trust on
ip li set p6p2 up
ip li set p6p2 vf 0 spoofchk off trust on
ip link set p6p1_0 mtu 1500
ip link set p6p2_0 mtu 1500
ip link set p6p1_0 up
ip link set p6p2_0 up
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   ovs_vf_dpdk_bond_functional_test active-backup enable_dpdk
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
modprobe -r vfio-pci
modprobe -r vfio
modprobe vfio-pci
modprobe vfio
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   ovs_vf_dpdk_bond_functional_test active-backup create ovs dpdk bonding
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [ 23:42:33 ] :: [   LOG    ] ::  modprobe openvswitch
:: [ 23:42:33 ] :: [   LOG    ] ::  systemctl stop openvswitch
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 3
:: [ 23:42:33 ] :: [   LOG    ] ::  systemctl start openvswitch
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 3
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl --if-exists del-br ovsbr0
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 5
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl set Open_vSwitch . other_config={}
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=4096,4096
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=0x55555554
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl --no-wait set Open_vSwitch . other_config:vhost-iommu-support=true
:: [ 23:42:33 ] :: [   LOG    ] ::  systemctl restart openvswitch
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 3
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl add-bond ovsbr0 dpdkbond dpdk0 dpdk1 bond_mode=active-backup -- set Interface dpdk0 type=dpdk options:dpdk-devargs=class=eth,mac=8a:97:1f:12:5a:40 mtu_request=1500 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=class=eth,mac=3e:ab:6e:00:66:e0 mtu_request=1500
:: [ 23:42:33 ] :: [   LOG    ] ::  # set dpdkbond port with vlan mode trunk and permit all vlans
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl set Port dpdkbond vlan_mode=trunk
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl list Port dpdkbond
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  # set updelay and downdelay for test
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl set Port dpdkbond bond_updelay=5
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl set Port dpdkbond bond_downdelay=5
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl list Port dpdkbond
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  # ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuser
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuserclient options:vhost-server-path=/tmp/vhost0
:: [ 23:42:33 ] :: [   LOG    ] ::  # chmod 777 /var/run/openvswitch/vhost0
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-ofctl del-flows ovsbr0
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-ofctl add-flow ovsbr0 actions=NORMAL
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 2
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl show
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 5
:: [ 23:42:33 ] :: [   LOG    ] ::  
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-appctl bond/show
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 30
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-appctl bond/show
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-appctl lacp/show
:: [ 23:43:06 ] :: [  BEGIN   ] :: Running 'ovs-vsctl list Port dpdkbond'
_uuid               : 70597f1c-d274-4f57-a97c-a7ecf9bfdce3
bond_active_slave   : "8a:97:1f:12:5a:40"
bond_downdelay      : 0
bond_fake_iface     : false
bond_mode           : active-backup
bond_updelay        : 0
cvlans              : []
external_ids        : {}
fake_bridge         : false
interfaces          : [44f1d54c-3e45-4801-972c-a2184613ce60, 7873ec60-0868-482e-81de-79dab99efae0]
lacp                : []
mac                 : []
name                : dpdkbond
other_config        : {}
protected           : false
qos                 : []
rstp_statistics     : {}
rstp_status         : {}
statistics          : {}
status              : {}
tag                 : []
trunks              : []
vlan_mode           : trunk
:: [ 23:43:06 ] :: [   PASS   ] :: Command 'ovs-vsctl list Port dpdkbond' (Expected 0, got 0)
:: [ 23:43:06 ] :: [  BEGIN   ] :: Running '# set updelay and downdelay for test'
:: [ 23:43:06 ] :: [   PASS   ] :: Command '# set updelay and downdelay for test' (Expected 0, got 0)
:: [ 23:43:06 ] :: [  BEGIN   ] :: Running 'ovs-vsctl set Port dpdkbond bond_updelay=5'
:: [ 23:43:06 ] :: [   PASS   ] :: Command 'ovs-vsctl set Port dpdkbond bond_updelay=5' (Expected 0, got 0)
:: [ 23:43:06 ] :: [  BEGIN   ] :: Running 'ovs-vsctl set Port dpdkbond bond_downdelay=5'
:: [ 23:43:06 ] :: [   PASS   ] :: Command 'ovs-vsctl set Port dpdkbond bond_downdelay=5' (Expected 0, got 0)
:: [ 23:43:06 ] :: [  BEGIN   ] :: Running 'ovs-vsctl list Port dpdkbond'
_uuid               : 70597f1c-d274-4f57-a97c-a7ecf9bfdce3
bond_active_slave   : "8a:97:1f:12:5a:40"
bond_downdelay      : 5
bond_fake_iface     : false
bond_mode           : active-backup
bond_updelay        : 5
cvlans              : []
external_ids        : {}
fake_bridge         : false
interfaces          : [44f1d54c-3e45-4801-972c-a2184613ce60, 7873ec60-0868-482e-81de-79dab99efae0]
lacp                : []
mac                 : []
name                : dpdkbond
other_config        : {}
protected           : false
qos                 : []
rstp_statistics     : {}
rstp_status         : {}
statistics          : {}
status              : {}
tag                 : []
trunks              : []
vlan_mode           : trunk
:: [ 23:43:06 ] :: [   PASS   ] :: Command 'ovs-vsctl list Port dpdkbond' (Expected 0, got 0)
:: [ 23:43:06 ] :: [  BEGIN   ] :: Running '# ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuser'
:: [ 23:43:06 ] :: [   PASS   ] :: Command '# ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuser' (Expected 0, got 0)
:: [ 23:43:06 ] :: [  BEGIN   ] :: Running 'ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuserclient options:vhost-server-path=/tmp/vhost0'
:: [ 23:43:06 ] :: [   PASS   ] :: Command 'ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuserclient options:vhost-server-path=/tmp/vhost0' (Expected 0, got 0)
:: [ 23:43:06 ] :: [  BEGIN   ] :: Running '# chmod 777 /var/run/openvswitch/vhost0'
:: [ 23:43:06 ] :: [   PASS   ] :: Command '# chmod 777 /var/run/openvswitch/vhost0' (Expected 0, got 0)
:: [ 23:43:06 ] :: [  BEGIN   ] :: Running 'ovs-ofctl del-flows ovsbr0'
:: [ 23:43:06 ] :: [   PASS   ] :: Command 'ovs-ofctl del-flows ovsbr0' (Expected 0, got 0)
:: [ 23:43:06 ] :: [  BEGIN   ] :: Running 'ovs-ofctl add-flow ovsbr0 actions=NORMAL'
:: [ 23:43:06 ] :: [   PASS   ] :: Command 'ovs-ofctl add-flow ovsbr0 actions=NORMAL' (Expected 0, got 0)
:: [ 23:43:06 ] :: [  BEGIN   ] :: Running 'sleep 2'
:: [ 23:43:08 ] :: [   PASS   ] :: Command 'sleep 2' (Expected 0, got 0)
:: [ 23:43:08 ] :: [  BEGIN   ] :: Running 'ovs-vsctl show'
489743cb-6ef5-4e61-bd5d-8a19a386d821
    Bridge "ovsbr0"
        Port dpdkbond
            Interface "dpdk1"
                type: dpdk
                options: {dpdk-devargs="class=eth,mac=3e:ab:6e:00:66:e0"}
            Interface "dpdk0"
                type: dpdk
                options: {dpdk-devargs="class=eth,mac=8a:97:1f:12:5a:40"}
        Port "ovsbr0"
            Interface "ovsbr0"
                type: internal
        Port "vhost0"
            Interface "vhost0"
                type: dpdkvhostuserclient
                options: {vhost-server-path="/tmp/vhost0"}
    ovs_version: "2.9.0"
:: [ 23:43:08 ] :: [   PASS   ] :: Command 'ovs-vsctl show' (Expected 0, got 0)
:: [ 23:43:08 ] :: [  BEGIN   ] :: Running 'sleep 5'
:: [ 23:43:13 ] :: [   PASS   ] :: Command 'sleep 5' (Expected 0, got 0)
:: [ 23:43:13 ] :: [  BEGIN   ] :: Running 'ovs-appctl bond/show'
---- dpdkbond ----
bond_mode: active-backup
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
updelay: 5 ms
downdelay: 5 ms
lacp_status: off
lacp_fallback_ab: false
active slave mac: 8a:97:1f:12:5a:40(dpdk0)

slave dpdk0: enabled
	active slave
	may_enable: true

slave dpdk1: enabled
	may_enable: true

:: [ 23:43:13 ] :: [   PASS   ] :: Command 'ovs-appctl bond/show' (Expected 0, got 0)
:: [ 23:43:13 ] :: [  BEGIN   ] :: Running 'sleep 30'
:: [ 23:43:43 ] :: [   PASS   ] :: Command 'sleep 30' (Expected 0, got 0)
:: [ 23:43:43 ] :: [  BEGIN   ] :: Running 'ovs-appctl bond/show'
---- dpdkbond ----
bond_mode: active-backup
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
updelay: 5 ms
downdelay: 5 ms
lacp_status: off
lacp_fallback_ab: false
active slave mac: 8a:97:1f:12:5a:40(dpdk0)

slave dpdk0: enabled
	active slave
	may_enable: true

slave dpdk1: enabled
	may_enable: true

:: [ 23:43:43 ] :: [   PASS   ] :: Command 'ovs-appctl bond/show' (Expected 0, got 0)
:: [ 23:43:43 ] :: [  BEGIN   ] :: Running 'ovs-appctl lacp/show'
:: [ 23:43:43 ] :: [   PASS   ] :: Command 'ovs-appctl lacp/show' (Expected 0, got 0)
:: [ 23:43:43 ] :: [   LOG    ] :: :: [ END ] :: Running 'bonding_nic ('8a:97:1f:12:5a:40', '3e:ab:6e:00:66:e0', 'active-backup', 1500) {}' RETURN None
:: [ 23:43:43 ] :: [   LOG    ] :: ovs-vsctl set port dpdkbond lacp=off
:: [ 23:43:43 ] :: [  BEGIN   ] :: Running 'ovs-vsctl set port dpdkbond lacp=off'
:: [ 23:43:43 ] :: [   PASS   ] :: Command 'ovs-vsctl set port dpdkbond lacp=off' (Expected 0, got 0)
SYNC_NC: sync_set CLIENT LACP_SET_OK
SYNC_NC: sent "LACP_SET_OK" to dell-per740-10.rhts.eng.pek2.redhat.com
:: [ 23:43:51 ] :: [   LOG    ] :: sleep 60
:: [ 23:43:51 ] :: [  BEGIN   ] :: Running 'sleep 60'
:: [ 23:44:51 ] :: [   PASS   ] :: Command 'sleep 60' (Expected 0, got 0)
:: [ 23:44:51 ] :: [   LOG    ] :: ovs-appctl bond/show
:: [ 23:44:51 ] :: [  BEGIN   ] :: Running 'ovs-appctl bond/show'
---- dpdkbond ----
bond_mode: active-backup
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
updelay: 5 ms
downdelay: 5 ms
lacp_status: off
lacp_fallback_ab: false
active slave mac: 8a:97:1f:12:5a:40(dpdk0)

slave dpdk0: enabled
	active slave
	may_enable: true

slave dpdk1: enabled
	may_enable: true

:: [ 23:44:51 ] :: [   PASS   ] :: Command 'ovs-appctl bond/show' (Expected 0, got 0)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   ovs_vf_dpdk_bond_functional_test active-backup start vm and config ip
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [ 23:46:35 ] :: [  BEGIN   ] :: Running 'virsh define /mnt/tests/kernel/networking/fd_nic_partition/bond/g1.xml'
Domain g1 defined from /mnt/tests/kernel/networking/fd_nic_partition/bond/g1.xml
:: [ 23:46:35 ] :: [   PASS   ] :: Command 'virsh define /mnt/tests/kernel/networking/fd_nic_partition/bond/g1.xml' (Expected 0, got 0)
:: [ 23:47:05 ] :: [  BEGIN   ] :: Running 'virsh start g1'
Domain g1 started

:: [ 23:47:08 ] :: [   PASS   ] :: Command 'virsh start g1' (Expected 0, got 0)
:: [ 23:47:08 ] :: [  BEGIN   ] :: Running 'sleep 60'
:: [ 23:48:08 ] :: [   PASS   ] :: Command 'sleep 60' (Expected 0, got 0)
:: [ 23:48:08 ] :: [  BEGIN   ] :: Running 'virsh dumpxml g1'
<domain type='kvm' id='3'>
  <name>g1</name>
  <uuid>37425e76-af6a-44a6-aba0-73434afe34c1</uuid>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <hugepages>
      <page size='1048576' unit='KiB'/>
    </hugepages>
    <access mode='shared'/>
  </memoryBacking>
  <vcpu placement='static'>3</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='4'/>
    <vcpupin vcpu='2' cpuset='6'/>
    <emulatorpin cpuset='1'/>
  </cputune>
  <numatune>
    <memory mode='strict' nodeset='0'/>
  </numatune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-rhel7.5.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pmu state='off'/>
    <vmport state='off'/>
    <ioapic driver='qemu'/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <feature policy='require' name='tsc-deadline'/>
    <numa>
      <cell id='0' cpus='0-2' memory='8388608' unit='KiB' memAccess='shared'/>
    </numa>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/root/g1.qcow2'/>
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='none'>
      <alias name='usb'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x8'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x9'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xa'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xb'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <interface type='vhostuser'>
      <mac address='52:54:00:11:8f:ea'/>
      <source type='unix' path='/tmp/vhost0' mode='server'/>
      <target dev='vhost0'/>
      <model type='virtio'/>
      <driver name='vhost'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </interface>
    <interface type='bridge'>
      <mac address='52:54:00:bb:63:7a'/>
      <source bridge='virbr0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net1'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/2'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <serial type='pty'>
      <source path='/dev/pts/3'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial1'/>
    </serial>
    <console type='pty' tty='/dev/pts/2'>
      <source path='/dev/pts/2'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='cirrus' vram='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </memballoon>
    <iommu model='intel'>
      <driver intremap='on' caching_mode='on' iotlb='on'/>
    </iommu>
  </devices>
  <seclabel type='dynamic' model='selinux' relabel='yes'>
    <label>system_u:system_r:svirt_t:s0:c168,c202</label>
    <imagelabel>system_u:object_r:svirt_image_t:s0:c168,c202</imagelabel>
  </seclabel>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+107:+1001</label>
    <imagelabel>+107:+1001</imagelabel>
  </seclabel>
</domain>

:: [ 23:48:08 ] :: [   PASS   ] :: Command 'virsh dumpxml g1' (Expected 0, got 0)

    test -d /sys/class/net/eth0 && nmcli dev set eth0 managed no
    test -d /sys/class/net/eth1 && nmcli dev set eth1 managed no
    systemctl stop firewalld
    iptables -t filter -P INPUT ACCEPT
    iptables -t filter -P FORWARD ACCEPT
    iptables -t filter -P OUTPUT ACCEPT
    iptables -t mangle -P PREROUTING ACCEPT
    iptables -t mangle -P INPUT ACCEPT
    iptables -t mangle -P FORWARD ACCEPT
    iptables -t mangle -P OUTPUT ACCEPT
    iptables -t mangle -P POSTROUTING ACCEPT
    iptables -t nat -P PREROUTING ACCEPT
    iptables -t nat -P INPUT ACCEPT
    iptables -t nat -P OUTPUT ACCEPT
    iptables -t nat -P POSTROUTING ACCEPT
    iptables -t filter -F
    iptables -t filter -X
    iptables -t mangle -F
    iptables -t mangle -X
    iptables -t nat -F
    iptables -t nat -X
    ip6tables -t filter -P INPUT ACCEPT
    ip6tables -t filter -P FORWARD ACCEPT
    ip6tables -t filter -P OUTPUT ACCEPT
    ip6tables -t mangle -P PREROUTING ACCEPT
    ip6tables -t mangle -P INPUT ACCEPT
    ip6tables -t mangle -P FORWARD ACCEPT
    ip6tables -t mangle -P OUTPUT ACCEPT
    ip6tables -t mangle -P POSTROUTING ACCEPT
    ip6tables -t nat -P PREROUTING ACCEPT
    ip6tables -t nat -P INPUT ACCEPT
    ip6tables -t nat -P OUTPUT ACCEPT
    ip6tables -t nat -P POSTROUTING ACCEPT
    ip6tables -t filter -F
    ip6tables -t filter -X
    ip6tables -t mangle -F
    ip6tables -t mangle -X
    ip6tables -t nat -F
    ip6tables -t nat -X
    test -d /sys/class/net/eth0 && ip addr add 192.168.99.201/24 dev eth0
    test -d /sys/class/net/eth1 && ip addr add 192.168.99.201/24 dev eth1
    ip -d addr show
    dhclient -v eth2
:: [ 23:48:54 ] :: [   LOG    ] :: dhclient -v eth2
:: [ 23:48:54 ] :: [   LOG    ] :: Internet Systems Consortium DHCP Client 4.2.5
:: [ 23:48:54 ] :: [   LOG    ] :: Copyright 2004-2013 Internet Systems Consortium.
:: [ 23:48:54 ] :: [   LOG    ] :: All rights reserved.
:: [ 23:48:54 ] :: [   LOG    ] :: For info, please visit https://www.isc.org/software/dhcp/
:: [ 23:48:54 ] :: [   LOG    ] :: Listening on LPF/eth2/52:54:00:bb:63:7a
:: [ 23:48:54 ] :: [   LOG    ] :: Sending on LPF/eth2/52:54:00:bb:63:7a
:: [ 23:48:54 ] :: [   LOG    ] :: Sending on Socket/fallback
:: [ 23:48:54 ] :: [   LOG    ] :: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 3 (xid=0x3d008d66)
:: [ 23:48:54 ] :: [   LOG    ] :: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 5 (xid=0x3d008d66)
:: [ 23:48:54 ] :: [   LOG    ] :: DHCPREQUEST on eth2 to 255.255.255.255 port 67 (xid=0x3d008d66)
:: [ 23:48:54 ] :: [   LOG    ] :: DHCPOFFER from 192.168.122.1
:: [ 23:48:54 ] :: [   LOG    ] :: DHCPACK from 192.168.122.1 (xid=0x3d008d66)
:: [ 23:48:54 ] :: [   LOG    ] :: bound to 192.168.122.137 -- renewal in 1593 seconds.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   ovs_vf_dpdk_bond_functional_test active-backup ovs dpdk bond ping check
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

SYNC_NC: sync_wait CLIENT OVS_DPDK_BOND_PING_CHECK_READY
SYNC_NC: waiting "dell-per740-10.rhts.eng.pek2.redhat.com"
SYNC_NC: got "OVS_DPDK_BOND_PING_CHECK_READY" from dell-per740-10.rhts.eng.pek2.redhat.com
:: [ 23:49:03 ] :: [   LOG    ] :: :: [ BEGIN ] :: Running 'connection_ping_check ('g1', ' ping 192.168.99.200 -c 100 ') {}'
:: [ 23:50:43 ] :: [   LOG    ] :: ping 192.168.99.200 -c 100
:: [ 23:50:43 ] :: [   LOG    ] :: PING 192.168.99.200 (192.168.99.200) 56(84) bytes of data.
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=1 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=2 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=3 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=4 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=5 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=6 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=7 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=8 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=9 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=10 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=11 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=12 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=13 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=14 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=15 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=16 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=17 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=18 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=19 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=20 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=21 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=22 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=23 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=24 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=25 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=26 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=27 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=28 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=29 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=30 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=31 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=32 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=33 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=34 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=35 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=36 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=37 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=38 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=39 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=40 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=41 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=42 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=43 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=44 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=45 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=46 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=47 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=48 Destination Host Unreachable
:: [ 23:50:43 ] :: [   LOG    ] :: From 192.168.99.201 icmp_seq=49 Destination Host Unreachable


Client side 

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   ovs_vf_dpdk_bond_functional_test active-backup SETUP WITH MTU 1500
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo 1 > /sys/class/net/p3p1/device/sriov_numvfs
echo 1 > /sys/class/net/p3p2/device/sriov_numvfs
ip li set p3p1 up
ip li set p3p1 vf 0 spoofchk off trust on
ip li set p3p2 up
ip li set p3p2 vf 0 spoofchk off trust on
ip link set p3p1_0 mtu 1500
ip link set p3p2_0 mtu 1500
ip link set p3p1_0 up
ip link set p3p2_0 up
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   ovs_vf_dpdk_bond_functional_test active-backup bonding nic
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: [ 23:42:33 ] :: [   LOG    ] :: :: [ BEGIN ] :: Running 'bonding_nic ('2a:1e:4d:d8:e3:82', '16:c4:58:43:69:ae', 'active-backup', 1500) {}'
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  modprobe openvswitch
:: [ 23:42:33 ] :: [   LOG    ] ::  systemctl stop openvswitch
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 3
:: [ 23:42:33 ] :: [   LOG    ] ::  systemctl start openvswitch
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 3
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl --if-exists del-br ovsbr0
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 5
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl set Open_vSwitch . other_config={}
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=4096,4096
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=0x555555555554
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl --no-wait set Open_vSwitch . other_config:vhost-iommu-support=true
:: [ 23:42:33 ] :: [   LOG    ] ::  systemctl restart openvswitch
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 3
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl add-bond ovsbr0 dpdkbond dpdk0 dpdk1 bond_mode=active-backup -- set Interface dpdk0 type=dpdk options:dpdk-devargs=class=eth,mac=2a:1e:4d:d8:e3:82 mtu_request=1500 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=class=eth,mac=16:c4:58:43:69:ae mtu_request=1500
:: [ 23:42:33 ] :: [   LOG    ] ::  # set dpdkbond port with vlan mode trunk and permit all vlans
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl set Port dpdkbond vlan_mode=trunk
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl list Port dpdkbond
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  # set updelay and downdelay for test
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl set Port dpdkbond bond_updelay=5
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl set Port dpdkbond bond_downdelay=5
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl list Port dpdkbond
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  # ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuser
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuserclient options:vhost-server-path=/tmp/vhost0
:: [ 23:42:33 ] :: [   LOG    ] ::  # chmod 777 /var/run/openvswitch/vhost0
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-ofctl del-flows ovsbr0
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-ofctl add-flow ovsbr0 actions=NORMAL
:: [ 23:42:33 ] :: [   LOG    ] :: 
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 2
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-vsctl show
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 5
:: [ 23:42:33 ] :: [   LOG    ] ::  
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-appctl bond/show
:: [ 23:42:33 ] :: [   LOG    ] ::  sleep 30
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-appctl bond/show
:: [ 23:42:33 ] :: [   LOG    ] ::  ovs-appctl lacp/show
:: [ 23:42:33 ] :: [   LOG    ] ::  
:: [ 23:42:33 ] :: [  BEGIN   ] :: Running 'modprobe openvswitch'
:: [ 23:42:33 ] :: [   PASS   ] :: Command 'modprobe openvswitch' (Expected 0, got 0)
:: [ 23:42:33 ] :: [  BEGIN   ] :: Running 'systemctl stop openvswitch'
:: [ 23:42:33 ] :: [   PASS   ] :: Command 'systemctl stop openvswitch' (Expected 0, got 0)
:: [ 23:42:33 ] :: [  BEGIN   ] :: Running 'sleep 3'
:: [ 23:42:36 ] :: [   PASS   ] :: Command 'sleep 3' (Expected 0, got 0)
:: [ 23:42:36 ] :: [  BEGIN   ] :: Running 'systemctl start openvswitch'
:: [ 23:42:37 ] :: [   PASS   ] :: Command 'systemctl start openvswitch' (Expected 0, got 0)
:: [ 23:42:37 ] :: [  BEGIN   ] :: Running 'sleep 3'
:: [ 23:42:40 ] :: [   PASS   ] :: Command 'sleep 3' (Expected 0, got 0)
:: [ 23:42:40 ] :: [  BEGIN   ] :: Running 'ovs-vsctl --if-exists del-br ovsbr0'
:: [ 23:42:40 ] :: [   PASS   ] :: Command 'ovs-vsctl --if-exists del-br ovsbr0' (Expected 0, got 0)
:: [ 23:42:40 ] :: [  BEGIN   ] :: Running 'sleep 5'
:: [ 23:42:45 ] :: [   PASS   ] :: Command 'sleep 5' (Expected 0, got 0)
:: [ 23:42:45 ] :: [  BEGIN   ] :: Running 'ovs-vsctl set Open_vSwitch . other_config={}'
:: [ 23:42:45 ] :: [   PASS   ] :: Command 'ovs-vsctl set Open_vSwitch . other_config={}' (Expected 0, got 0)
:: [ 23:42:45 ] :: [  BEGIN   ] :: Running 'ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true'
:: [ 23:42:45 ] :: [   PASS   ] :: Command 'ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true' (Expected 0, got 0)
:: [ 23:42:45 ] :: [  BEGIN   ] :: Running 'ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=4096,4096'
:: [ 23:42:45 ] :: [   PASS   ] :: Command 'ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=4096,4096' (Expected 0, got 0)
:: [ 23:42:45 ] :: [  BEGIN   ] :: Running 'ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=0x555555555554'
:: [ 23:42:56 ] :: [   PASS   ] :: Command 'ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=0x555555555554' (Expected 0, got 0)
:: [ 23:42:56 ] :: [  BEGIN   ] :: Running 'ovs-vsctl --no-wait set Open_vSwitch . other_config:vhost-iommu-support=true'
:: [ 23:42:56 ] :: [   PASS   ] :: Command 'ovs-vsctl --no-wait set Open_vSwitch . other_config:vhost-iommu-support=true' (Expected 0, got 0)
:: [ 23:42:56 ] :: [  BEGIN   ] :: Running 'systemctl restart openvswitch'
:: [ 23:43:07 ] :: [   PASS   ] :: Command 'systemctl restart openvswitch' (Expected 0, got 0)
:: [ 23:43:07 ] :: [  BEGIN   ] :: Running 'sleep 3'
:: [ 23:43:10 ] :: [   PASS   ] :: Command 'sleep 3' (Expected 0, got 0)
:: [ 23:43:10 ] :: [  BEGIN   ] :: Running 'ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev'
:: [ 23:43:11 ] :: [   PASS   ] :: Command 'ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev' (Expected 0, got 0)
:: [ 23:43:11 ] :: [  BEGIN   ] :: Running 'ovs-vsctl add-bond ovsbr0 dpdkbond dpdk0 dpdk1 bond_mode=active-backup -- set Interface dpdk0 type=dpdk options:dpdk-devargs=class=eth,mac=2a:1e:4d:d8:e3:82 mtu_request=1500 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=class=eth,mac=16:c4:58:43:69:ae mtu_request=1500'
:: [ 23:43:11 ] :: [   PASS   ] :: Command 'ovs-vsctl add-bond ovsbr0 dpdkbond dpdk0 dpdk1 bond_mode=active-backup -- set Interface dpdk0 type=dpdk options:dpdk-devargs=class=eth,mac=2a:1e:4d:d8:e3:82 mtu_request=1500 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=class=eth,mac=16:c4:58:43:69:ae mtu_request=1500' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running '# set dpdkbond port with vlan mode trunk and permit all vlans'
:: [ 23:43:12 ] :: [   PASS   ] :: Command '# set dpdkbond port with vlan mode trunk and permit all vlans' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running 'ovs-vsctl set Port dpdkbond vlan_mode=trunk'
:: [ 23:43:12 ] :: [   PASS   ] :: Command 'ovs-vsctl set Port dpdkbond vlan_mode=trunk' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running 'ovs-vsctl list Port dpdkbond'
_uuid               : 9e179ea4-88b1-4d15-aa95-0285a3f95b6f
bond_active_slave   : "2a:1e:4d:d8:e3:82"
bond_downdelay      : 0
bond_fake_iface     : false
bond_mode           : active-backup
bond_updelay        : 0
cvlans              : []
external_ids        : {}
fake_bridge         : false
interfaces          : [66fde298-8d13-4fd5-9ff4-05ec2855c2e2, a5b5546d-7204-4fba-9059-ccb90f915ea0]
lacp                : []
mac                 : []
name                : dpdkbond
other_config        : {}
protected           : false
qos                 : []
rstp_statistics     : {}
rstp_status         : {}
statistics          : {}
status              : {}
tag                 : []
trunks              : []
vlan_mode           : trunk
:: [ 23:43:12 ] :: [   PASS   ] :: Command 'ovs-vsctl list Port dpdkbond' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running '# set updelay and downdelay for test'
:: [ 23:43:12 ] :: [   PASS   ] :: Command '# set updelay and downdelay for test' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running 'ovs-vsctl set Port dpdkbond bond_updelay=5'
:: [ 23:43:12 ] :: [   PASS   ] :: Command 'ovs-vsctl set Port dpdkbond bond_updelay=5' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running 'ovs-vsctl set Port dpdkbond bond_downdelay=5'
:: [ 23:43:12 ] :: [   PASS   ] :: Command 'ovs-vsctl set Port dpdkbond bond_downdelay=5' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running 'ovs-vsctl list Port dpdkbond'
_uuid               : 9e179ea4-88b1-4d15-aa95-0285a3f95b6f
bond_active_slave   : "2a:1e:4d:d8:e3:82"
bond_downdelay      : 5
bond_fake_iface     : false
bond_mode           : active-backup
bond_updelay        : 5
cvlans              : []
external_ids        : {}
fake_bridge         : false
interfaces          : [66fde298-8d13-4fd5-9ff4-05ec2855c2e2, a5b5546d-7204-4fba-9059-ccb90f915ea0]
lacp                : []
mac                 : []
name                : dpdkbond
other_config        : {}
protected           : false
qos                 : []
rstp_statistics     : {}
rstp_status         : {}
statistics          : {}
status              : {}
tag                 : []
trunks              : []
vlan_mode           : trunk
:: [ 23:43:12 ] :: [   PASS   ] :: Command 'ovs-vsctl list Port dpdkbond' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running '# ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuser'
:: [ 23:43:12 ] :: [   PASS   ] :: Command '# ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuser' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running 'ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuserclient options:vhost-server-path=/tmp/vhost0'
:: [ 23:43:12 ] :: [   PASS   ] :: Command 'ovs-vsctl add-port ovsbr0 vhost0 -- set interface vhost0 type=dpdkvhostuserclient options:vhost-server-path=/tmp/vhost0' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running '# chmod 777 /var/run/openvswitch/vhost0'
:: [ 23:43:12 ] :: [   PASS   ] :: Command '# chmod 777 /var/run/openvswitch/vhost0' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running 'ovs-ofctl del-flows ovsbr0'
:: [ 23:43:12 ] :: [   PASS   ] :: Command 'ovs-ofctl del-flows ovsbr0' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running 'ovs-ofctl add-flow ovsbr0 actions=NORMAL'
:: [ 23:43:12 ] :: [   PASS   ] :: Command 'ovs-ofctl add-flow ovsbr0 actions=NORMAL' (Expected 0, got 0)
:: [ 23:43:12 ] :: [  BEGIN   ] :: Running 'sleep 2'
:: [ 23:43:14 ] :: [   PASS   ] :: Command 'sleep 2' (Expected 0, got 0)
:: [ 23:43:14 ] :: [  BEGIN   ] :: Running 'ovs-vsctl show'
fe96aa35-533e-4121-9d86-6c73dcb6c2c4
    Bridge "ovsbr0"
        Port "ovsbr0"
            Interface "ovsbr0"
                type: internal
        Port dpdkbond
            Interface "dpdk1"
                type: dpdk
                options: {dpdk-devargs="class=eth,mac=16:c4:58:43:69:ae"}
            Interface "dpdk0"
                type: dpdk
                options: {dpdk-devargs="class=eth,mac=2a:1e:4d:d8:e3:82"}
        Port "vhost0"
            Interface "vhost0"
                type: dpdkvhostuserclient
                options: {vhost-server-path="/tmp/vhost0"}
    ovs_version: "2.9.0"
:: [ 23:43:14 ] :: [   PASS   ] :: Command 'ovs-vsctl show' (Expected 0, got 0)
:: [ 23:43:14 ] :: [  BEGIN   ] :: Running 'sleep 5'
:: [ 23:43:19 ] :: [   PASS   ] :: Command 'sleep 5' (Expected 0, got 0)
:: [ 23:43:19 ] :: [  BEGIN   ] :: Running 'ovs-appctl bond/show'
---- dpdkbond ----
bond_mode: active-backup
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
updelay: 5 ms
downdelay: 5 ms
lacp_status: off
lacp_fallback_ab: false
active slave mac: 2a:1e:4d:d8:e3:82(dpdk0)

slave dpdk0: enabled
	active slave
	may_enable: true

slave dpdk1: enabled
	may_enable: true

:: [ 23:43:19 ] :: [   PASS   ] :: Command 'ovs-appctl bond/show' (Expected 0, got 0)
:: [ 23:43:19 ] :: [  BEGIN   ] :: Running 'sleep 30'
:: [ 23:43:49 ] :: [   PASS   ] :: Command 'sleep 30' (Expected 0, got 0)
:: [ 23:43:49 ] :: [  BEGIN   ] :: Running 'ovs-appctl bond/show'
---- dpdkbond ----
bond_mode: active-backup
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
updelay: 5 ms
downdelay: 5 ms
lacp_status: off
lacp_fallback_ab: false
active slave mac: 2a:1e:4d:d8:e3:82(dpdk0)

slave dpdk0: enabled
	active slave
	may_enable: true

slave dpdk1: enabled
	may_enable: true

:: [ 23:43:49 ] :: [   PASS   ] :: Command 'ovs-appctl bond/show' (Expected 0, got 0)
:: [ 23:43:49 ] :: [  BEGIN   ] :: Running 'ovs-appctl lacp/show'
:: [ 23:43:49 ] :: [   PASS   ] :: Command 'ovs-appctl lacp/show' (Expected 0, got 0)
:: [ 23:43:49 ] :: [   LOG    ] :: :: [ END ] :: Running 'bonding_nic ('2a:1e:4d:d8:e3:82', '16:c4:58:43:69:ae', 'active-backup', 1500) {}' RETURN None
SYNC_NC: sync_wait SERVER LACP_SET_OK
SYNC_NC: waiting "dell-per730-18.rhts.eng.pek2.redhat.com"
SYNC_NC: got "LACP_SET_OK" from dell-per730-18.rhts.eng.pek2.redhat.com
---- dpdkbond ----
bond_mode: active-backup
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
updelay: 5 ms
downdelay: 5 ms
lacp_status: off
lacp_fallback_ab: false
active slave mac: 2a:1e:4d:d8:e3:82(dpdk0)

slave dpdk0: enabled
	active slave
	may_enable: true

slave dpdk1: enabled
	may_enable: true

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   Duration: 151s
::   Assertions: 35 good, 0 bad
::   RESULT: PASS (ovs_vf_dpdk_bond_functional_test active-backup bonding nic)


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   ovs_vf_dpdk_bond_functional_test active-backup config and start vm
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: [ 23:46:51 ] :: [  BEGIN   ] :: Running 'virsh define /mnt/tests/kernel/networking/fd_nic_partition/bond/g1.xml'
Domain g1 defined from /mnt/tests/kernel/networking/fd_nic_partition/bond/g1.xml
:: [ 23:47:21 ] :: [  BEGIN   ] :: Running 'virsh start g1'
Domain g1 started
:: [ 23:47:27 ] :: [   PASS   ] :: Command 'virsh start g1' (Expected 0, got 0)
:: [ 23:47:27 ] :: [  BEGIN   ] :: Running 'sleep 60'
:: [ 23:48:27 ] :: [   PASS   ] :: Command 'sleep 60' (Expected 0, got 0)
:: [ 23:48:27 ] :: [  BEGIN   ] :: Running 'virsh dumpxml g1'
<domain type='kvm' id='3'>
  <name>g1</name>
  <uuid>37425e76-af6a-44a6-aba0-73434afe34c1</uuid>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <hugepages>
      <page size='1048576' unit='KiB'/>
    </hugepages>
    <access mode='shared'/>
  </memoryBacking>
  <vcpu placement='static'>3</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='4'/>
    <vcpupin vcpu='2' cpuset='6'/>
    <emulatorpin cpuset='1'/>
  </cputune>
  <numatune>
    <memory mode='strict' nodeset='0'/>
  </numatune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-rhel7.5.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pmu state='off'/>
    <vmport state='off'/>
    <ioapic driver='qemu'/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <feature policy='require' name='tsc-deadline'/>
    <numa>
      <cell id='0' cpus='0-2' memory='8388608' unit='KiB' memAccess='shared'/>
    </numa>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/root/g1.qcow2'/>
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='none'>
      <alias name='usb'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x8'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x9'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xa'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xb'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <interface type='vhostuser'>
      <mac address='52:54:00:11:8f:eb'/>
      <source type='unix' path='/tmp/vhost0' mode='server'/>
      <target dev='vhost0'/>
      <model type='virtio'/>
      <driver name='vhost'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </interface>
    <interface type='bridge'>
      <mac address='52:54:00:bb:63:7b'/>
      <source bridge='virbr0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net1'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/2'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <serial type='pty'>
      <source path='/dev/pts/3'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial1'/>
    </serial>
    <console type='pty' tty='/dev/pts/2'>
      <source path='/dev/pts/2'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='cirrus' vram='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </memballoon>
    <iommu model='intel'>
      <driver intremap='on' caching_mode='on' iotlb='on'/>
    </iommu>
  </devices>
  <seclabel type='dynamic' model='selinux' relabel='yes'>
    <label>system_u:system_r:svirt_t:s0:c704,c829</label>
    <imagelabel>system_u:object_r:svirt_image_t:s0:c704,c829</imagelabel>
  </seclabel>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+107:+1001</label>
    <imagelabel>+107:+1001</imagelabel>
  </seclabel>
</domain>

:: [ 23:48:27 ] :: [   PASS   ] :: Command 'virsh dumpxml g1' (Expected 0, got 0)
:: [ 23:48:27 ] :: [   LOG    ] :: :: [ BEGIN ] :: Running 'configure_guest ('g1', '192.168.99.200') {}'
:: [ 23:48:55 ] :: [   LOG    ] :: test -d /sys/class/net/eth0 && nmcli dev set eth0 managed no                   o
:: [ 23:48:55 ] :: [   LOG    ] :: test -d /sys/class/net/eth1 && nmcli dev set eth1 managed no                   o
:: [ 23:48:55 ] :: [   LOG    ] :: systemctl stop firewalld
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t filter -P INPUT ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t filter -P FORWARD ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t filter -P OUTPUT ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t mangle -P PREROUTING ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t mangle -P INPUT ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t mangle -P FORWARD ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t mangle -P OUTPUT ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t mangle -P POSTROUTING ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t nat -P PREROUTING ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t nat -P INPUT ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t nat -P OUTPUT ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t nat -P POSTROUTING ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t filter -F
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t filter -X
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t mangle -F
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t mangle -X
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t nat -F
:: [ 23:48:55 ] :: [   LOG    ] :: iptables -t nat -X
:: [ 23:48:55 ] :: [   LOG    ] :: ip6tables -t filter -P INPUT ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: ip6tables -t filter -P FORWARD ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: ip6tables -t filter -P OUTPUT ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: ip6tables -t mangle -P PREROUTING ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: ip6tables -t mangle -P INPUT ACCEPT
:: [ 23:48:55 ] :: [   LOG    ] :: ip6tables -t mangle -P FORWARD ACCEPT
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t mangle -P OUTPUT ACCEPT
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t mangle -P POSTROUTING ACCEPT
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t nat -P PREROUTING ACCEPT
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t nat -P INPUT ACCEPT
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t nat -P OUTPUT ACCEPT
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t nat -P POSTROUTING ACCEPT
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t filter -F
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t filter -X
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t mangle -F
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t mangle -X
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t nat -F
:: [ 23:48:56 ] :: [   LOG    ] :: ip6tables -t nat -X
:: [ 23:48:56 ] :: [   LOG    ] :: dhclient -v eth2
:: [ 23:48:56 ] :: [   LOG    ] :: Internet Systems Consortium DHCP Client 4.2.5
:: [ 23:48:56 ] :: [   LOG    ] :: Copyright 2004-2013 Internet Systems Consortium.
:: [ 23:48:56 ] :: [   LOG    ] :: All rights reserved.
:: [ 23:48:56 ] :: [   LOG    ] :: For info, please visit https://www.isc.org/software/dhcp/
:: [ 23:48:56 ] :: [   LOG    ] :: Listening on LPF/eth2/52:54:00:bb:63:7b
:: [ 23:48:56 ] :: [   LOG    ] :: Sending on LPF/eth2/52:54:00:bb:63:7b
:: [ 23:48:56 ] :: [   LOG    ] :: Sending on Socket/fallback
:: [ 23:48:56 ] :: [   LOG    ] :: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 8 (xid=0x2959d103)
:: [ 23:48:56 ] :: [   LOG    ] :: DHCPREQUEST on eth2 to 255.255.255.255 port 67 (xid=0x2959d103)
:: [ 23:48:56 ] :: [   LOG    ] :: DHCPOFFER from 192.168.122.1
:: [ 23:48:56 ] :: [   LOG    ] :: DHCPACK from 192.168.122.1 (xid=0x2959d103)
:: [ 23:48:56 ] :: [   LOG    ] :: bound to 192.168.122.138 -- renewal in 1523 seconds.
:: [ 23:48:56 ] :: [   LOG    ] :: test -d /sys/class/net/eth0 && ip addr add 192.168.99.200/24 
:: [ 23:48:56 ] :: [   LOG    ] ::  dev eth0
:: [ 23:48:56 ] :: [   LOG    ] :: test -d /sys/class/net/eth1 && ip addr add 192.168.99.200/24 
:: [ 23:48:56 ] :: [   LOG    ] ::  dev eth1
:: [ 23:48:56 ] :: [   LOG    ] :: ip -d addr show
:: [ 23:48:56 ] :: [   LOG    ] :: 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
:: [ 23:48:56 ] :: [   LOG    ] ::  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 
:: [ 23:48:56 ] :: [   LOG    ] ::  inet 127.0.0.1/8 scope host lo
:: [ 23:48:56 ] :: [   LOG    ] ::  valid_lft forever preferred_lft forever
:: [ 23:48:56 ] :: [   LOG    ] ::  inet6 ::1/128 scope host 
:: [ 23:48:56 ] :: [   LOG    ] ::  valid_lft forever preferred_lft forever
:: [ 23:48:56 ] :: [   LOG    ] :: 2: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
:: [ 23:48:56 ] :: [   LOG    ] ::  link/ether 52:54:00:bb:63:7b brd ff:ff:ff:ff:ff:ff promiscuity 0 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 
:: [ 23:48:56 ] :: [   LOG    ] ::  inet 192.168.122.138/24 brd 192.168.122.255 scope global dynamic eth2
:: [ 23:48:56 ] :: [   LOG    ] ::  valid_lft 3599sec preferred_lft 3599sec
:: [ 23:48:56 ] :: [   LOG    ] :: 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
:: [ 23:48:56 ] :: [   LOG    ] ::  link/ether 52:54:00:11:8f:eb brd ff:ff:ff:ff:ff:ff promiscuity 0 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 
:: [ 23:48:56 ] :: [   LOG    ] ::  inet 192.168.99.200/24 scope global eth1
:: [ 23:48:56 ] :: [   LOG    ] ::  valid_lft forever preferred_lft forever
:: [ 23:48:56 ] :: [   LOG    ] :: 
:: [ 23:48:56 ] :: [   LOG    ] :: :: [ END ] :: Running 'configure_guest ('g1', '192.168.99.200') {}' RETURN None


1.
2.
3.

Actual results:


Expected results:


Additional info: