Disabling checksum offloading at install OSOL 2009.06 PV DomU on Xen 3.4.1 Ubuntu 9.04 Dom0 ( with xenified aka Suse kernel)

Regardless bug with failure checksum offloading was fixed in SNV_81 , i.e. a while ago. OpenSolaris 2009.06 PV DomU install at Xen 3.4.1 Linux Dom0 appears still to be affected. Wrong checksum may be easily captured via tcpdump on the LAN due to DHCPDISCOVER request issued by OSOL installer is a broadcast request. Following bellow procedure involves Solaris Kernel module debugger to patch OSOL’s (SNV_111b) kernel at booting up to succeed with dhcp lease and to be able to proceed with initial install, what appears to be critical point for some users. View Opensolaris domU unable to get dhcp lease. File /etc/system gets updated via root terminal session before standard reboot to make the patch for kernel permanent. Posting is devoted first of all to Linux users , who are not aware of “kmdb” syntax and it’s involvement into boot process.
Modified installation profile. (-kd) key is added to extra line :-

name = 'OSOL0906PV'
memory = '2048'
disk = [ 'phy:/dev/loop0,xvdc:cdrom,r','phy:/dev/sda7,xvda,w']
vif = [ 'bridge = eth0' ]
bootloader = '/usr/local/bin/pygrub'
kernel = '/platform/i86xpv/kernel/amd64/unix'
ramdisk = '/boot/amd64/x86.microroot'
extra = '/platform/i86xpv/kernel/amd64/unix -kd - nowin -B install_media=cdrom'

Start install

root@ServerJaunty:/home/boris/nevada# xm create -c osol.install
Using config file "./osol.install".
Started domain osol.install (id=6)
Loading kmdb...
Welcome to kmdb
Loaded modules: [ unix krtld genunix ]

Make input at the prompt :-
[0]> ::bp xnf`_init
[0]> :c

v3.4.1-rc7 chgset 'Wed Jul 15 13:26:50 2009 +0100 19696:22ef8e900a6d'
SunOS Release 5.11 Version snv_111b 64-bit
Copyright 1983-2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Hostname: opensolaris
Remounting root read/write
Probing for device nodes ...
Loaded modules: [ scsi_vhci crypto mac neti xpv_psm ufs mpt zfs s1394 uhci hook
ip usba specfs md random sctp arp emlxs sockfs xpv_uppc ]
kmdb: stop at xnf`_init
kmdb: target stopped at:
xnf`_init: pushq %rbp

Make input at the prompt :-
[0]> xnf_cksum_offload/W 0
xnf`xnf_cksum_offload: 0x1 = 0x0
[0]> :c

Preparing live image for use
Done mounting Live image
USB keyboard
1. Albanian 23. Lithuanian
2. Belarusian 24. Latvian
3. Belgian 25. Macedonian
4. Brazilian 26. Malta_UK
5. Bulgarian 27. Malta_US
6. Canadian-Bilingual 28. Norwegian
7. Croatian 29. Polish
8. Czech 30. Portuguese
9. Danish 31. Russian
10. Dutch 32. Serbia-And-Montenegro
11. Finnish 33. Slovenian
12. French 34. Slovakian
13. French-Canadian 35. Spanish
14. Hungarian 36. Swedish
15. German 37. Swiss-French
16. Greek 38. Swiss-German
17. Icelandic 39. Traditional-Chinese
18. Italian 40. TurkishQ
19. Japanese-type6 41. TurkishF
20. Japanese 42. UK-English
21. Korean 43. US-English
22. Latin-American
To select the keyboard layout, enter a number [default 43]:
1. Arabic
2. Chinese - Simplified
3. Chinese - Traditional
4. Czech
5. Dutch
6. English
7. French
8. German
9. Greek
10. Hebrew
11. Hungarian
12. Indonesian
13. Italian
14. Japanese
15. Korean
16. Polish
17. Portuguese - Brazil
18. Russian
19. Slovak
20. Spanish
21. Swedish
To select desktop language, enter a number [default is 6]:
User selected: English
Configuring devices.
Mounting cdroms
Reading ZFS config: done.
opensolaris console login: jack
Sun Microsystems Inc. SunOS 5.11 snv_111b November 2008
jack@opensolaris:~$ Jul 19 03:18:29 opensolaris in.routed[786]: route --> nexthop is not directly connected
jack@opensolaris:~$ pfexec ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet netmask ff000000
xnf0: flags=1004843 mtu 1500 index 2
inet netmask ffffff00 broadcast
ether 0:16:3e:74:95:f
lo0: flags=2002000849 mtu 8252 index 1
inet6 ::1/128
xnf0: flags=2004841 mtu 1500 index 2
inet6 fe80::216:3eff:fe74:950f/10
ether 0:16:3e:74:95:f
jack@opensolaris:~$ cp .Xclients .vnc/xstartup
jack@opensolaris:~$ vncserver

Open an other terminal window and connect via vncviewer to DomU
Go through normal install
At the end drop to root shell and add to /etc/system one line :-

set xnf:xnf_cksum_offload = 0

Then click “REBOOT” button

Loading OSOL 2009.06 DomU

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: