Thursday, July 17, 2008

Install CentOS 5.X DomU at SNV93 Dom0 on boards with integrated NIC RTL8110SC/RTL8111B

ASUS P5K Premium/WIFI, P5K3 Deluxe,P5K Deluxe P5E3 Deluxe,Abit IP35 Pro,Gigabyte GA-P35-DQ6,MSI P35 Platinum have integrated on the board Realtek's NICs RTL8110SC/RTL8111B .RTL8110SC/RTL8111B (vs Marvell 88E8056 first NIC integrated on ASUS boards) are GLDv3 NICs and may be used for Solaris xVM PV and HVM DomUs creation at Solaris (Nevada) Dom0.
However, disabling checksum offloading on Linux DomU netfront driver (eth0) is required to get network on DomU.
Install CentOS 5.X DomU via virt-install as usual:-

# dladm show-dev
rtls0 unknown 0Mb unknown
rge0 up 100Mb full

# svccfg -s xvm/xend setprop config/default-nic="rge0"
# svcadm refresh xvm/xend
# svcadm restart xvm/xend

# lofiadm -a /export/home/isos/rhel.iso
# mount -o ro -F hsfs /dev/lofi/1 /mnt
# share -F nfs /mnt
# virt-install -n RHEL5PV -p -r 1024 --nographics \
-f /dev/zvol/dsk/nevada/disk1 -l nfs:

Successfully installed in dhcp mode CentOS 5.X DomU appears to be unable to communicate with other boxes on the LAN and internet, except SNV93 Dom0, due to failure checksum offloading on Realtek 8110SC/RTL8111B.
Attempts of ssh connection from CentOS 5.1 DomU at SNV93 Dom0 (NIC RTL8110SC)
# ssh user1@
hangs ..
TCPDUMP running on remote box (
# tcpdump -s 1600 -vv

One entry generates for each ssh connection attempt.
17:12:43.058821 IP (tos 0x0, ttl 64, id 19771, offset 0, flags [DF], proto TCP (6), length 72)
> P, cksum 0x83e6 (incorrect (-> 0x9a09), 1169627751:1169627771(20) ack 423312198 win 46
17:16:27.515427 IP (tos 0x0, ttl 64, id 19773, offset 0, flags [DF], proto TCP (6), length 72)
> P, cksum 0x83e6 (incorrect (-> 0xbed7), 1169627751:1169627771(20) ack 423312198 win 46

The solution is to disable checksum offloading on eth0 at Linux DomU.
Package ethtools has to be installed at DomU.
Following string has been added to /etc/rc.d/rc.local:-

/usr/local/sbin/ethtool -K eth0 tx off

Setup VNC on DomU:-

# mkdir .vnc
# cd .vnc
# vncserver :1
Vnc password will be requested by the last command.
Edit ~/.vnc/xstartup and uncomment first two lines.
Make this file as follows bellow:
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
Make following changes to /etc/sysconfig/vncservers file:-
VNCSERVERARGS[1]="-geometry 1024x768"
Then run:-
# chkconfig vncserver on
# reboot

Setup F8 DomU at SNV93 Dom0

1.Login as root to DomU
2.Disable checksum offloading:-
# /usr/local/sbin/ethtool -K eth0 tx off
3.Install vnserver:-
# yum install vnc-server
4.Disable firewall:-
# /etc/init.d/iptables stop
5.Setup VNC as suggested above.
6.Connect to F8 DomU:-
# vncviwer IP-DomU:1
7. Tune firewall to enable port 5901/tcp
and apply settings.