#!/usr/bin/ksh
# ---------------------------------------------------
# nom : init_carte_reseau.ksh
# Auteur :  BL  Version : V0
# Projet :
# ---------------------------------------------------

# recherche du type de carte reseau du serveur
# 1a) recherche par le ifconfig -a
ifconfig -a | grep ":"|grep -v ether|cut -f1 -d:|grep -v lo0 | cut -b1-2 | sort -u # | tee -a /tmp/liste_type_carte
typecard=`cat /tmp/liste_type_carte`

# 1b) recherche dans les devices standards de type carte reseau
cd /dev
ls -l ce* bge* hme* qfe* 2> /dev/null |grep -v "^d" |awk '{print $9}' 2> /dev/null |  tee -a /tmp/liste_type_devices_res
# comparaison avec les resultats trouves precedemment a l'etape 1a)

# 2) test de la version de l'OS de Solaris

VERS_OS=`uname -a|awk '{print $3}'`
echo "Version de l'OS : $VERS_OS"

# 3) selon l'OS execution du script de test correspondant de la carte reseau

case $VERS_OS in
5.6) : ;;
5.8) : ;;
5.9) : ;;
5.10) : ;;
esac

# 3b) Test des commandes possibles en fonction de l'OS (par exemple : en 10 : dladm ...).

ndd -get /dev/$typecard$num ? |grep -v "\?" | grep "(read and write)" | tee -a /tmp/liste_cdes_init
ndd -get /dev/$typecard$num ? |grep -v "\?" | grep "(read only)" | tee -a /tmp/liste_cdes_interrog

# 4a) test de l'etat des pattes de la carte
for num in 0 1 2
do
    typecard="bge"
    echo "${typecard}${num} link_status (1 = Up, 0 = Down)  : `ndd -get /dev/${typecard}${num} link_status`"
    echo "${typecard}${num} link_speed  (1 = 100  0 = 10)   : `ndd -get /dev/${typecard}${num} link_speed`"
    echo "${typecard}${num} link_duplex (1 = full 0 = half) : `ndd -get /dev/${typecard}${num} link_duplex`"
done


#  4b) recherche automatique de la config au niveau speed, FDX/HDX, auto qui fonctionne pour les pattes
#      en fonction du test precedent


# 5) Initialisation de la carte reseau sous la forme d'un dialogue
#    - a) soit determine automatiquement en fonction du test precedent
#    - b) soit en fonction d'un dialogue avec l'utilisateur qui lui specifie les parametres voulus par la DDD ou la FT

#typecard="bge"

num=0
  ndd -set /dev/$typecard$num adv_1000fdx_cap 1
  ndd -set /dev/$typecard$num adv_1000hdx_cap 0
  ndd -set /dev/$typecard$num adv_100fdx_cap 0
  ndd -set /dev/$typecard$num adv_100hdx_cap 0
  ndd -set /dev/$typecard$num adv_10fdx_cap 0
  ndd -set /dev/$typecard$num adv_10hdx_cap 0
  ndd -set /dev/$typecard$num adv_autoneg_cap 0

num=1
  ndd -set /dev/$typecard$num adv_1000fdx_cap 0
  ndd -set /dev/$typecard$num adv_1000hdx_cap 0
  ndd -set /dev/$typecard$num adv_100fdx_cap 1
  ndd -set /dev/$typecard$num adv_100hdx_cap 0
  ndd -set /dev/$typecard$num adv_10fdx_cap 0
  ndd -set /dev/$typecard$num adv_10hdx_cap 0
  ndd -set /dev/$typecard$num adv_autoneg_cap 0

num=2
  ndd -set /dev/$typecard$num adv_1000fdx_cap 0
  ndd -set /dev/$typecard$num adv_1000hdx_cap 0
  ndd -set /dev/$typecard$num adv_100fdx_cap 1
  ndd -set /dev/$typecard$num adv_100hdx_cap 0
  ndd -set /dev/$typecard$num adv_10fdx_cap 0
  ndd -set /dev/$typecard$num adv_10hdx_cap 0
  ndd -set /dev/$typecard$num adv_autoneg_cap 0
