routing problem after replacing hard drive

Need to replace hard drive on Ultra 10 running Solaris 2.6.
Bought new drive about the same size.
Partitioned it differently to solve a space problem.
After newfs used tar commands to copy most of the files to the new drive.
Installboot took care of the boot file.
ufsdump copied /dev and /devices.
After boot -r the computer boots and runs ok with new drive except no internet access.
During booting when the default route would normally be added I get:
route: socket: protocol not supported
When the multicast interface would normally be added the same error message is shown.
I used truss on route to manually add a default route but the output wasn't very helpful.
so_socket(24, 4, 0, "", 1) returns 3 on the old drive but Err#124 EAFNOSUPPORT
with the new drive.

Any suggestions on what the problem might be or where to look for it?

There is no reason a disk would change socket behavior.

I would have used ufsdump output done before the original disk failure. In any case, the cause is probably a corrupted/incorrect archive.

You should check core Solaris packages for missing files or wrong checksums with "pkgchk SUNWcsu SUNWcsr SUNWcsl SUNWcslr".

I found that /sbin/soconfig was corrupted. The problem is solved.

I used tar to copy most of the files because I was somewhat familiar with it, it is used for backups and it accepts include/exclude lists. Why would ufsdump have been better to use? Would that have been less likely to corrupt files?

Thanks for the help!

tar is good for archiving directories but poorly suited for system backups.
tar isn't corrupting files but can miss some of them given its limitations in path and filename length. tar is also unable to backup extended attributes like ACLs, doesn't properly handle sparse files, has limits on uig/gid and file size.
ufsdump doesn't have any of these limitations.