zpool Mirror state FAULTED and REMOVED state

Tuesday, August 31, 2010 at 11:26 PM
Clear FAULTED issue in the zpool

# zpool status
pool: pool
state: DEGRADED
status: One or more devices are faulted in response to persistent errors.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Replace the faulted device, or use 'zpool clear' to mark the device
repaired.
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
pool DEGRADED 0 0 0
mirror DEGRADED 0 0 0
c1t50060E8005707700d14 FAULTED 2 151 0 too many errors
c5t50060E8005707711d14 ONLINE 0 0 0
mirror DEGRADED 0 0 0
c1t50060E8005707700d15 FAULTED 0 179 0 too many errors
c5t50060E8005707711d15 ONLINE 0 0 0
mirror DEGRADED 0 0 0
c1t50060E8005707700d16 FAULTED 0 182 0 too many errors
c5t50060E8005707711d16 ONLINE 0 0 0
mirror DEGRADED 0 0 0
c1t50060E8005707700d17 FAULTED 0 171 0 too many errors
c5t50060E8005707711d17 ONLINE 0 0 0
mirror DEGRADED 0 0 0
c1t50060E8005707700d18 REMOVED 0 0 0
c5t50060E8005707711d18 ONLINE 0 0 0
mirror DEGRADED 0 0 0
c1t50060E8005707700d19 REMOVED 0 0 0
c5t50060E8005707711d19 ONLINE 0 0 0
mirror DEGRADED 0 0 0
c1t50060E8005707700d20 REMOVED 0 0 0
c5t50060E8005707711d20 ONLINE 0 0 0

errors: No known data errors
bash-3.00#

The below command will clear the faulty error

#zpool clear


bash-3.00# zpool status
pool: pool
state: DEGRADED
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
pool DEGRADED 0 0 0
mirror ONLINE 0 0 0
c1t50060E8005707700d14 ONLINE 0 0 0
c5t50060E8005707711d14 ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t50060E8005707700d15 ONLINE 0 0 0
c5t50060E8005707711d15 ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t50060E8005707700d16 ONLINE 0 0 0
c5t50060E8005707711d16 ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t50060E8005707700d17 ONLINE 0 0 0
c5t50060E8005707711d17 ONLINE 0 0 0
mirror DEGRADED 0 0 0
c1t50060E8005707700d18 REMOVED 0 0 0
c5t50060E8005707711d18 ONLINE 0 0 0
mirror DEGRADED 0 0 0
c1t50060E8005707700d19 REMOVED 0 0 0
c5t50060E8005707711d19 ONLINE 0 0 0
mirror DEGRADED 0 0 0
c1t50060E8005707700d20 REMOVED 0 0 0
c5t50060E8005707711d20 ONLINE 0 0 0

errors: No known data errors
bash-3.00#

Some time SAN storage disk will loss the connection and back to online but in the ZFS pool it shows REMOVED state. Clear the removed error with detaching and reattching the zpool disks

bash-3.00# zpool detach pool c1t50060E8005707700d18
bash-3.00#

bash-3.00# zpool attach pool c5t50060E8005707711d18 c1t50060E8005707700d18


bash-3.00# zpool status
pool: pool
state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Wed Sep 1 06:59:02 2010
config:

NAME STATE READ WRITE CKSUM
pool ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t50060E8005707700d14 ONLINE 0 0 0
c5t50060E8005707711d14 ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t50060E8005707700d15 ONLINE 0 0 0
c5t50060E8005707711d15 ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t50060E8005707700d16 ONLINE 0 0 0
c5t50060E8005707711d16 ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t50060E8005707700d17 ONLINE 0 0 0
c5t50060E8005707711d17 ONLINE 0 0 0
mirror ONLINE 0 0 0
c5t50060E8005707711d18 ONLINE 0 0 0
c1t50060E8005707700d18 ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t50060E8005707700d19 ONLINE 0 0 0
c5t50060E8005707711d19 ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t50060E8005707700d20 ONLINE 0 0 0
c5t50060E8005707711d20 ONLINE 0 0 0

errors: No known data errors
bash-3.00#

Script to grep hme settings via ndd

Monday, August 30, 2010 at 10:04 PM
#! /bin/ksh
# hmegrep version 0.0.1 - grep hme settings via ndd.
# o_|/ hme
# June 17 2003 Sam Nelson
# As usual, not clever or efficient, but quick, dirty and effective.
# tested on Solaris 8 and 9.

#Set a tmpfile
TMPFILE=hmegrep.txt

echo "Running hmegrep script........"

# Got root?
#
Check_ID()
{
ID=$(/usr/ucb/whoami)
if [ $ID != "root" ]; then
echo "$ID, you must be root to run this script."
exit 1
fi
}
Check_ID

# Get uname (useful!)
echo "hmegrep report for host:" >$TMPFILE
/usr/bin/uname -a >>$TMPFILE 2>&1

# Get some basic stuff:
echo "netstat -s -P tcp" >>$TMPFILE 2>&1
netstat -s -P tcp >>$TMPFILE 2>&1
echo "netstat -s -P udp" >>$TMPFILE 2>&1
netstat -s -P udp >>$TMPFILE 2>&1

###get hme stuff

echo "hme settings..." >>$TMPFILE 2>&1

echo "ndd -get /dev/hme transceiver_inuse" >>$TMPFILE 2>&1
ndd -get /dev/hme transceiver_inuse >>$TMPFILE 2>&1

echo "ndd -get /dev/hme link_status" >>$TMPFILE 2>&1
ndd -get /dev/hme link_status >>$TMPFILE 2>&1

echo "ndd -get /dev/hme link_speed" >>$TMPFILE 2>&1
ndd -get /dev/hme link_speed >>$TMPFILE 2>&1

echo "ndd -get /dev/hme link_mode" >>$TMPFILE 2>&1
ndd -get /dev/hme link_mode >>$TMPFILE 2>&1

echo "ndd -get /dev/hme ipg1" >>$TMPFILE 2>&1
ndd -get /dev/hme ipg1 >>$TMPFILE 2>&1

echo "ndd -get /dev/hme ipg2" >>$TMPFILE 2>&1
ndd -get /dev/hme ipg2 >>$TMPFILE 2>&1

echo "ndd -get /dev/hme use_int_xcvr" >>$TMPFILE 2>&1
ndd -get /dev/hme use_int_xcvr >>$TMPFILE 2>&1

echo "ndd -get /dev/hme pace_size" >>$TMPFILE 2>&1
ndd -get /dev/hme pace_size >>$TMPFILE 2>&1

echo "ndd -get /dev/hme adv_autoneg_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme adv_autoneg_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme adv_100T4_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme adv_100T4_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme adv_100fdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme adv_100fdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme adv_100hdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme adv_100hdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme 10fdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme 10fdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme 10hdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme 10hdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme lp_autoneg_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme lp_autoneg_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme lp_100T4_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme lp_100T4_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme lp_100fdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme lp_100fdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme lp_100hdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme lp_100hdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme lp_10fdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme lp_10fdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme lp_10hdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/hme lp_10hdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/hme instance" >>$TMPFILE 2>&1
ndd -get /dev/hme instance >>$TMPFILE 2>&1

