Tuesday, April 12, 2011

network tuning script

#!/sbin/sh
# /etc/rc2.d/S68net-tune /etc/init.d/net-tune
# Copyright (c) 2000 by Sun Microsystems, Inc.
# All rights reserved.
#
#ident  "@(#)net-tune      1.6.4     030416 SMI ES-PTS-NET/Lor"
#
# Edit the following example code to suit your needs.
# Depending on your changes, this script overwrites the Sun recommended default
# values (To use the default values, you do not need this script). See Product
# Documentation and SunSolve Infodocs for proper use first (e.g. Infodocs 17416,
# 23041, 41665). Most parameters must be set on both sides to have effect
# (e.g. check switch and IP partner settings).
# To install:
# 1) cp S68net-tune to /etc/rc2.d
# 2) perform edits on the sript as required
# 3) chmod 744 /etc/rc2.d/S68net-tune
# 4) chown root:sys /etc/rc2.d/S68net-tune
# 5) ln /etc/rc2.d/S68net-tune /etc/init.d/net-tune

PATH=/usr/bin:/usr/sbin

case "$1" in
     'start')
 echo "Implementing Solaris Network Tuning."

# hme-Interfaces
# hme0
 #ndd -set /dev/hme instance 0
 #ndd -set /dev/hme adv_100T4_cap 0
 #ndd -set /dev/hme adv_100fdx_cap 1
 #ndd -set /dev/hme adv_100hdx_cap 0
 #ndd -set /dev/hme adv_10fdx_cap 0
 #ndd -set /dev/hme adv_10hdx_cap 0
 #ndd -set /dev/hme adv_autoneg_cap 0
# hme1
 #ndd -set /dev/hme instance 1
 #ndd -set /dev/hme adv_100T4_cap 0
 #ndd -set /dev/hme adv_100fdx_cap 1
 #ndd -set /dev/hme adv_100hdx_cap 0
 #ndd -set /dev/hme adv_10fdx_cap 0
 #ndd -set /dev/hme adv_10hdx_cap 0
 #ndd -set /dev/hme adv_autoneg_cap 0

# eri-Interfaces
# eri0
        #ndd -set /dev/eri instance 0
        #ndd -set /dev/eri adv_100T4_cap 0
        #ndd -set /dev/eri adv_100fdx_cap 1
        #ndd -set /dev/eri adv_100hdx_cap 0
        #ndd -set /dev/eri adv_10fdx_cap 0
        #ndd -set /dev/eri adv_10hdx_cap 0
        #ndd -set /dev/eri adv_autoneg_cap 0

# qfe-Interfaces
# qfe0
 #ndd -set /dev/qfe instance 0
 #ndd -set /dev/qfe adv_100T4_cap 0
 #ndd -set /dev/qfe adv_100fdx_cap 1
 #ndd -set /dev/qfe adv_100hdx_cap 0
 #ndd -set /dev/qfe adv_10fdx_cap 0
 #ndd -set /dev/qfe adv_10hdx_cap 0
 #ndd -set /dev/qfe adv_autoneg_cap 0
# qfe1
 #ndd -set /dev/qfe instance 1
 #ndd -set /dev/qfe adv_100T4_cap 0
 #ndd -set /dev/qfe adv_100fdx_cap 1
 #ndd -set /dev/qfe adv_100hdx_cap 0
 #ndd -set /dev/qfe adv_10fdx_cap 0
 #ndd -set /dev/qfe adv_10hdx_cap 0
 #ndd -set /dev/qfe adv_autoneg_cap 0

# dmfe-Interfaces (Netra X1)
# dmfe0
 #ndd -set /dev/dmfe0 adv_100fdx_cap 1
 #ndd -set /dev/dmfe0 adv_100hdx_cap 0
 #ndd -set /dev/dmfe0 adv_10fdx_cap 0
 #ndd -set /dev/dmfe0 adv_10hdx_cap 0
 #ndd -set /dev/dmfe0 adv_autoneg_cap 0
# dmfe1
 #ndd -set /dev/dmfe1 adv_100fdx_cap 1
 #ndd -set /dev/dmfe1 adv_100hdx_cap 0
 #ndd -set /dev/dmfe1 adv_10fdx_cap 0
 #ndd -set /dev/dmfe1 adv_10hdx_cap 0
 #ndd -set /dev/dmfe1 adv_autoneg_cap 0

# vge-Interfaces (Gigabit 1.x)
# vge0
 #ndd -set /dev/vge instance 0
 #ndd -set /dev/vge fdr_filter 1
 #ndd -set /dev/vge link_negotiation 0
