Search in sources :

Example 1 with V2cSnmpConfiguration

use of com.btisystems.pronx.ems.core.snmp.V2cSnmpConfiguration in project onos by opennetworkinglab.

the class DefaultSnmpController method getSession.

@Override
@Deprecated
public ISnmpSession getSession(DeviceId deviceId) throws IOException {
    if (!sessionMap.containsKey(deviceId)) {
        SnmpDevice device = snmpDeviceMap.get(deviceId);
        ISnmpSessionFactory sessionFactory = factoryMap.get(device.getVersion());
        if (Objects.isNull(sessionFactory)) {
            log.error("Invalid session factory", deviceId);
            throw new SnmpException("Invalid session factory");
        }
        String ipAddress = null;
        int port = -1;
        if (device != null) {
            ipAddress = device.getSnmpHost();
            port = device.getSnmpPort();
        } else {
            String[] deviceComponents = deviceId.toString().split(":");
            if (deviceComponents.length > 1) {
                ipAddress = deviceComponents[1];
                port = Integer.parseInt(deviceComponents[2]);
            } else {
                log.error("Cannot obtain correct information from device id", deviceId);
            }
        }
        Preconditions.checkNotNull(ipAddress, "ip address is empty, cannot start session");
        Preconditions.checkArgument(port != -1, "port is incorrect, cannot start session");
        ISnmpConfiguration config;
        if (device.getVersion() == SnmpConstants.version2c) {
            config = new V2cSnmpConfiguration();
            config.setCommunity(device.getCommunity());
        } else if (device.getVersion() == SnmpConstants.version3) {
            DefaultSnmpv3Device v3Device = (DefaultSnmpv3Device) device;
            config = V3SnmpConfiguration.builder().setAddress(ipAddress).setSecurityName(v3Device.getSecurityName()).setSecurityLevel(v3Device.getSecurityLevel()).setAuthenticationProtocol(v3Device.getAuthProtocol()).setAuthenticationPassword(v3Device.getAuthPassword()).setPrivacyProtocol(v3Device.getPrivProtocol()).setPrivacyPassword(v3Device.getPrivPassword()).setContextName(v3Device.getContextName()).build();
        } else {
            throw new SnmpException(String.format("Invalid snmp version %d", device.getVersion()));
        }
        config.setPort(port);
        sessionMap.put(deviceId, sessionFactory.createSession(config, ipAddress));
    }
    return sessionMap.get(deviceId);
}
Also used : SnmpException(org.onosproject.snmp.SnmpException) SnmpDevice(org.onosproject.snmp.SnmpDevice) ISnmpSessionFactory(com.btisystems.pronx.ems.core.snmp.ISnmpSessionFactory) V2cSnmpConfiguration(com.btisystems.pronx.ems.core.snmp.V2cSnmpConfiguration) ISnmpConfiguration(com.btisystems.pronx.ems.core.snmp.ISnmpConfiguration)

Example 2 with V2cSnmpConfiguration

use of com.btisystems.pronx.ems.core.snmp.V2cSnmpConfiguration in project onos by opennetworkinglab.

the class DefaultSnmpController method activate.

@Activate
public void activate(ComponentContext context) {
    factoryMap = Maps.newHashMap();
    factoryMap.put(SnmpConstants.version2c, new SnmpSessionFactory(new DefaultSnmpConfigurationFactory(new V2cSnmpConfiguration())));
    factoryMap.put(SnmpConstants.version3, new SnmpSessionFactory(new DefaultSnmpConfigurationFactory(new V3SnmpConfiguration())));
    log.info("Started");
}
Also used : ISnmpSessionFactory(com.btisystems.pronx.ems.core.snmp.ISnmpSessionFactory) SnmpSessionFactory(com.btisystems.pronx.ems.core.snmp.SnmpSessionFactory) DefaultSnmpConfigurationFactory(com.btisystems.pronx.ems.core.snmp.DefaultSnmpConfigurationFactory) V2cSnmpConfiguration(com.btisystems.pronx.ems.core.snmp.V2cSnmpConfiguration) Activate(org.osgi.service.component.annotations.Activate)

Aggregations

ISnmpSessionFactory (com.btisystems.pronx.ems.core.snmp.ISnmpSessionFactory)2 V2cSnmpConfiguration (com.btisystems.pronx.ems.core.snmp.V2cSnmpConfiguration)2 DefaultSnmpConfigurationFactory (com.btisystems.pronx.ems.core.snmp.DefaultSnmpConfigurationFactory)1 ISnmpConfiguration (com.btisystems.pronx.ems.core.snmp.ISnmpConfiguration)1 SnmpSessionFactory (com.btisystems.pronx.ems.core.snmp.SnmpSessionFactory)1 SnmpDevice (org.onosproject.snmp.SnmpDevice)1 SnmpException (org.onosproject.snmp.SnmpException)1 Activate (org.osgi.service.component.annotations.Activate)1