1) Имеется DES-3526 (A4G) прошивка 4.01-B19.
2) Имеется скрипт для создания ACL Packet_Content по snmp.
Проблема: при создании ACL некоторые смещения (offset) не добавляются. Через D-view все ОК!
Создаю так:
Код:
#!/bin/sh
. ./acl.cfg
HOST=10.16.40.2
# Profile ID
PID=$1
# Access ID
AID=$2
# Switch Port
SW_PORT=`$PORTCONV_PATH 2 $3`
MAC='00 00 00 00 00 00 00 41 f4 89 b4 1f 00 00 00 00'
IP1='00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 01'
IP2='15 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
# Offset0-15
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.3.$PID.$AID x
"$MAC"
# Offset16-31
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.4.$PID.$AID x
"$IP1"
# Offset32-47
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.5.$PID.$AID x
"$IP2"
# Rule PERMIT/DENY
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.13.$PID.$AID i 2
# Port SW
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.14.$PID.$AID x
"$SW_PORT"
# Create ACL Status
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.15.$PID.$AID i 4
Удаляю так:
Код:
#!/bin/sh
. ./acl.cfg
HOST=10.16.40.2
# Profile ID
PID=$1
# Access ID
AID=$2
# Delete ACL Status
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.15.$PID.$AID i 6
PID и AID - соответственно ProfileID и AccessID
Получается следующая схема:
1) Я запускаю скрипт для создания правила, оно создается, но поле offset0_15 = все нули, остальные поля -ОК.
2) Удаляю ACL вторым скриптом.
3) Запускаю скрипт создания правил снова, пустое поле уже offset32_47.
4) Удаляю ACL вторым скриптом.
5) Запускаю скрипт снова - уже все поля заполнены правильно!
Думал, может коммутатор не успевает прописать правило - делал таймауты больше - ничего не изменилось. И что интересно, через D-View все работает правильно, и порядок команд абсолютно такой же!
Что может быть? Глюк snmpset? Или что-то еще?