echo "ndd -get /dev/hme lance_mode" >>$TMPFILE 2>&1
ndd -get /dev/hme lance_mode >>$TMPFILE 2>&1

echo "ndd -get /dev/hme ipg0" >>$TMPFILE 2>&1
ndd -get /dev/hme ipg0 >>$TMPFILE 2>&1

# hot kstat action:
echo "kstat hme output" >>$TMPFILE 2>&1
kstat hme >>$TMPFILE 2>&1

echo "OK script finished" >>$TMPFILE 2>&1

echo Check current directory for hmegrep.txt file!

Script to grep ce settings via ndd

at 10:04 PM
#! /bin/ksh
# cegrep version 0.0.1 - grep ce settings via ndd.
# o_|/ borked ce!
# June 5 2003 Sam Nelson
# As usual, not clever or efficient, but quick, dirty and effective.
# tested on Solaris 8 and 9.

#Set a tmpfile
TMPFILE=cegrep.txt

echo "Running cegrep script........"

# Got root?
# o_|/ shrink!
Check_ID()
{
ID=$(/usr/ucb/whoami)
if [ $ID != "root" ]; then
echo "$ID, you must be root to run this script."
exit 1
fi
}
Check_ID

# Get uname (useful!)
echo "cegrep report for host:" >$TMPFILE
/usr/bin/uname -a >>$TMPFILE 2>&1

# Get some basic stuff:
echo "netstat -s -P tcp" >>$TMPFILE 2>&1
netstat -s -P tcp >>$TMPFILE 2>&1
echo "netstat -s -P udp" >>$TMPFILE 2>&1
netstat -s -P udp >>$TMPFILE 2>&1

###get ce stuff

echo "ce settings..." >>$TMPFILE 2>&1

# check available modules
echo "available modules" >>$TMPFILE 2>&1
ndd -get /dev/ce \? >>$TMPFILE 2>&1

echo "module settings" >>$TMPFILE 2>&1

echo "ndd -get /dev/ce enable_ipg0" >>$TMPFILE 2>&1
ndd -get /dev/ce enable_ipg0 >>$TMPFILE 2>&1

echo "ndd -get /dev/ce ipg0" >>$TMPFILE 2>&1
ndd -get /dev/ce ipg0 >>$TMPFILE 2>&1

echo "ndd -get /dev/ce ipg1" >>$TMPFILE 2>&1
ndd -get /dev/ce ipg1 >>$TMPFILE 2>&1

echo "ndd -get /dev/ce ipg2" >>$TMPFILE 2>&1
ndd -get /dev/ce ipg2 >>$TMPFILE 2>&1

echo "ndd -get /dev/ce use_int_xcvr" >>$TMPFILE 2>&1
ndd -get /dev/ce use_int_xcvr >>$TMPFILE 2>&1

echo "ndd -get /dev/ce adv_autoneg_cap" >>$TMPFILE 2>&1
ndd -get /dev/ce adv_autoneg_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/ce adv_100T4_cap" >>$TMPFILE 2>&1
ndd -get /dev/ce adv_100T4_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/ce adv_1000fdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/ce adv_1000fdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/ce adv_1000hdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/ce adv_1000hdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/ce adv_100fdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/ce adv_100fdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/ce adv_100hdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/ce adv_100hdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/ce adv_10fdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/ce adv_10fdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/ce adv_10hdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/ce adv_10hdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/ce adv_asmpause_cap" >>$TMPFILE 2>&1
ndd -get /dev/ce adv_asmpause_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/ce adv_pause_cap" >>$TMPFILE 2>&1
ndd -get /dev/ce adv_pause_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/ce master_cfg_enable" >>$TMPFILE 2>&1
ndd -get /dev/ce master_cfg_enable >>$TMPFILE 2>&1

echo "ndd -get /dev/ce master_cfg_value" >>$TMPFILE 2>&1
ndd -get /dev/ce master_cfg_value >>$TMPFILE 2>&1

echo "ndd -get /dev/ce rx_intr_pkts" >>$TMPFILE 2>&1
ndd -get /dev/ce rx_intr_pkts >>$TMPFILE 2>&1

echo "ndd -get /dev/ce rx_intr_time" >>$TMPFILE 2>&1
ndd -get /dev/ce rx_intr_time >>$TMPFILE 2>&1

echo "ndd -get /dev/ce red_dv4to6k" >>$TMPFILE 2>&1
ndd -get /dev/ce red_dv4to6k >>$TMPFILE 2>&1

echo "ndd -get /dev/ce red_dv6to8k" >>$TMPFILE 2>&1
ndd -get /dev/ce red_dv6to8k >>$TMPFILE 2>&1

echo "ndd -get /dev/ce red_dv8to10k" >>$TMPFILE 2>&1
ndd -get /dev/ce red_dv8to10k >>$TMPFILE 2>&1

echo "ndd -get /dev/ce red_dv10to12k" >>$TMPFILE 2>&1
ndd -get /dev/ce red_dv10to12k >>$TMPFILE 2>&1

echo "ndd -get /dev/ce tx_dma_weight" >>$TMPFILE 2>&1
ndd -get /dev/ce tx_dma_weight >>$TMPFILE 2>&1

echo "ndd -get /dev/ce infinite_burst" >>$TMPFILE 2>&1
ndd -get /dev/ce infinite_burst >>$TMPFILE 2>&1

echo "ndd -get /dev/ce disable_64bit" >>$TMPFILE 2>&1
ndd -get /dev/ce disable_64bit >>$TMPFILE 2>&1


# hot kstat action:
echo "kstat ce output" >>$TMPFILE 2>&1
kstat ce >>$TMPFILE 2>&1

echo "OK script finished" >>$TMPFILE 2>&1

echo Check current directory for cegrep.txt file!

Script to grep tcp/ip/udp/icmp settings via ndd

at 10:02 PM
#! /bin/ksh
# nddgrep version 0.0.5 - grep tcp/ip/udp/icmp settings via ndd.
# March 28 2003 Sam Nelson
# As usual, not clever or efficient, but quick, dirty and effective.
# tested on Solaris 8 and 9, works ok-ish on 7, 2.6.
# I've moved companies! updated scripts will now be available at http://www.unix.ms

#Set a tmpfile
TMPFILE=nddgrep.txt

echo "Running nddgrep script v0.0.5 Sam Nelson ........"
echo "nddgrep output - for latest version see http://www.unix.ms" >$TMPFILE
# Get uname (useful!)

echo "nddgrep report for host:" >>$TMPFILE
/usr/bin/uname -a >>$TMPFILE

