#!/bin/bash
set +x
LOG_FILE="/var/log/inspect.log"
G_MML_FILE_PATH="/opt/huawei/snas/script/inspect_mml"
source $G_MML_FILE_PATH/CheckItems
source $G_MML_FILE_PATH/CommonFunc.sh
CurInspectNum="237"
CurInspectFun="$(GetInspectType $CurInspectNum)"
RESULTFILE="/tmp/tmpResult${CurInspectFun}"
LOCAL_BACK_IP=""
isPass=0
>${RESULTFILE}

function LOG
{
    time=$(date)
    echo [${time}][$$][$CurInspectFun]$@ >> $LOG_FILE
}


function checkRPCRefCnt()
{
    local port_result=""
    local iRet=0
    local netport=""
    local status=""

    LOCAL_BACK_IP=`GetLocalIp`
    if [ "${LOCAL_BACK_IP}X" == "X" ];then
        ErrInfoCommon "Node:$(hostname) ||INFO:Can't get backend IP." "${RESULTFILE}"
        LOG "[ERR]Node:$(hostname) ||INFO:Can't get backend IP."
        isPass=1
        return
    fi

    set_ifs
    port_result=$(cat /opt/huawei/snas/etc/frontPortStatus)
    iRet=$?
    LOG "[$FUNCNAME]node:$LOCAL_BACK_IP, port_result:$port_result,iRet:$iRet."
    if [ "$port_result" == "" ] ;then
        isPass=1
        ErrInfoCommon "Node:$LOCAL_BACK_IP||INFO:get frontPortStatus failed from command(cat /opt/product/snas/etc/frontPortStatus)." "${RESULTFILE}"
        restore_ifs
        return
    fi
    for line in $port_result; do
        netport=$(echo $line|awk -F ":" '{print $1}'|tr -d ' ')
        status=$(echo $line|awk -F ":" '{print $2}'|tr -d ' ')
        if [ "$status" == "DOWN" ];then
            isPass=4
            ErrInfoCommon "Node:$LOCAL_BACK_IP||INFO:Status of Netport($netport) is DOWN." "${RESULTFILE}"
            LOG "[$FUNCNAME]isPass:$isPass,node:$LOCAL_BACK_IP,line:$line"
        fi
        echo "Node:$LOCAL_BACK_IP||Netport:$netport||Status:$status" >> ${RESULTFILE} 2>&1
    done

    restore_ifs
}

checkRPCRefCnt
echo "${CurInspectFun}_Pass $isPass" >>${RESULTFILE} 2>&1

