Bug 672657

Summary: secondary interface eth1 using (interface type=ethernet) not working on guests
Product: [Fedora] Fedora Reporter: Muzi <muzammel.linux>
Component: libvirtAssignee: Daniel Veillard <veillard>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 13CC: aquini, berrange, clalance, crobinso, itamar, jforbes, veillard, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-12 09:32:45 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Muzi 2011-01-25 14:49:15 EST
Description of problem:
I used two interfaces for child vm eth0 and eth1 using interface type = ethernet, eth0 is working but eth1 is not working.

Version-Release number of selected component (if applicable): 0.8.2-1

How reproducible:

Steps to Reproduce:
1. Start child VM for 2 interfaces supporting using interface type = ethernet

-net nic,macaddr=xxx:fe,vlan=0,name=nic0 -net
tap,ifname=tap1,script=/KVM/vm-tap1.sh,vlan=0,name=tap1 -net
nic,macaddr=xxx,vlan=1,name=nic1 -net

2. Above script create tap interface and add desire ip route automatically, i mention the detail of script in Additional info section.

3. On child up the eth1 and ping from kvm host , its not pinging/responding. 
Actual results:

when try to ping eth1 from kvm host, its gives destination unreachable, as eth0 is pinging . tcpdump on eth1 guest and arp results on kvm host shows below.

tcpdump on eth1

17:05:55.213100 ARP, Request who-has tell x.x.x.x, length 46
17:05:56.213493 ARP, Request who-has tell x.x.x.xlength 46

Arp -e results on kvm host

Address HWtype HWaddress Flags Mask Iface
x.x.x.x ether 52:54:00:56:40:56 C tap1 --> ok for eth0
x.x.x.x (incomplete) tap2 --> problem for eth1

Expected results:

eth1 should be ping and accessible from kvm host and from outer world.

Additional info:

Child VM OS = Fedora-13 also

Above Network script use below 


IP= x.x.x.x # (ip of eth1)
SIP=x.x.x.x # (ip of kvm host)

tap=`ifconfig |grep $TAP`                 
if [ "$tap" == '' ] ;then                 
tap=`tunctl -b -u root -t $TAP`           
ifconfig $TAP $SIP netmask up
echo 1 > /proc/sys/net/ipv4/conf/$TAP/proxy_arp
route=`ip route show |grep $IP`                
if [ "$route" == '' ] ;then                    
ip route add $IP/32 dev $TAP                   

Same above all is working for eth0 , but eth1 is not working/responding. I sure if same is working for eth0 then it must be working for eth1, but it cant work, after FC11. Kindly suggest please, we are very badly suffer this behaviour.
Comment 1 Muzi 2011-01-27 12:12:29 EST
Any suggestions please ? , we are badly suffer from this problem.

Comment 2 Muzi 2011-01-27 13:49:56 EST
I think i have now reach near to the problem, eth1 is basically receiving packets but not transmit data, i think reason is eth1 shares both an interrupt and memory access address with usb device,

cat /proc/interrupts
   0:        219   IO-APIC-edge      timer
   1:          6   IO-APIC-edge      i8042
   4:         88   IO-APIC-edge      serial
   8:          1   IO-APIC-edge      rtc0
   9:          0   IO-APIC-fasteoi   acpi
  10:   32103630   IO-APIC-fasteoi   eth0
  11:     330595   IO-APIC-fasteoi   uhci_hcd:usb1, eth1

As see in 11: , how can i fix or change interrupts for eth1 on child guest ? kindly suggest please. Can i try to disable usb device ?