# Get basic TCP / UDP info
echo "netstat -s -P tcp" >>$TMPFILE 2>&1
netstat -s -P tcp >>$TMPFILE 2>&1
echo "netstat -s -P udp" >>$TMPFILE 2>&1
netstat -s -P udp >>$TMPFILE 2>&1

###Get IP stuff

echo "IP settings" >>$TMPFILE

echo /dev/ip/ ip_respond_to_address_mask_broadcast >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_respond_to_address_mask_broadcast >>$TMPFILE 2>&1

echo /dev/ip/ ip_respond_to_echo_broadcast >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_respond_to_echo_broadcast >>$TMPFILE 2>&1

echo /dev/ip/ ip_respond_to_timestamp >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_respond_to_timestamp >>$TMPFILE 2>&1

echo /dev/ip/ ip_respond_to_timestamp_broadcast >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_respond_to_timestamp_broadcast >>$TMPFILE 2>&1

echo /dev/ip/ ip_send_redirects >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_send_redirects >>$TMPFILE 2>&1

echo /dev/ip/ ip_forward_directed_broadcasts >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_forward_directed_broadcasts >>$TMPFILE 2>&1

echo /dev/ip/ ip_debug >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_debug >>$TMPFILE 2>&1

echo /dev/ip/ ip_mrtdebug >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_mrtdebug >>$TMPFILE 2>&1

echo /dev/ip/ ip_ire_timer_interval >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ire_timer_interval >>$TMPFILE 2>&1

echo /dev/ip/ ip_ire_arp_interval >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ire_arp_interval >>$TMPFILE 2>&1

echo /dev/ip/ ip_ire_redirect_interval >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ire_redirect_interval >>$TMPFILE 2>&1

echo /dev/ip/ ip_def_ttl >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_def_ttl >>$TMPFILE 2>&1

echo /dev/ip/ ip_forward_src_routed >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_forward_src_routed >>$TMPFILE 2>&1

echo /dev/ip/ ip_wroff_extra >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_wroff_extra >>$TMPFILE 2>&1

echo /dev/ip/ ip_ire_pathmtu_interval >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ire_pathmtu_interval >>$TMPFILE 2>&1

echo /dev/ip/ ip_icmp_return_data_bytes >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_icmp_return_data_bytes >>$TMPFILE 2>&1

echo /dev/ip/ ip_path_mtu_discovery >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_path_mtu_discovery >>$TMPFILE 2>&1

echo /dev/ip/ ip_ignore_delete_time >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ignore_delete_time >>$TMPFILE 2>&1

echo /dev/ip/ ip_ignore_redirect >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ignore_redirect >>$TMPFILE 2>&1

echo /dev/ip/ ip_output_queue >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_output_queue >>$TMPFILE 2>&1

echo /dev/ip/ ip_broadcast_ttl >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_broadcast_ttl >>$TMPFILE 2>&1

echo /dev/ip/ ip_icmp_err_interval >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_icmp_err_interval >>$TMPFILE 2>&1

echo /dev/ip/ ip_icmp_err_burst >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_icmp_err_burst >>$TMPFILE 2>&1

echo /dev/ip/ ip_reass_queue_bytes >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_reass_queue_bytes >>$TMPFILE 2>&1

echo /dev/ip/ ip_strict_dst_multihoming >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_strict_dst_multihoming >>$TMPFILE 2>&1

echo /dev/ip/ ip_addrs_per_if >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_addrs_per_if >>$TMPFILE 2>&1

echo /dev/ip/ ipsec_override_persocket_policy >>$TMPFILE 2>&1
ndd -get /dev/ip/ ipsec_override_persocket_policy >>$TMPFILE 2>&1

echo /dev/ip/ icmp_accept_clear_messages >>$TMPFILE 2>&1
ndd -get /dev/ip/ icmp_accept_clear_messages >>$TMPFILE 2>&1

echo /dev/ip/ igmp_accept_clear_messages >>$TMPFILE 2>&1
ndd -get /dev/ip/ igmp_accept_clear_messages >>$TMPFILE 2>&1

echo /dev/ip/ ip_ndp_delay_first_probe_time >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ndp_delay_first_probe_time >>$TMPFILE 2>&1

echo /dev/ip/ ip_ndp_max_unicast_solicit >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ndp_max_unicast_solicit >>$TMPFILE 2>&1

echo /dev/ip/ ip6_def_hops >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip6_def_hops >>$TMPFILE 2>&1

echo /dev/ip/ ip6_icmp_return_data_bytes >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip6_icmp_return_data_bytes >>$TMPFILE 2>&1

echo /dev/ip/ ip6_forwarding >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip6_forwarding >>$TMPFILE 2>&1

echo /dev/ip/ ip6_forward_src_routed >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip6_forward_src_routed >>$TMPFILE 2>&1

echo /dev/ip/ ip6_respond_to_echo_multicast >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip6_respond_to_echo_multicast >>$TMPFILE 2>&1

echo /dev/ip/ ip6_send_redirects >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip6_send_redirects >>$TMPFILE 2>&1

echo /dev/ip/ ip6_ignore_redirect >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip6_ignore_redirect >>$TMPFILE 2>&1

echo /dev/ip/ ip6_strict_dst_multihoming >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip6_strict_dst_multihoming >>$TMPFILE 2>&1

echo /dev/ip/ ip_ire_reclaim_fraction >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ire_reclaim_fraction >>$TMPFILE 2>&1

echo /dev/ip/ ipsec_policy_log_interval >>$TMPFILE 2>&1
ndd -get /dev/ip/ ipsec_policy_log_interval >>$TMPFILE 2>&1

echo /dev/ip/ pim_accept_clear_messages >>$TMPFILE 2>&1
ndd -get /dev/ip/ pim_accept_clear_messages >>$TMPFILE 2>&1

echo /dev/ip/ ip_ndp_unsolicit_interval >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ndp_unsolicit_interval >>$TMPFILE 2>&1

echo /dev/ip/ ip_ndp_unsolicit_count >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ndp_unsolicit_count >>$TMPFILE 2>&1

echo /dev/ip/ ip_forwarding >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_forwarding >>$TMPFILE 2>&1

echo /dev/ip/ ip_ill_status >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ill_status >>$TMPFILE 2>&1

echo /dev/ip/ ip_ipif_status >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ipif_status >>$TMPFILE 2>&1

echo /dev/ip/ ipv4_ire_status >>$TMPFILE 2>&1
ndd -get /dev/ip/ ipv4_ire_status >>$TMPFILE 2>&1

echo /dev/ip/ ipv4_mrtun_ire_status >>$TMPFILE 2>&1
ndd -get /dev/ip/ ipv4_mrtun_ire_status >>$TMPFILE 2>&1

echo /dev/ip/ ipv4_srcif_ire_status >>$TMPFILE 2>&1
ndd -get /dev/ip/ ipv4_srcif_ire_status >>$TMPFILE 2>&1

