On Fri, 2013-09-06 at 22:26 +0100, Dan Kenigsberg wrote:
On Fri, Sep 06, 2013 at 06:23:42PM +0200, René Koch (ovido) wrote:
> Hi,
> 
> I want to start the discussion about Solaris support on oVirt again, as
> there was no solution for it yet.
> 
> On my oVirt 3.2.2 environment I installed Solaris 11 U1 with the
> following specs:
> * Operating System: Other
> * nic1: rtl8139
> * Disk1: IDE (Thin Provision)
> * Host: CentOS 6.4 with qemu-kvm-0.12.1.2-2.355.0.1.el6.centos.7.x86_64
> 
> These are the same settings as on my RHEL 6.4 KVM host (except I can
> choose Solaris 10 as OS in virt-manager), which has KVM version:
> qemu-kvm-rhev-0.12.1.2-2.295.el6_3.2.x86_64 (I wanted to use this host
> as a RHEV host, so the qemu-kvm-rhev package is installed in case you
> wounder)...
> 
> What's working:
> * OS installation on IDE disk
> * Bringing up network interface
> 
> What's not working on oVirt:
> * Network connections  - on RHEL 6.4 with plain libvirt/kvm this is
> working...
> 
> 
> I can see the mac address on my CentOS host, but can't ping the Solaris
> vm:
> 
> # brctl showmacs ovirtmgmt | egrep '00:99:4a:00:64:83|port'
> port no	mac addr		is local?	ageing timer
>   2	00:99:4a:00:64:83	no		  10.72
> 
> # arp -an | grep '00:99:4a:00:64:83'
> ? (10.0.100.123) at 00:99:4a:00:64:83 [ether] on ovirtmgmt
> 
> When using tcpdump on the vnet interface which belongs to the Solaris vm
> (ip 10.0.100.123) I can see ARP requests from the vm for ip address of
> my CentOS host (10.0.100.42) but no response to it. Same when pinging
> other ips in this network:
> 
> # tcpdump -n -i vnet2
> tcpdump: WARNING: vnet2: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol
> decode
> listening on vnet2, link-type EN10MB (Ethernet), capture size 65535
> bytes
> 18:15:35.987868 ARP, Request who-has 10.0.100.42 (Broadcast) tell
> 10.0.100.123, length 46
> 18:15:36.487399 ARP, Request who-has 10.0.100.42 (Broadcast) tell
> 10.0.100.123, length 46
> 18:15:36.987536 ARP, Request who-has 10.0.100.42 (Broadcast) tell
> 10.0.100.123, length 46
> 
> I also compared the qemu-kvm process list on the KVM with the oVirt
> machine and can't see much differences except that oVirt has more
> information like smbios....
> oVirt host:
> /usr/libexec/qemu-kvm
> <snip>
>  -netdev tap,fd=27,id=hostnet0
>  -device
> rtl8139,netdev=hostnet0,id=net0,mac=00:99:4a:00:64:83,bus=pci.0,addr=0x3
> 
> RHEL KVM host:
> /usr/libexec/qemu-kvm
> <snip>
>  -netdev tap,fd=32,id=hostnet0
>  -device
> rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:51:c2:97,bus=pci.0,addr=0x3
> 
> Any suggestions on how to troubleshoot / get Solaris networking running
> is welcome.
> Changing the interface to e1000 doesn't work either.


Thanks a lot for your answer and sorry for my late response - I was sick leaving last week.


- Would you share the output of your `brctl show`?

# brctl show
bridge name bridge id STP enabled interfaces
;vdsmdummy; 8000.000000000000 no
dmz 8000.0025901ad140 no eth0.200
ovirtmgmt 8000.0025901ad140 no eth0.100
vnet1
vnet2
setup 8000.0025901ad140 no eth0.500
test2 8000.0025901ad140 no eth0.602
vnet0

vnet1 is a Debian 7 vm which has a perfectly working network.
vnet2 is the Solaris 11 vm which can't communicate over the network.

- Particulalry, does the host device with 10.0.100.42 sit on the same
  bridge as your Solaris VM?

10.0.100.42 is the ip of the oVirt host and it's ip is configured on this bridge (and reachable from the Debian 7 vm):

# ip a | grep ovirt
5: ovirtmgmt: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    inet 10.0.100.42/24 brd 10.0.100.255 scope global ovirtmgmt

- Do you see the who-has packet when sniffing the bridge device?


Yes, I can see them:
12:24:16.311218 ARP, Request who-has 10.0.100.42 (Broadcast) tell 10.0.100.123, length 46
12:24:16.311246 ARP, Reply 10.0.100.42 is-at 00:25:90:1a:d1:40, length 28

I can also see the MAC of the Solaris vm in arp cache of oVirt host:
# arp -an
? (10.0.100.123) at 00:99:4a:00:64:83 [ether] on ovirtmgmt

But I can't see the MAC address of oVirt host (10.0.100.42) in arp table of the Solaris 11 vm. To be more clear: I can't see any MAC address in ARP table of Solaris vm except the MAC of the vm itself.

- Have yout tried guest-to-guest communication (over the same bridge)?

I can communicate from the Debian 7 vm to all hosts in my network, but I can't reach the Solaris 11 vm.
The network of the oVirt setup is working fine for Windows and various Linux guests, but not for Solaris.

Btw, excatly same behavior on RHEV 3.2 with Solaris 10/11 - Windows and Linux is working as expected, but no networking for Solaris guests...


Dan.