Имеется некоторая тестовая политика:
router#sh policy-map NAME1Опрос скриптом показал, что ей индекс не присваивается до тех пор, пока она не будет прописана на интерфейсе:
Policy Map NAME1
Class TEST1
police cir 10000000 bc 312500
conform-action transmit
exceed-action drop
router(config)#interface GigabitEthernet0/0.100Вывод скрипта:
router(config-subif)#service-policy output NAME1
router(config-subif)#exit
[root@mg ~/bin]# ./cbqos4.py -c public -d 10.10.10.10Индекс политики - 1170, а индекс класса - 9263201. Теперь переименование:
cbQosPolicyIndex.cbQosObjectsIndex Policy Name. Take QosObjectsIndex index as -k argument
1170.1170 NAME1
[root@mg ~/bin]# ./cbqos4.py -c public -d 10.10.10.10 -k 1170
cbQosPolicyIndex.cbQosObjectsIndex Description
1170.9984706 matchStatement named:Match dscp af41 (34)
1170.1170 policymap named:NAME1
1170.9895827 police
1170.7082977 classmap named:class-default match:matchAny
1170.15757298 matchStatement named:Match any
1170.9263201 classmap named:TEST1 match:matchAll
router(config)#class-map TEST1Вывод скрипта показывает, что изменился индекс класса, а так же изменились индексы, для которых класс являлся родительским:
router(config-cmap)#rename TEST2
[root@mg ~/bin]# ./cbqos4.py -c public -d 10.10.10.10 -k 1170Далее переименовывается политика:
cbQosPolicyIndex.cbQosObjectsIndex Description
1170.1170 policymap named:NAME1
1170.467026 matchStatement named:Match dscp af41 (34)
1170.9263217 classmap named:TEST2 match:matchAll
1170.10313619 police
1170.15757298 matchStatement named:Match any
1170.7082977 classmap named:class-default match:matchAny
router(config)#policy-map NAME1Вывод скрипта показывает, что изменений не произошло:
router(config-pmap)#rename NAME2
[root@mg ~/bin]# ./cbqos4.py -c public -d 10.10.10.10
cbQosPolicyIndex.cbQosObjectsIndex Policy Name. Take QosObjectsIndex index as -k argument
1170.1170 NAME2
[root@mg ~/bin]# ./cbqos4.py -c public -d 10.10.10.10 -k 1170
cbQosPolicyIndex.cbQosObjectsIndex Description
1170.1170 policymap named:NAME2
1170.467026 matchStatement named:Match dscp af41 (34)
1170.9263217 classmap named:TEST2 match:matchAll
1170.10313619 police
1170.15757298 matchStatement named:Match any
1170.7082977 classmap named:class-default match:matchAny
Отмечу, что переименование происходит легко, но может отразиться на мониторинге, так как переименованный класс меняет свои индекс. А вообще, для мониторинга параметров следует сохранять в nvram не только индексы интерфейсов, но и индексы cbqos:
snmp-server ifindex persist
snmp mib persist cbqos