#!/bin/bash
set +x
G_INSPECT_MMLPATH="/opt/huawei/snas/script/inspect_mml"
[ -f ${G_INSPECT_MMLPATH}/CheckItems ] && source ${G_INSPECT_MMLPATH}/CheckItems
source ${G_INSPECT_MMLPATH}/CommonFunc.sh

# 这个巡检项实际就是想检查非管理节点在ip route show table om1上是否残留着管理IP的路由配置
# 老版本切主后老的管理节点上管理IP的路由可能删除不干净
function CheckRouteConfigured()
{
    local iRet=0
    local isPass=0
    local tmpdir="/tmp/CheckMgtRouteConfigured"
    local line=""
    local srcIp=""
    local om1RouteCfg="no"
    local curInspectNum="326"
    local curInspectFun="$(GetInspectType $curInspectNum)"
    local resultFile="/tmp/tmpResult${curInspectFun}"
    [ -f ${resultFile} ] && rm ${resultFile}
    >${resultFile}

    # 检查标准，如果说，table om1中存在的路由源srcip在节点上没有配置，即是管理IP路由残留
    set_ifs
    for srcIp in $( ip route show table om1 | awk '{print $NF}' )
    do
        om1RouteCfg="yes"
        echo "${srcIp}" 2>&1 | egrep "[1-9]*[0-9]{0,2}\.[1-9]*[0-9]{0,2}\.[1-9]*[0-9]{0,2}\.[1-9]*[0-9]{0,2}" >/dev/null 2>&1
        if [ $? -ne 0 ]; then
            continue
        fi

        srcIp=$( echo "${srcIp}" | sed -e "s/^ *//g" -e "s/ *$//g" )
        ifconfig | grep -w ${srcIp}
        if [ $? -ne 0 ]
        then
            isPass=1
            echo "[ERR]INFO:${srcIp} is configuration on route table om1,but not configuration on any NIC." >> ${resultFile} 2>&1
            continue
        fi
    done

    restore_ifs

    echo "om1RouteCfg:${om1RouteCfg}" >> ${resultFile}  2>&1
    echo "${curInspectFun}_Pass ${isPass}" >>${resultFile} 2>&1
    
    return
}

CheckRouteConfigured
#总是返回成功，以[ERR]标识是否有误
exit 0

