pdu += vb;
}
if (int c = _snmp.set(pdu, target) != SNMP_CLASS_SUCCESS) {
- logger << "Switch::dropACLsByTable() - failed to invoke Snmp::set for the switch '" << _ip << "'. Error message: '" << Snmp::error_msg(c) << "'" << std::endl;
- return false;
+ if (c != SNMP_ERROR_TOO_BIG) {
+ logger << "Switch::dropACLsByTable() - failed to invoke Snmp::set for the switch '" << _ip << "'. Error message: '" << Snmp::error_msg(c) << "'" << std::endl;
+ return false;
+ }
}
}
return true;
bool Switch::createACLs(const CTarget & target)
{
std::vector<ACL>::const_iterator it;
+ size_t pos = 0;
for (it = _acls.begin(); it != _acls.end(); ++it) {
Pdu pdu;
it->appendPdu(pdu);
if (int c = _snmp.set(pdu, target) != SNMP_CLASS_SUCCESS) {
- logger << "Switch::createACLs() - failed to invoke Snmp::set for the switch '" << _ip << "'. Error message: '" << Snmp::error_msg(c) << "'" << std::endl;
- return false;
+ if (c != SNMP_ERROR_TOO_BIG) {
+ logger << "Switch::createACLs() - failed to invoke Snmp::set for the switch '" << _ip << "'. Error message: '" << Snmp::error_msg(c) << "'. Error occured at creation of " << (pos + 1) << " from " << _acls.size() << " ACL's" << std::endl;
+ logger << "Switch::createACLs() - ACL dump: " << *it << std::endl;
+ return false;
+ }
}
_aclsCreated = true;
+ ++pos;
}
return true;
}