echo /dev/ip/ ipv6_ire_status >>$TMPFILE 2>&1
ndd -get /dev/ip/ ipv6_ire_status >>$TMPFILE 2>&1

echo /dev/ip/ ip_ipc_status >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ipc_status >>$TMPFILE 2>&1

echo /dev/ip/ ip_rput_pullups >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_rput_pullups >>$TMPFILE 2>&1

echo /dev/ip/ ip_enable_group_ifs >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_enable_group_ifs >>$TMPFILE 2>&1

echo /dev/ip/ ifgrp_status >>$TMPFILE 2>&1
ndd -get /dev/ip/ ifgrp_status >>$TMPFILE 2>&1

echo /dev/ip/ ip_ndp_cache_report >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_ndp_cache_report >>$TMPFILE 2>&1

echo /dev/ip/ ip_proxy_status >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_proxy_status >>$TMPFILE 2>&1

echo /dev/ip/ ip_srcid_status >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_srcid_status >>$TMPFILE 2>&1

echo /dev/ip/ ip_forwarding >>$TMPFILE 2>&1
ndd -get /dev/ip/ ip_forwarding >>$TMPFILE 2>&1


###Get TCP stuff

echo "TCP settings" >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_time_wait_interval >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_time_wait_interval >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_conn_req_max_q >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_conn_req_max_q >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_conn_req_max_q0 >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_conn_req_max_q0 >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_conn_req_min >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_conn_req_min >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_conn_grace_period >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_conn_grace_period >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_cwnd_max >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_cwnd_max >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_debug >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_debug >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_smallest_nonpriv_port >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_smallest_nonpriv_port >>$TMPFILE 2>&1

echo /dev/tcp tcp_ip_abort_cinterval >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_ip_abort_cinterval >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_ip_abort_linterval >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_ip_abort_linterval >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_ip_abort_interval >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_ip_abort_interval >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_ip_notify_cinterval >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_ip_notify_cinterval >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_ip_notify_interval >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_ip_notify_interval >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_ipv4_ttl >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_ipv4_ttl >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_keepalive_interval >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_keepalive_interval >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_maxpsz_multiplier >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_maxpsz_multiplier >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_mss_def_ipv4 >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_mss_def_ipv4 >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_mss_max_ipv4 >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_mss_max_ipv4 >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_mss_min >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_mss_min >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_naglim_def >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_naglim_def >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_rexmit_interval_initial >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_rexmit_interval_initial >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_rexmit_interval_max >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_rexmit_interval_max >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_rexmit_interval_min >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_rexmit_interval_min >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_deferred_ack_interval >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_deferred_ack_interval >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_snd_lowat_fraction >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_snd_lowat_fraction >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_sth_rcv_hiwat >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_sth_rcv_hiwat >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_sth_rcv_lowat >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_sth_rcv_lowat >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_dupack_fast_retransmit >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_dupack_fast_retransmit >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_ignore_path_mtu >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_ignore_path_mtu >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_rcv_push_wait >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_rcv_push_wait >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_smallest_anon_port >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_smallest_anon_port >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_largest_anon_port >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_largest_anon_port >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_xmit_hiwat >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_xmit_hiwat >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_xmit_lowat >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_xmit_lowat >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_recv_hiwat >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_recv_hiwat >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_recv_hiwat_minmss >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_recv_hiwat_minmss >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_fin_wait_2_flush_interval >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_fin_wait_2_flush_interval >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_co_min >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_co_min >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_max_buf >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_max_buf >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_strong_iss >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_strong_iss >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_rtt_updates >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_rtt_updates >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_wscale_always >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_wscale_always >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_tstamp_always >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_tstamp_always >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_tstamp_if_wscale >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_tstamp_if_wscale >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_rexmit_interval_extra >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_rexmit_interval_extra >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_deferred_acks_max >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_deferred_acks_max >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_slow_start_after_idle >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_slow_start_after_idle >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_slow_start_initial >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_slow_start_initial >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_co_timer_interval >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_co_timer_interval >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_sack_permitted >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_sack_permitted >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_trace >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_trace >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_compression_enabled >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_compression_enabled >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_ipv6_hoplimit >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_ipv6_hoplimit >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_mss_def_ipv6 >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_mss_def_ipv6 >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_mss_max_ipv6 >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_mss_max_ipv6 >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_rev_src_routes >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_rev_src_routes >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_wroff_xtra >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_wroff_xtra >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_extra_priv_ports >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_extra_priv_ports >>$TMPFILE 2>&1
echo /dev/tcp/ tcp_extra_priv_ports_add >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_extra_priv_ports_add >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_extra_priv_ports_del >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_extra_priv_ports_del >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_status >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_status >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_bind_hash >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_bind_hash >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_listen_hash >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_listen_hash >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_conn_hash >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_conn_hash >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_acceptor_hash >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_acceptor_hash >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_host_param >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_host_param >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_time_wait_stats >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_time_wait_stats >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_host_param_ipv6 >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_host_param_ipv6 >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_1948_phrase >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_1948_phrase >>$TMPFILE 2>&1

echo /dev/tcp/ tcp_reserved_port_list >>$TMPFILE 2>&1
ndd -get /dev/tcp tcp_reserved_port_list >>$TMPFILE 2>&1


###And UDP.....

echo "UDP settings" >>$TMPFILE 2>&1

echo /dev/udp udp_wroff_extra >>$TMPFILE 2>&1
ndd -get /dev/udp udp_wroff_extra >>$TMPFILE 2>&1

echo /dev/udp udp_ipv4_ttl >>$TMPFILE 2>&1
ndd -get /dev/udp udp_ipv4_ttl >>$TMPFILE 2>&1

echo /dev/udp udp_ipv6_hoplimit >>$TMPFILE 2>&1
ndd -get /dev/udp udp_ipv6_hoplimit >>$TMPFILE 2>&1

echo /dev/udp udp_smallest_nonpriv_port >>$TMPFILE 2>&1
ndd -get /dev/udp udp_smallest_nonpriv_port >>$TMPFILE 2>&1

echo /dev/udp udp_do_checksum >>$TMPFILE 2>&1
ndd -get /dev/udp udp_do_checksum >>$TMPFILE 2>&1

echo /dev/udp udp_smallest_anon_port >>$TMPFILE 2>&1
ndd -get /dev/udp udp_smallest_anon_port >>$TMPFILE 2>&1

echo /dev/udp udp_largest_anon_port >>$TMPFILE 2>&1
ndd -get /dev/udp udp_largest_anon_port >>$TMPFILE 2>&1

echo /dev/udp udp_xmit_hiwat >>$TMPFILE 2>&1
ndd -get /dev/udp udp_xmit_hiwat >>$TMPFILE 2>&1

echo /dev/udp udp_xmit_lowat >>$TMPFILE 2>&1
ndd -get /dev/udp udp_xmit_lowat >>$TMPFILE 2>&1

echo /dev/udp udp_recv_hiwat >>$TMPFILE 2>&1
ndd -get /dev/udp udp_recv_hiwat >>$TMPFILE 2>&1

