{
    "name"  : "检查生成树是否存在异常",
    "problems" : {
        "problem1" : {
            "desc"      : "【问题】接口配置的Root Guard功能生效，并且被BLOCK",
            "advice"    : "【建议】请核实接口上是否必要开启Root Guard功能（一般配置于设备下联指派口上，用于防止根桥变化影响到核心网络。）可通过接口模式下no spanning-tree guard root关闭"
        },
        "problem2" : {
            "desc"      : "【问题】接口因配置的Loop Guard生效，而将端口BLOCK。",
            "advice"    : "请核实接口上是否必要开启Loop Guard功能（一般在上联根桥方向的接口上配置，防止接口因收包异常而出现环路。）可通过接口模式下no spanning-tree guard loop关闭；"
        },
		"problem3" : {
            "desc"      : "【问题】存在接口BPDU Guard功能生效，而将端口设置为违例状态的情况。",
            "advice"    : "【建议】请检查该接口是否有必要开启BPDU Guard功能。若有必要打开，则说明该接口下联拓扑会发送BPDU报文上来，需要进行排查；若不用打开，则可通过接口模式下spanning-tree bpduguard disabled关闭"
        }
    }
}

---------------------------code-------------------------------
response = cli("show spanning-tree inconsistentports")
if response.indexOf("Root Inconsistent") != -1 :
	add_problem('problem1')
    return 'warn'
else if response.indexOf("Loop Inconsistent") != -1 :
	add_problem('problem2')
    return 'warn'
end
response = cli("show interface status err-disabled")
if response.indexOf("err-disabled") != -1 && response.indexOf("BPDU Guard") != -1  :
	add_problem('problem3')
    return 'warn'
end

return 'success'