# vge1
 #ndd -set /dev/vge instance 1
 #ndd -set /dev/vge fdr_filter 1
 #ndd -set /dev/vge link_negotiation 0

# ge-Interfaces (Gigabit 2.x and 3.x)
# example: forced 1000 Mbit/s, 802.3x Flow Control send and receive
# check if your NIC is 802.3x capable (ndd parameter pause_cap, asm_dir_cap) 
# ge0
 #ndd -set /dev/ge instance 0
 #ndd -set /dev/ge adv_1000fdx_cap 1
 #ndd -set /dev/ge adv_1000hdx_cap 0
        #ndd -set /dev/ge adv_pauseTX 1
 #ndd -set /dev/ge adv_pauseRX 1
 #ndd -set /dev/ge adv_1000autoneg_cap 0
# ge1
 #ndd -set /dev/ge instance 1
 #ndd -set /dev/ge adv_1000fdx_cap 1
 #ndd -set /dev/ge adv_1000hdx_cap 0
        #ndd -set /dev/ge adv_pauseTX 1
 #ndd -set /dev/ge adv_pauseRX 1
 #ndd -set /dev/ge adv_1000autoneg_cap 0

# ce-Interfaces (GigaSwift 1.0 UTP)
# example: forced 1000 Mbit/s, 802.3x Flow Control send and receive
# ce0
 #ndd -set /dev/ce instance 0
        # Master values, change in forced 1000 Mbit/s back-to-back config only:
        #ndd -set /dev/ce link_master 0 # one link partner 1, the other 0 (ce <=1.118)
        #ndd -set /dev/ce master_cfg_enable 1 # enable usage of master_cfg_value (ce >1.118)
        #ndd -set /dev/ce master_cfg_value 0  # one link partner 1, the other 0 (ce >1.118)
        # Speed/Mode values, set the desired to 1, all other to 0:
 #ndd -set /dev/ce adv_1000fdx_cap 1
 #ndd -set /dev/ce adv_1000hdx_cap 0
 #ndd -set /dev/ce adv_100fdx_cap 0
 #ndd -set /dev/ce adv_100hdx_cap 0
 #ndd -set /dev/ce adv_10fdx_cap 0
 #ndd -set /dev/ce adv_10hdx_cap 0
        #ndd -set /dev/ce adv_asmpause_cap 0
        #ndd -set /dev/ce adv_pause_cap 1
 #ndd -set /dev/ce adv_autoneg_cap 0
# ce1
 #ndd -set /dev/ce instance 1
        # Master values, change in forced 1000 Mbit/s back-to-back config only:
        #ndd -set /dev/ce link_master 0 # one link partner 1, the other 0 (ce <=1.118)
        #ndd -set /dev/ce master_cfg_enable 1 # enable usage of master_cfg_value (ce >1.118)
        #ndd -set /dev/ce master_cfg_value 0  # one link partner 1, the other 0 (ce >1.118)
        # Speed/Mode values, set the desired to 1, all other to 0:
 #ndd -set /dev/ce adv_1000fdx_cap 1
 #ndd -set /dev/ce adv_1000hdx_cap 0
 #ndd -set /dev/ce adv_100fdx_cap 0
 #ndd -set /dev/ce adv_100hdx_cap 0
 #ndd -set /dev/ce adv_10fdx_cap 0
 #ndd -set /dev/ce adv_10hdx_cap 0
        #ndd -set /dev/ce adv_asmpause_cap 0
        #ndd -set /dev/ce adv_pause_cap 1
 #ndd -set /dev/ce adv_autoneg_cap 0

# switch MTU path discovery off
 #ndd -set /dev/ip ip_path_mtu_discovery 0
# TCP/UDP buffer tunings
 #ndd -set /dev/tcp tcp_xmit_hiwat 65536
 #ndd -set /dev/tcp tcp_recv_hiwat 65536
 #ndd -set /dev/udp udp_xmit_hiwat 65536
 #ndd -set /dev/udp udp_recv_hiwat 65536
# TCP congestion window size, for Solaris <= 2.5, only
 #ndd -set /dev/tcp tcp_cwnd_max 65535
# Change TCP maximum retransmission interval, for Solaris <= 7, only
        #ndd -set /dev/tcp tcp_rexmit_interval_max 60000
# Change number of TCP slow start initial packets to work arround
# slow start bug in BSD stack and Windows. For Solaris <= 7, only
        #ndd -set /dev/tcp tcp_slow_start_initial 2 

         ;;

     'stop')
         echo "No kernel parameters changed."
         ;;

        *)
         echo "Usage: $0 {start|stop}"
         ;;

  esac
  exit 0

0 comments:

Post a Comment

 
;