echo /dev/udp udp_max_buf >>$TMPFILE 2>&1
ndd -get /dev/udp udp_max_buf >>$TMPFILE 2>&1

echo /dev/udp udp_extra_priv_ports >>$TMPFILE 2>&1
ndd -get /dev/udp udp_extra_priv_ports >>$TMPFILE 2>&1

echo /dev/udp udp_extra_priv_ports_add >>$TMPFILE 2>&1
ndd -get /dev/udp udp_extra_priv_ports_add >>$TMPFILE 2>&1

echo /dev/udp udp_extra_priv_ports_del >>$TMPFILE 2>&1
ndd -get /dev/udp udp_extra_priv_ports_del >>$TMPFILE 2>&1

echo /dev/udp udp_status >>$TMPFILE 2>&1
ndd -get /dev/udp udp_status >>$TMPFILE 2>&1

echo /dev/udp udp_bind_hash >>$TMPFILE 2>&1
ndd -get /dev/udp udp_bind_hash >>$TMPFILE 2>&1

# get ICMP stuff

echo /dev/icmp icmp_wroff_extra >>$TMPFILE 2>&1
ndd -get /dev/icmp icmp_wroff_extra >>$TMPFILE 2>&1

echo /dev/icmp icmp_ipv4_ttl >>$TMPFILE 2>&1
ndd -get /dev/icmp icmp_ipv4_ttl >>$TMPFILE 2>&1

echo /dev/icmp icmp_ipv6_hoplimit >>$TMPFILE 2>&1
ndd -get /dev/icmp icmp_ipv6_hoplimit >>$TMPFILE 2>&1

echo /dev/icmp icmp_bsd_compat >>$TMPFILE 2>&1
ndd -get /dev/icmp icmp_bsd_compat >>$TMPFILE 2>&1

echo /dev/icmp icmp_xmit_hiwat >>$TMPFILE 2>&1
ndd -get /dev/icmp icmp_xmit_hiwat >>$TMPFILE 2>&1

echo /dev/icmp icmp_xmit_lowat >>$TMPFILE 2>&1
ndd -get /dev/icmp icmp_xmit_lowat >>$TMPFILE 2>&1

echo /dev/icmp icmp_recv_hiwat >>$TMPFILE 2>&1
ndd -get /dev/icmp icmp_recv_hiwat >>$TMPFILE 2>&1

echo /dev/icmp icmp_max_buf >>$TMPFILE 2>&1
ndd -get /dev/icmp icmp_max_buf >>$TMPFILE 2>&1

echo /dev/icmp icmp_status >>$TMPFILE 2>&1
ndd -get /dev/icmp icmp_status >>$TMPFILE 2>&1

echo "OK script finished" >>$TMPFILE 2>&1

echo Check current directory for nddgrep.txt file!

grep eri setting via ndd

at 10:01 PM
#! /bin/ksh
# erigrep version 0.0.1 - grep eri settings via ndd.
# o_|/ borked eri drivers!
# June 5 2003 Sam Nelson
# As usual, not clever or efficient, but quick, dirty and effective.
# tested on Solaris 8 and 9.

#Set a tmpfile
TMPFILE=erigrep.txt

echo "Running erigrep script........"

# Got root?
#
Check_ID()
{
ID=$(/usr/ucb/whoami)
if [ $ID != "root" ]; then
echo "$ID, you must be root to run this script."
exit 1
fi
}
Check_ID

# Get uname (useful!)
echo "erigrep report for host:" >$TMPFILE
/usr/bin/uname -a >>$TMPFILE 2>&1

# Get some basic stuff:
echo "netstat -s -P tcp" >>$TMPFILE 2>&1
netstat -s -P tcp >>$TMPFILE 2>&1
echo "netstat -s -P udp" >>$TMPFILE 2>&1
netstat -s -P udp >>$TMPFILE 2>&1

###get eri stuff

echo "eri settings" >>$TMPFILE 2>&1

echo "ndd -get /dev/eri transceiver_inuse" >>$TMPFILE 2>&1
ndd -get /dev/eri transceiver_inuse >>$TMPFILE 2>&1

echo "ndd -get /dev/eri link_status" >>$TMPFILE 2>&1
ndd -get /dev/eri link_status >>$TMPFILE 2>&1

echo "ndd -get /dev/eri link_speed" >>$TMPFILE 2>&1
ndd -get /dev/eri link_speed >>$TMPFILE 2>&1

echo "ndd -get /dev/eri link_mode" >>$TMPFILE 2>&1
ndd -get /dev/eri link_mode >>$TMPFILE 2>&1

echo "ndd -get /dev/eri ipg1" >>$TMPFILE 2>&1
ndd -get /dev/eri ipg1 >>$TMPFILE 2>&1

echo "ndd -get /dev/eri ipg2" >>$TMPFILE 2>&1
ndd -get /dev/eri ipg2 >>$TMPFILE 2>&1

echo "ndd -get /dev/eri use_int_xcvr" >>$TMPFILE 2>&1
ndd -get /dev/eri use_int_xcvr >>$TMPFILE 2>&1

echo "ndd -get /dev/eri pace_size" >>$TMPFILE 2>&1
ndd -get /dev/eri pace_size >>$TMPFILE 2>&1

echo "ndd -get /dev/eri adv_autoneg_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri adv_autoneg_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri adv_100T4_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri adv_100T4_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri adv_100fdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri adv_100fdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri adv_100hdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri adv_100hdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri 10fdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri 10fdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri 10hdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri 10hdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri lp_autoneg_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri lp_autoneg_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri lp_100T4_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri lp_100T4_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri lp_100fdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri lp_100fdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri lp_100hdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri lp_100hdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri lp_10fdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri lp_10fdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri lp_10hdx_cap" >>$TMPFILE 2>&1
ndd -get /dev/eri lp_10hdx_cap >>$TMPFILE 2>&1

echo "ndd -get /dev/eri instance" >>$TMPFILE 2>&1
ndd -get /dev/eri instance >>$TMPFILE 2>&1

echo "ndd -get /dev/eri lance_mode" >>$TMPFILE 2>&1
ndd -get /dev/eri lance_mode >>$TMPFILE 2>&1

echo "ndd -get /dev/eri ipg0" >>$TMPFILE 2>&1
ndd -get /dev/eri ipg0 >>$TMPFILE 2>&1

echo "ndd -get /dev/eri intr_blank_time" >>$TMPFILE 2>&1
ndd -get /dev/eri intr_blank_time >>$TMPFILE 2>&1

echo "ndd -get /dev/eri intr_blank_packets" >>$TMPFILE 2>&1
ndd -get /dev/eri intr_blank_packets >>$TMPFILE 2>&1

# hot kstat action:
echo "kstat eri output" >>$TMPFILE 2>&1
kstat eri >>$TMPFILE 2>&1

