I have a Solaris 10 system and a OS 2009.06 system with a local zone. The local zone is connected to the world via a stub net and a vnic between the local and global.
The local via the stub net can ping/ssh/telnet etc to the global and the Solaris 10 system and vice versa. So all TCP connectivity seems to be good. The Solaris 10 system can get an rpcinfo from the OS global and local. The OS global can get an rpcinfo from the local and the 10. The local can get an rpcinfo from the global but not from the Solaris 10. So...Why can't an OS local zone get an RPC info from a Solaris 10 system? The root problem is that the local zone can not NFS mount the Solaris 10 NFS server. The Solaris 10 system is patched up the the Recommended patch set as of today. Truss output of rpcinfo on the localzone: execve("/usr/bin/rpcinfo", 0x08047D38, 0x08047D44) argc = 2 mmap(0x00000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEFB0000 mmap(0x00000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEFA0000 memcntl(0xFEFBE000, 27724, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEF90000 memcntl(0x08050000, 6248, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12 resolvepath("/usr/bin/rpcinfo", "/usr/bin/rpcinfo", 1023) = 16 sysconfig(_CONFIG_PAGESIZE) = 4096 stat64("/usr/bin/rpcinfo", 0x080479DC) = 0 open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT stat64("/lib/libc.so.1", 0x080471DC) = 0 resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14 open("/lib/libc.so.1", O_RDONLY) = 3 mmapobj(3, 0x00020000, 0xFEF904C0, 0x08047248, 0x00000000) = 0 close(3) = 0 memcntl(0xFEE40000, 188400, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 stat64("/lib/libnsl.so.1", 0x08046EFC) = 0 resolvepath("/lib/libnsl.so.1", "/lib/libnsl.so.1", 1023) = 16 open("/lib/libnsl.so.1", O_RDONLY) = 3 mmapobj(3, 0x00020000, 0xFEF90B78, 0x08046F68, 0x00000000) = 0 close(3) = 0 memcntl(0xFED80000, 109296, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFED70000 mmap(0x00010000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFED60000 getcontext(0x0804783C) getrlimit(RLIMIT_STACK, 0x08047834) = 0 getpid() = 23821 [23820] lwp_private(0, 1, 0xFED62A00) = 0x000001C3 setustack(0xFED62A60) sigfillset(0xFEF876E8) = 0 sysi86(SI86FPSTART, 0xFEF8800C, 0x0000133F, 0x00001F80) = 0x00000001 open("/etc/netconfig", O_RDONLY) = 3 fstat64(3, 0x08047780) = 0 brk(0x08066870) = 0 brk(0x08068870) = 0 fstat64(3, 0x08047690) = 0 ioctl(3, TCGETA, 0x08047730) Err#25 ENOTTY read(3, " # C D D L H E A D E".., 2560) = 2137 read(3, 0x0806687C, 2560) = 0 llseek(3, 0, SEEK_CUR) = 2137 llseek(3, 0, SEEK_SET) = 0 read(3, " # C D D L H E A D E".., 2560) = 2137 read(3, 0x0806687C, 2560) = 0 llseek(3, 0, SEEK_CUR) = 2137 close(3) = 0 open("/dev/udp", O_RDONLY) = 3 ioctl(3, SIOCGLIFNUM, 0x08047C60) = 0 close(3) = 0 open("/dev/udp", O_RDONLY) = 3 ioctl(3, SIOCGLIFNUM, 0x08047C60) = 0 close(3) = 0 stat64("/lib/straddr.so", 0x08046C00) Err#2 ENOENT stat64("/usr/lib/straddr.so", 0x08046C00) = 0 resolvepath("/usr/lib/straddr.so", "/usr/lib/straddr.so.2", 1023) = 21 open("/usr/lib/straddr.so", O_RDONLY) = 3 mmapobj(3, 0x00020000, 0xFED706B8, 0x08046C6C, 0x00000000) = 0 close(3) = 0 memcntl(0xFED40000, 2872, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 uname(0x080463B0) = 1 sysconfig(_CONFIG_PAGESIZE) = 4096 open("/dev/udp", O_RDONLY) = 3 ioctl(3, SIOCGLIFNUM, 0x08047580) = 0 close(3) = 0 open("/dev/udp", O_RDONLY) = 3 ioctl(3, SIOCGLIFNUM, 0x08047580) = 0 close(3) = 0 brk(0x08068870) = 0 brk(0x0806A870) = 0 getuid() = 0 [0] getpid() = 23821 [23820] open("/proc/23821/psinfo", O_RDONLY) = 3 read(3, "\0\0\00201\0\0\0\r ]\0\0".., 336) = 336 close(3) = 0 mmap(0x00010000, 65536, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFED20000 getuid() = 0 [0] getuid() = 0 [0] open64("/var/run/name_service_door", O_RDONLY) = 3 fcntl(3, F_SETFD, 0x00000001) = 0 door_info(3, 0xFEF80F64) = 0 door_call(3, 0x08047290) = 0 open("/etc/default/nss", O_RDONLY) = 4 fstat64(4, 0x080472A0) = 0 fstat64(4, 0x080471B0) = 0 ioctl(4, TCGETA, 0x08047250) Err#25 ENOTTY read(4, " # i d e n t\t " % Z %".., 2048) = 2042 read(4, 0x0806A054, 2048) = 0 llseek(4, 0, SEEK_CUR) = 2042 close(4) = 0 getuid() = 0 [0] getuid() = 0 [0] door_info(3, 0x08047220) = 0 door_call(3, 0x08047290) = 0 brk(0x0806A870) = 0 brk(0x0806C870) = 0 open("/dev/tcp", O_RDWR) = 4 ioctl(4, I_FIND, "timod") = 0 ioctl(4, I_PUSH, "timod") = 0 schedctl() = 0xFED11000 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] ioctl(4, I_STR, 0x080473D0) = 0 fxstat(2, 4, 0x08047350) = 0 ioctl(4, I_STR, 0x080473D0) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] ioctl(4, I_FLUSH, FLUSHRW) = 0 is_system_labeled() = 0 fxstat(2, 4, 0x080473A0) = 0 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] ioctl(4, I_STR, 0x08047470) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] fxstat(2, 4, 0x080473B0) = 0 fxstat(2, 4, 0x08047360) = 0 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] ioctl(4, I_STR, 0x08047430) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] brk(0x0806C870) = 0 brk(0x08070870) = 0 fcntl(4, F_GETFL) = 2 fxstat(2, 4, 0x080472E0) = 0 fxstat(2, 4, 0x08047280) = 0 ioctl(4, I_STR, 0x080473D0) = 0 fxstat(2, 4, 0x080472A0) = 0 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] ioctl(4, I_NREAD, 0x0804734C) = 0 putmsg(4, 0x080473C0, 0x00000000, 0) = 0 fcntl(4, F_GETFL) = 2 getmsg(4, 0x08047320, 0x08047330, 0x08047310) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] fcntl(4, F_GETFL) = 2 getmsg(4, 0x080473C0, 0x08047370, 0x08047368) = 0 getpid() = 23821 [23820] fxstat(2, 4, 0x08047310) = 0 ioctl(4, I_STR, 0x080473E0) = 0 brk(0x08070870) = 0 brk(0x08072870) = 0 brk(0x08072870) = 0 brk(0x08074870) = 0 fxstat(2, 4, 0x08047370) = 0 write(4, "80\0\0 ( JECAEB2\0\0\0\0".., 44) = 44 pollsys(0x08067470, 1, 0x08047378, 0x00000000) (sleeping...) pollsys(0x08067470, 1, 0x08047378, 0x00000000) = 0 fstat64(2, 0x08046680) = 0 rpcinfo: can't contact rpcbind: : RPC: Timed outwrite(2, " r p c i n f o : c a n".., 48) = 48 write(2, "\n", 1) = 1 _exit(1) truss of rpcbind on the Solaris 10 server: pollsys(0x08045E4C, 5, 0x00000000, 0x00000000) (sleeping...) pollsys(0x08045E4C, 5, 0x00000000, 0x00000000) = 1 fxstat(2, 6, 0x08045BC0) = 0 ioctl(6, I_PEEK, 0x08045C50) = 1 fxstat(2, 6, 0x08045B90) = 0 getmsg(6, 0x08045C74, 0x08045C80, 0x08045C98) = 0 open("/dev/tcp", O_RDWR) = 15 ioctl(15, I_FIND, "timod") = 0 ioctl(15, I_PUSH, "timod") = 0 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] ioctl(15, I_STR, 0x080458F0) = 0 fxstat(2, 15, 0x08045890) = 0 ioctl(15, I_STR, 0x080458F0) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] ioctl(15, I_FLUSH, FLUSHRW) = 0 fcntl(15, F_DUPFD, 0x00000100) = 256 fxstat(2, 15, 0x08045920) = 0 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] close(15) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] fxstat(2, 256, 0x08045940) = 0 ioctl(256, I_FIND, "timod") = 1 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] ioctl(256, I_STR, 0x080458F0) = 0 fxstat(2, 256, 0x08045890) = 0 ioctl(256, I_STR, 0x080458F0) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] fcntl(256, F_SETFD, 0x00000001) = 0 fxstat(2, 256, 0x080458E0) = 0 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] ioctl(256, I_STR, 0x08045980) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] fxstat(2, 256, 0x08045920) = 0 fxstat(2, 256, 0x080458D0) = 0 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] ioctl(256, I_STR, 0x08045970) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] fxstat(2, 6, 0x080458C0) = 0 fxstat(2, 256, 0x080458C0) = 0 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] ioctl(256, I_NREAD, 0x080459FC) = 0 ioctl(6, I_NREAD, 0x08045980) = 0 putmsg(6, 0x080459B0, 0x00000000, 0) = 0 fcntl(6, F_GETFL) = 2 getmsg(6, 0x08045958, 0x08045964, 0x08045970) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] fxstat(2, 256, 0x080458F0) = 0 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] ioctl(256, I_STR, 0x08045990) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] fxstat(2, 256, 0x08045920) = 0 ioctl(256, TI_GETMYNAME, 0x080A2700) = 0 fcntl(256, F_GETFL) = 2 fcntl(256, F_SETFL, FWRITE|FNONBLOCK) = 0 pollsys(0x08045E4C, 6, 0x00000000, 0x00000000) = 1 fxstat(2, 256, 0x08045C00) = 0 getmsg(256, 0x08045CDC, 0x08045CE8, 0x08045CFC) = 0 fxstat(2, 256, 0x08045B60) = 0 write(256, "80\00EBC JECAEB2\0\0\001".., 3776) = 3776 fxstat(2, 256, 0x08045C00) = 0 getmsg(256, 0x08045CDC, 0x08045CE8, 0x08045CFC) Err#11 EAGAIN pollsys(0x08045E4C, 6, 0x00000000, 0x00000000) (sleeping...) pollsys(0x08045E4C, 6, 0x00000000, 0x00000000) = 1 fxstat(2, 256, 0x08045C00) = 0 getmsg(256, 0x08045CDC, 0x08045CE8, 0x08045CFC) = 0 fxstat(2, 256, 0x08045C40) = 0 ioctl(256, I_PEEK, 0x08045CC4) = 0 fxstat(2, 256, 0x08045C10) = 0 ioctl(256, I_PEEK, 0x08045CA0) = 0 fxstat(2, 256, 0x08045C30) = 0 putmsg(256, 0x08045D08, 0x00000000, 0) = 0 fxstat(2, 256, 0x08045CA0) = 0 lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF] close(256) = 0 lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] pollsys(0x08045E4C, 5, 0x00000000, 0x00000000) (sleeping...) Any idea what's going on here? -- This message posted from opensolaris.org