echo "OK script finished" >>$TMPFILE 2>&1

echo Check current directory for erigrep.txt file!

Shell script to analyse potential NIC / Network problems

at 9:58 PM
#! /bin/ksh
# netgrep version 0.0.6 April 4, 2004
# shell script to analyse potential NIC / network problems.
# not clever or efficient, but quick, dirty and effective.
# Sam Nelson
# I've moved companies. All updates will be available at http://www.unix.ms
#

TMPFILE=netgrep.txt
NDD=/usr/sbin/ndd
NETSTAT=/usr/bin/netstat
IFC=/sbin/ifconfig

typeset -R5 LINK
typeset -R9 AUTOSPEED
typeset -R6 STATUS
typeset -R6 SPEED
typeset -R5 MODE
typeset -R18 ETHER

echo "Running netgrep v0.0.6, Sam Nelson "
echo "netgrep v0.0.6 output - for latest version see http://www.unix.ms" >$TMPFILE 2>&1
echo "netgrep diagnostic script " >> $TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
echo "ifconfig output:" >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/sbin/ifconfig -a >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

# Get basic TCP / UDP info
echo "netstat -s -P tcp" >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
netstat -s -P tcp >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
echo "netstat -s -P udp" >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
netstat -s -P udp >>$TMPFILE 2>&1

# Check the speed and settings of interfaces.
# Thanks and regards to Paul Bates and James Council
# This section http://www.sun.com/bigadmin/scripts/submittedScripts/nicstatus.txt

echo "Interface Settings:" >> $TMPFILE

#---- Function to test a Cassini Gigabit-Ethernet port (i.e. ce_).
#
Check_CE()
{
autospeed=`${NETSTAT} -k $LINK| awk '/xcvr_id/ {print $4}'`
case $autospeed in
1) AUTOSPEED=on ;;
0) AUTOSPEED=off ;;
*) AUTOSPEED=Error ;;
esac

status=`${NETSTAT} -k $LINK| awk '/link_up/ {print $2}'`
case $status in
1) STATUS=Up ;;
0) STATUS=DOWN ;;
*) STATUS=Error ;;
esac

SPEED=`${NETSTAT} -k $LINK| grep link_speed| awk '{print $2}'`

mode=`${NETSTAT} -k $LINK| grep link_speed| awk '{print $4}'`
case $mode in
2) MODE=FDX ;;
1) MODE=HDX ;;
0) MODE=--- ;;
*) MODE=Error ;;
esac
}

# Function to test Quad Fast-Ethernet, Fast-Ethernet, and
# GEM Gigabit-Ethernet (i.e. qfe_, hme_, ge_)
#
Check_NIC()
{
${NDD} -set /dev/${1} instance ${2}

if [ $type = "ge" ];then
autospeed=`${NDD} -get /dev/${1} adv_1000autoneg_cap`
else autospeed=`${NDD} -get /dev/${1} adv_autoneg_cap`
fi
case $autospeed in
1) AUTOSPEED=on ;;
0) AUTOSPEED=off ;;
*) AUTOSPEED=Error ;;
esac

status=`${NDD} -get /dev/${1} link_status`
case $status in
1) STATUS=Up ;;
0) STATUS=DOWN ;;
*) STATUS=Error ;;
esac

speed=`${NDD} -get /dev/${1} link_speed`
case $speed in
1) SPEED=100MB ;;
0) SPEED=10MB ;;
*) SPEED=Error ;;
esac

mode=`${NDD} -get /dev/${1} link_mode`
case $mode in
1) MODE=FDX ;;
0) MODE=HDX ;;
*) MODE=Error ;;
esac
}


# Output header.
echo
echo " NIC Autospeed Status Speed Mode MAC Address" >>$TMPFILE 2>&1
echo "----- --------- ------ ------ ----- ------------------">>$TMPFILE 2>&1

# make a list of active i/f.
# i.e multi qfe!
#
for LINK in `${IFC} -a| egrep -v "lo|be|dman|lpfc"| egrep "^[a-z,A-z]"| cut -f1 -d :| sort| uniq`
do
type=$(echo $LINK | sed 's/[0-9]//g')
num=$(echo $LINK | sed 's/[a-z,A-Z]//g')

# Set variables / reference functions.
#
if [ $type = ce ]; then
Check_CE $type $num
else Check_NIC $type $num
fi
# Set ethernet variable / dump it all.
#
ETHER=`${IFC} ${LINK}| awk '/ether/ {print $2}'`
echo "$LINK $AUTOSPEED $STATUS $SPEED $MODE $ETHER" >>$TMPFILE 2>&1
done

set +x
echo "" >>$TMPFILE 2>&1

# rudimentary check for collisions / ierrors / oerrors.
echo "Check for ierrors/oerrors/collisions......" >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/netstat -i >>$TMPFILE 2>&1


#routing info
echo "Routing table info.">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/netstat -rvn >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

#defaultrouter?
echo "checking for existence of /etc/defaultrouter">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/ls -al /etc/defaultrouter>>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
echo "Checking contents of /etc/defaultrouter....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/cat /etc/defaultrouter>>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

#check nsswitch.conf
echo "Checking permissions of /etc/nsswitch.conf....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/ls -al /etc/nsswitch.conf >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
echo "Checking contents of /etc/nsswitch.conf....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/cat /etc/nsswitch.conf >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

#check resolv.conf
echo "Checking permissions of /etc/resolv.conf....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/ls -al /etc/resolv.conf >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
echo "Checking contents of /etc/resolv.conf....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/cat /etc/resolv.conf >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

#check inetd.conf
echo "Checking permissions of /etc/inetd.conf....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/ls -al /etc/inetd.conf >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
echo "Checking contents of /etc/inetd.conf....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/cat /etc/inetd.conf >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

#check hosts file
echo "Checking permissions of /etc/inet/hosts....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/ls -al /etc/inet/hosts >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
echo "Checking contents of /etc/inet/hosts....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/cat /etc/inet/hosts >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

#check /etc/gateways if it exists
echo "Checking permissions of /etc/gateways....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/ls -al /etc/gateways >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
echo "Checking contents of /etc/gateways....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/cat /etc/gateways >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

#check nodename file
echo "Checking permissions of /etc/nodename....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/ls -al /etc/nodename >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
echo "Checking contents of /etc/nodename....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/cat /etc/nodename >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

#check hostname.*** file(s)
echo "Checking permissions of /etc/hostname.*....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/ls -al /etc/hostname* >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
echo "Checking contents of /etc/hostname.*....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/cat /etc/hostname*>>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

#what's open / connected?
echo "Open connections...." >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/bin/netstat -an >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

# ARP you being served?
echo "ARP cache details">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/sbin/arp -a >>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1

#check other hosts in the vicinity
echo "Ping responses from this subnet....">>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
/usr/sbin/ping -sn 255.255.255.255 1 255>>$TMPFILE 2>&1
echo "" >>$TMPFILE 2>&1
chmod 777 $TMPFILE

echo "OK script finished" >>$TMPFILE 2>&1

echo Check current directory for netgrep.txt file!

Script to check Port with Pid

at 9:35 PM
Usage is simple:

root@node1/>pcp
usage:/bin/pcp [-p PORT] [-P PID] [-a ALL] (Wildcard OK)

Which process has port 22 open?

root@node1/>pcp -p 22

What ports does PID 516 have open?

root@node1/>pcp -P 516

I want to see all open TCP ports and their corresponding PIDS

root@node1/>pcp -a

Script:

#!/usr/bin/ksh
#
# PCP (PID con Port)
# v1.09 11/12/2009
#
# If you have a Solaris 8, 9 or 10 box and you can't
# install lsof, try this. It maps PIDS to ports and vice versa.
# It also shows you which peers are connected on which port.
# Wildcards are accepted for -p and -P options.
#
# Many thanks Daniel Trinkle trinkle @ cs.purdue.edu
# for the help, much appreciated.
i=0
while getopts :p:P:a opt
do
case "${opt}" in
p ) port="${OPTARG}";i=3;;
P ) pid="${OPTARG}";i=3;;
a ) all=all;i=2;;
esac
done
if [ $OPTIND != $i ]
then
echo >&2 "usage: $0 [-p PORT] [-P PID] [-a] (Wildcards OK) "
exit 1
fi
shift `expr $OPTIND - 1`
if [ "$port" ]
then
# Enter the port number, get the PID
#
port=${OPTARG}
echo "PID\tProcess Name and Port"
echo "_________________________________________________________"
for proc in `ptree -a | awk '/ptree/ {next} {print $1};'`
do
result=`pfiles $proc 2> /dev/null| egrep "port: $port$"`
if [ ! -z "$result" ]
then
program=`ps -fo comm= -p $proc`
echo "$proc\t$program\t$port\n$result"
echo "_________________________________________________________"
fi
done
elif [ "$pid" ]
then
# Enter the PID, get the port
#
pid=$OPTARG
# Print out the information
echo "PID\tProcess Name and Port"
echo "_________________________________________________________"
for proc in `ptree -a | awk '/ptree/ {next} $1 ~ /^'"$pid"'$/ {print $1};'`
do
result=`pfiles $proc 2> /dev/null| egrep port:`
if [ ! -z "$result" ]
then
program=`ps -fo comm= -p $proc`
echo "$proc\t$program\n$result"
echo "_________________________________________________________"
fi
done
elif [ $all ]
then
# Show all PIDs, Ports and Peers
#
echo "PID\tProcess Name and Port"
echo "_________________________________________________________"
for proc in `ptree -a | sort -n | awk '/ptree/ {next} {print $1};'`
do
out=`pfiles $proc 2>/dev/null| egrep "port:"`
if [ ! -z "$out" ]
then
name=`ps -fo comm= -p $proc`
echo "$proc\t$name\n$out"
echo "_________________________________________________________"
fi
done
fi
exit 0

Steps for Installing EMC Solutions Enabler version 6.2.1

Wednesday, August 25, 2010 at 9:15 AM
Steps for Installing EMC Solutions Enabler version 6.2.1

server:/tmp/symcli/6.2.1# ./emc_install.csh

#----------------------------------------------------------------------------
# EMC Installation Manager
#----------------------------------------------------------------------------
Copyright 2003, EMC Corporation
All rights reserved.

The terms of your use of this software are governed by the
applicable contract.

1. Kit Location [/tmp/symcli/6.2.1/osl_cd] :
Provide the location of the software

2. Install root directory [/opt/emc] :
Enter the path where the symcli needs to be installed

#-----------------------------------------------------------------------------
# The following is AVAILABLE TO BE INSTALLED from the selected Kit Location:
#-----------------------------------------------------------------------------
# ITEM PRODUCT VERSION
#-----------------------------------------------------------------------------
01 EMC Solutions Enabler V6.2.1

What would you like to do? Install (i) Uninstall (u) Register (r) Exit (x):
Enter i to proceed installation

3. At the following prompt, specify whether to install all of the
Solutions Enabler libraries:
Install All Solutions Enabler Shared Libraries and Run
Time Environment? [Y]:
• A [Y]es response installs all the libraries.
• A [N]o response produces the following series of prompts,
which allow you to select the libraries to install. If you only
want to install Solutions Enabler’s core functionality, specify
[N]o for each of the prompts. Solutions Enabler’s core
functionality includes symapi[mt], symlvm[mt],
storapi[mt], storsrvd[mt], symapisrv[mt],
storapid[mt], storcore[mt], stordaemon[mt], and
storpds[mt].
– BaseStor Library Component ? [Y]:
A [Y]es response installs StorSil and Storbase. This
option provides base storage and host specific
functionality, and an interface to storage arrays for features
like I/O scan, device listings, statistics, and showings.
– CtrlStor Library Component ? [Y]:
A [Y]es response installs StorSil, Storbase, and
Storctrl. This option provides the same functionality as
the BaseStor option (explained earlier), but includes
storage control functionality for features like Snap, device
masking, and device mirroring.
– BaseMapping Library Component ? [Y]:
A [Y]es response installs stormap, which provides Storage
Resource Management (SRM) functionality.

4. Solutions Enabler is available in both 32 and 64 bit support on
some operating systems. The following prompt only displays if
Solutions Enabler can support both 32 and 64 bit versions of the
libraries and executables on the host:
Install Solutions Enabler 64-bit Shared libraries ?
[N]:
A [Y]es response installs the 32 and 64 bit libraries. A [N]o
response only installs the 32 bit libraries.
9
Installation
5. At the following prompt, specify whether to install the collection
of binaries known as SYMCLI. A [Y]es response installs the
SYMCLI binaries:
Install Symmetrix Command Line Interface (SYMCLI) ?
[Y]:

6. If you are installing Solutions Enabler on a host with a Linux,
HP-UX, SunOS, or AIX operating system, the following prompt
displays, asking whether to install one or more optional database
components:
Install Solutions Enabler SRM Database Run Time
Components ? [N]:
A [Y]es response displays the following prompts, depending on
your operating system:
• SRM Oracle Database Component ? [N]:
This prompt only displays on operating systems where
Solutions Enabler supports Oracle. A [Y]es response installs
the optional Oracle daemon.
• SRM Informix Database Component ? [N]:
This prompt only displays on operating systems where
Solutions Enabler supports Informix. A [Y]es response
installs the optional Informix daemon.
• SRM Sybase Database Component ? [N]:
This prompt only displays on operating systems where
Solutions Enabler supports Sybase. A [Y]es response installs
the optional Sybase daemon.
• IBM UDB Database Component ? [N]:
This prompt only displays on operating systems where
Solutions Enabler supports UDB. A [Y]es response installs
the optional UDB daemon.

7. At the following prompt, specify whether to install the Solutions
Enabler Java interface component. You should install this
component if your Solutions Enabler application uses a Java
interface. A [Y]es response installs the JNI component:
Install Option to Enable JNI Interface for EMC
Solutions Enabler APIs ? [N]:
40
Installation
8. At the following prompt, specify whether to install the Solutions
Enabler Star component. A [Y]es response installs the Star
component:
Install option to Enable EMC Solutions Enabler Star
component ? [N]:


9. If you are upgrading, the following prompt displays, asking
whether to move the previous installation’s data files to the
symapi_old directory. A [Y]es response moves the files:
Do you want to move this data to
/usr/emc/API/symapi_old ? [N]:

In server server the below issue is faced

server:/opt/emc/SYMCLI/V6.2.1/bin# ./syminq
A requested network service was not found in the service file
server:/opt/emc/SYMCLI/V6.2.1/bin#

Found the environmental variables are not set properly
>>>
server:/tmp/symcli/6.2.1# symcli -def
Symmetrix Command Line Interface (SYMCLI) Version V6.2.1.0 (Edit Level: 733)
built with SYMAPI Version V6.2.1.0 (Edit Level: 733)

Current settings of the SYMCLI environmental variables:

SYMCLI_CONNECT : SYMAPI_SERVER
>>>

To correct this I done the unset command
Unset SYMCLI_CONNECT and removed the SYMCLI_CONNECT from root user .profile file as below

# SYMCLI_CONNECT=SYMAPI_SERVER
# export SYMCLI_CONNECT

QLC error message for HBA in Solaris

Friday, August 13, 2010 at 7:35 AM
QLC error message:

Aug 9 02:00:42 test1 qlc: [ID 607548 kern.info] QEL qlc(4): ql_sdm_setup, failed, version
Aug 9 02:00:42 test1 qlc: [ID 599862 kern.info] QEL qlc(4): ql_sdm_ioctl, failed, sdm_setup
Aug 9 02:00:42 test1 qlc: [ID 771894 kern.info] QEL qlc(4): ql_ioctl,unknown command = 115
Aug 9 02:00:42 test1 qlc: [ID 875411 kern.info] QEL qlc(4): ql_ioctl,failed, rval = 25
Aug 10 02:00:45 test1 qlc: [ID 607548 kern.info] QEL qlc(4): ql_sdm_setup, failed, version
Aug 10 02:00:45 test1 qlc: [ID 599862 kern.info] QEL qlc(4): ql_sdm_ioctl, failed, sdm_setup
Aug 10 02:00:45 test1 qlc: [ID 771894 kern.info] QEL qlc(4): ql_ioctl,


Solution:

The error messages observed are the consequence of enabling the extended loggin on qld driver, see configuration file qlc.conf:

#Name: Enable extended logging
#Type: Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
#Usage: This field enables logging of driver detected events occurring
# either in the driver or fibre channel bus. Events are logged
# in Solaris /var/adm/messages file.
#
#
# extended-logging=0;
extended-logging=1; <---!!!

Those messages are reported against instances 3 and 4, this are related to the following paths:

"/node@1/pci@8,700000/pci@2/SUNW,qlc@4" 0 "qlc"
"/node@1/pci@8,700000/pci@2/SUNW,qlc@5" 1 "qlc"

"/node@1/pci@9,600000/QLGC,qla@1" 4 "qlc" -->
"/node@1/pci@9,600000/QLGC,qla@2" 3 "qlc" -->

"/node@1/pci@8,600000/SUNW,qlc@2" 2 "qlc"


There are two SUN HBAs :

Opening Device: /devices/pci@8,700000/pci@2/SUNW,qlc@4/fp@0,0:devctl
Detected FCode Version: ISP2200 FC-AL Host Adapter Driver: 1.13 01/03/05

Opening Device: /devices/pci@8,700000/pci@2/SUNW,qlc@5/fp@0,0:devctl
Detected FCode Version: ISP2200 FC-AL Host Adapter Driver: 1.13 01/03/05

Opening Device: /devices/pci@8,600000/SUNW,qlc@2/fp@0,0:devctl
Detected FCode Version: ISP2200 FC-AL Host Adapter Driver: 1.14 01/11/20


1) | 'PCI Dual FC Network Adapter+' | X6727A | 375-3030
/devices/pci@8,700000/pci@2/SUNW,qlc@4/fp@0,0:devctl NOT CONNECTED qlc0
/devices/pci@8,700000/pci@2/SUNW,qlc@5/fp@0,0:devctl NOT CONNECTED qlc1



2) | 'Onboard FC-AL (ISP220x)' | N/A | N/A
/devices/pci@8,600000/SUNW,qlc@2/fp@0,0:devctl CONNECTED qlc2



And there is a third party HBA, configured under Sun qlc driver, used to access EMC array:

/devices/pci@9,600000/QLGC,qla@1/fp@0,0:devctl CONNECTED qlc4
/devices/pci@9,600000/QLGC,qla@2/fp@0,0:devctl CONNECTED qlc3

DEVICE PROPERTIES for disk: 5006048441dde6a3
Vendor: EMC
Product ID: SYMMETRIX
Revision: 5568
Serial Num: 702042C64000
Unformatted capacity: 4095.000 MBytes
Read Cache: Enabled
Minimum prefetch: 0x0
Maximum prefetch: 0xffff
Device Type: Disk device
Path(s):

/dev/rdsk/c6t5006048441DDE6A3d15s2
/devices/pci@9,600000/QLGC,qla@1/fp@0,0/ssd@w5006048441dde6a3,f:c,raw
LUN path port WWN: 5006048441dde6a3
Host controller port WWN: 210000e08b06abcb
Path status: O.K.
/dev/rdsk/c7t5006048441DDE69Cd15s2
/devices/pci@9,600000/QLGC,qla@2/fp@0,0/ssd@w5006048441dde69c,f:c,raw
LUN path port WWN: 5006048441dde69c
Host controller port WWN: 210000e08b06accb
Path status: O.K.


bash-3.00$ more luxadm_-e_port.out

Found path to 5 HBA ports

/devices/pci@8,700000/pci@2/SUNW,qlc@4/fp@0,0:devctl NOT CONNECTED
/devices/pci@8,700000/pci@2/SUNW,qlc@5/fp@0,0:devctl NOT CONNECTED
/devices/pci@8,600000/SUNW,qlc@2/fp@0,0:devctl CONNECTED
/devices/pci@9,600000/QLGC,qla@1/fp@0,0:devctl CONNECTED
/devices/pci@9,600000/QLGC,qla@2/fp@0,0:devctl CONNECTED


If you don't want to see those debugging messsages, you can edit /kernel/drv/qlc.conf and chage line extended-logging=1; to extended-logging=0; , save the file and reboot.

Solaris | Powered by Blogger | Entries (RSS) | Comments (RSS) | Designed by MB Web Design | XML Coded By Cahayabiru.com