Search in sources :

Example 1 with IPAddress

use of org.eclipse.kura.net.IPAddress in project kura by eclipse.

the class NetworkConfiguration method getModemConfig.

private static ModemConfig getModemConfig(String prefix, Map<String, Object> properties) throws KuraException {
    String key;
    ModemConfig modemConfig = new ModemConfig();
    // apn
    key = prefix + "apn";
    String apn = (String) properties.get(key);
    s_logger.trace("APN is {}", apn);
    modemConfig.setApn(apn);
    // auth type
    key = prefix + "authType";
    String authTypeString = (String) properties.get(key);
    AuthType authType = AuthType.NONE;
    s_logger.trace("Auth type is {}", authTypeString);
    if (authTypeString != null && !authTypeString.isEmpty()) {
        try {
            authType = AuthType.valueOf(authTypeString);
        } catch (IllegalArgumentException e) {
            throw new KuraException(KuraErrorCode.INTERNAL_ERROR, "Could not parse auth type " + authTypeString);
        }
    } else {
        s_logger.trace("Auth type is null");
    }
    modemConfig.setAuthType(authType);
    // data compression
    key = prefix + "dataCompression";
    if (properties.get(key) != null) {
        int dataCompression = (Integer) properties.get(key);
        s_logger.trace("Data compression is {}", dataCompression);
        modemConfig.setDataCompression(dataCompression);
    } else {
        s_logger.trace("Data compression is null");
    }
    // dial string
    key = prefix + "dialString";
    String dialString = (String) properties.get(key);
    s_logger.trace("Dial string is {}", dialString);
    modemConfig.setDialString(dialString);
    // header compression
    key = prefix + "headerCompression";
    if (properties.get(key) != null) {
        int headerCompression = (Integer) properties.get(key);
        s_logger.trace("Header compression is {}", headerCompression);
        modemConfig.setHeaderCompression(headerCompression);
    } else {
        s_logger.trace("Header compression is null");
    }
    // ip address
    String ipAddressString = (String) properties.get(prefix + "ipAddress");
    IPAddress ipAddress = null;
    s_logger.trace("IP address is {}", ipAddressString);
    if (ipAddressString != null && !ipAddressString.isEmpty()) {
        try {
            IPAddress.parseHostAddress(ipAddressString);
        } catch (UnknownHostException e) {
            throw new KuraException(KuraErrorCode.INTERNAL_ERROR, "Could not parse ip address " + ipAddressString);
        }
    } else {
        s_logger.trace("IP address is null");
    }
    modemConfig.setIpAddress(ipAddress);
    // password
    String password = (String) properties.get(prefix + "password");
    s_logger.trace("Password is {}", password);
    modemConfig.setPassword(password);
    // pdp type
    String pdpTypeString = (String) properties.get(prefix + "pdpType");
    PdpType pdpType = PdpType.UNKNOWN;
    if (pdpTypeString != null && !pdpTypeString.isEmpty()) {
        try {
            pdpType = PdpType.valueOf(pdpTypeString);
        } catch (IllegalArgumentException e) {
            throw new KuraException(KuraErrorCode.INTERNAL_ERROR, "Could not parse pdp type " + pdpTypeString);
        }
    }
    s_logger.trace("Pdp type is {}", pdpTypeString);
    modemConfig.setPdpType(pdpType);
    // profile id
    key = prefix + "profileId";
    if (properties.get(key) != null) {
        int profileId = (Integer) properties.get(key);
        s_logger.trace("Profile id is {}", profileId);
        modemConfig.setProfileID(profileId);
    } else {
        s_logger.trace("Profile id is null");
    }
    // ppp number
    key = prefix + "pppNum";
    if (properties.get(key) != null) {
        int pppNum = (Integer) properties.get(key);
        s_logger.trace("PPP number is {}", pppNum);
        modemConfig.setPppNumber(pppNum);
    } else {
        s_logger.trace("PPP number is null");
    }
    // persist
    key = prefix + "persist";
    if (properties.get(key) != null) {
        boolean persist = (Boolean) properties.get(key);
        s_logger.trace("persist is {}", persist);
        modemConfig.setPersist(persist);
    } else {
        s_logger.trace("persist is null");
    }
    // max fail
    key = prefix + "maxFail";
    if (properties.get(key) != null) {
        int maxFail = (Integer) properties.get(key);
        s_logger.trace("maxfail is {}", maxFail);
        modemConfig.setMaxFail(maxFail);
    } else {
        s_logger.trace("maxfail is null");
    }
    // resetTimeout
    key = prefix + "resetTimeout";
    if (properties.get(key) != null) {
        int resetTimeout = (Integer) properties.get(key);
        s_logger.trace("resetTimeout is {}", resetTimeout);
        modemConfig.setResetTimeout(resetTimeout);
    } else {
        s_logger.trace("resetTimeout is null");
    }
    // idle
    key = prefix + "idle";
    if (properties.get(key) != null) {
        int idle = (Integer) properties.get(key);
        s_logger.trace("idle is {}", idle);
        modemConfig.setIdle(idle);
    } else {
        s_logger.trace("idle is null");
    }
    // active filter
    key = prefix + "activeFilter";
    if (properties.get(key) != null) {
        String activeFilter = (String) properties.get(key);
        s_logger.trace("activeFilter is {}", activeFilter);
        modemConfig.setActiveFilter(activeFilter);
    } else {
        s_logger.trace("activeFilter is null");
    }
    // LCP echo interval
    key = prefix + "lcpEchoInterval";
    if (properties.get(key) != null) {
        int lcpEchoInterval = (Integer) properties.get(key);
        s_logger.trace("LCP Echo Interval is {}", lcpEchoInterval);
        modemConfig.setLcpEchoInterval(lcpEchoInterval);
    } else {
        s_logger.trace("LCP Echo Interval is null");
    }
    // LCP echo failure
    key = prefix + "lcpEchoFailure";
    if (properties.get(key) != null) {
        int lcpEchoFailure = (Integer) properties.get(key);
        s_logger.trace("LCP Echo Failure is {}", lcpEchoFailure);
        modemConfig.setLcpEchoFailure(lcpEchoFailure);
    } else {
        s_logger.trace("LCP Echo Failure is null");
    }
    // username
    String username = (String) properties.get(prefix + "username");
    s_logger.trace("Username is {}", username);
    modemConfig.setUsername(username);
    // enabled
    key = prefix + "enabled";
    boolean enabled = false;
    if (properties.get(key) != null) {
        enabled = (Boolean) properties.get(key);
        s_logger.trace("Enabled is {}", enabled);
    } else {
        s_logger.trace("Enabled is null");
    }
    modemConfig.setEnabled(enabled);
    // GPS enabled
    key = prefix + "gpsEnabled";
    boolean gpsEnabled = false;
    if (properties.get(key) != null) {
        gpsEnabled = (Boolean) properties.get(key);
        s_logger.trace("GPS Enabled is {}", gpsEnabled);
    } else {
        s_logger.trace("GPS Enabled is null");
    }
    modemConfig.setGpsEnabled(gpsEnabled);
    return modemConfig;
}
Also used : ModemConfig(org.eclipse.kura.net.modem.ModemConfig) UnknownHostException(java.net.UnknownHostException) KuraException(org.eclipse.kura.KuraException) AuthType(org.eclipse.kura.net.modem.ModemConfig.AuthType) IPAddress(org.eclipse.kura.net.IPAddress) WifiAccessPoint(org.eclipse.kura.net.wifi.WifiAccessPoint) PdpType(org.eclipse.kura.net.modem.ModemConfig.PdpType)

Example 2 with IPAddress

use of org.eclipse.kura.net.IPAddress in project kura by eclipse.

the class NetworkConfiguration method populateNetInterfaceConfiguration.

private void populateNetInterfaceConfiguration(AbstractNetInterface<? extends NetInterfaceAddressConfig> netInterfaceConfig, Map<String, Object> props) throws UnknownHostException, KuraException {
    String interfaceName = netInterfaceConfig.getName();
    StringBuffer keyBuffer = new StringBuffer();
    keyBuffer.append("net.interface.").append(interfaceName).append(".type");
    NetInterfaceType interfaceType = NetInterfaceType.valueOf((String) props.get(keyBuffer.toString()));
    s_logger.trace("Populating interface: {} of type {}", interfaceName, interfaceType);
    // build the prefixes for all the properties associated with this interface
    StringBuilder sbPrefix = new StringBuilder();
    sbPrefix.append("net.interface.").append(interfaceName).append(".");
    String netIfReadOnlyPrefix = sbPrefix.toString();
    String netIfPrefix = sbPrefix.append("config.").toString();
    String netIfConfigPrefix = sbPrefix.toString();
    // [RO] State
    String stateConfig = netIfReadOnlyPrefix + "state";
    if (props.containsKey(stateConfig)) {
        try {
            NetInterfaceState state = (NetInterfaceState) props.get(stateConfig);
            s_logger.trace("got state: {}", state);
            netInterfaceConfig.setState(state);
        } catch (Exception e) {
            s_logger.error("Could not process State configuration. Retaining current value.", e);
        }
    }
    // Auto connect
    boolean autoConnect = false;
    String autoConnectKey = netIfPrefix + "autoconnect";
    if (props.containsKey(autoConnectKey)) {
        autoConnect = (Boolean) props.get(autoConnectKey);
        s_logger.trace("got autoConnect: {}", autoConnect);
        netInterfaceConfig.setAutoConnect(autoConnect);
    }
    // MTU
    String mtuConfig = netIfPrefix + "mtu";
    if (props.containsKey(mtuConfig)) {
        int mtu = (Integer) props.get(mtuConfig);
        s_logger.trace("got MTU: {}", mtu);
        netInterfaceConfig.setMTU(mtu);
    }
    // Driver
    String driverKey = netIfReadOnlyPrefix + "driver";
    if (props.containsKey(driverKey)) {
        String driver = (String) props.get(driverKey);
        s_logger.trace("got Driver: {}", driver);
        netInterfaceConfig.setDriver(driver);
    }
    // Driver Version
    String driverVersionKey = netIfReadOnlyPrefix + "driver.version";
    if (props.containsKey(driverVersionKey)) {
        String driverVersion = (String) props.get(driverVersionKey);
        s_logger.trace("got Driver Version: {}", driverVersion);
        netInterfaceConfig.setDriverVersion(driverVersion);
    }
    // Firmware Version
    String firmwardVersionKey = netIfReadOnlyPrefix + "firmware.version";
    if (props.containsKey(firmwardVersionKey)) {
        String firmwareVersion = (String) props.get(firmwardVersionKey);
        s_logger.trace("got Firmware Version: {}", firmwareVersion);
        netInterfaceConfig.setFirmwareVersion(firmwareVersion);
    }
    // Mac Address
    String macAddressKey = netIfReadOnlyPrefix + "mac";
    if (props.containsKey(macAddressKey)) {
        String macAddress = (String) props.get(macAddressKey);
        s_logger.trace("got Mac Address: {}", macAddress);
        netInterfaceConfig.setHardwareAddress(NetUtil.hardwareAddressToBytes(macAddress));
    }
    // Is Loopback
    String loopbackKey = netIfReadOnlyPrefix + "loopback";
    if (props.containsKey(loopbackKey)) {
        Boolean isLoopback = (Boolean) props.get(loopbackKey);
        s_logger.trace("got Is Loopback: {}", isLoopback);
        netInterfaceConfig.setLoopback(isLoopback);
    }
    // Is Point to Point
    String ptpKey = netIfReadOnlyPrefix + "ptp";
    if (props.containsKey(ptpKey)) {
        Boolean isPtp = (Boolean) props.get(ptpKey);
        s_logger.trace("got Is PtP: {}", isPtp);
        netInterfaceConfig.setPointToPoint(isPtp);
    }
    // Is Up
    String upKey = netIfReadOnlyPrefix + "up";
    if (props.containsKey(upKey)) {
        Boolean isUp = (Boolean) props.get(upKey);
        s_logger.trace("got Is Up: {}", isUp);
        netInterfaceConfig.setUp(isUp);
        if (isUp) {
            netInterfaceConfig.setState(NetInterfaceState.ACTIVATED);
        } else {
            netInterfaceConfig.setState(NetInterfaceState.DISCONNECTED);
        }
    } else {
        s_logger.trace("Setting state to");
        netInterfaceConfig.setState(NetInterfaceState.DISCONNECTED);
    }
    // Is Virtual
    String virtualKey = netIfReadOnlyPrefix + "virtual";
    if (props.containsKey(virtualKey)) {
        Boolean isVirtual = (Boolean) props.get(virtualKey);
        s_logger.trace("got Is Virtual: {}", isVirtual);
        netInterfaceConfig.setVirtual(isVirtual);
    }
    // USB
    String vendorId = (String) props.get(netIfReadOnlyPrefix + "usb.vendor.id");
    String vendorName = (String) props.get(netIfReadOnlyPrefix + "usb.vendor.name");
    String productId = (String) props.get(netIfReadOnlyPrefix + "usb.product.id");
    String productName = (String) props.get(netIfReadOnlyPrefix + "usb.product.name");
    String usbBusNumber = (String) props.get(netIfReadOnlyPrefix + "usb.busNumber");
    String usbDevicePath = (String) props.get(netIfReadOnlyPrefix + "usb.devicePath");
    if (vendorId != null && productId != null) {
        UsbDevice usbDevice = new UsbNetDevice(vendorId, productId, vendorName, productName, usbBusNumber, usbDevicePath, interfaceName);
        s_logger.trace("adding usbDevice: {}, port: {}", usbDevice, usbDevice.getUsbPort());
        netInterfaceConfig.setUsbDevice(usbDevice);
    }
    if (netInterfaceConfig instanceof EthernetInterfaceConfigImpl) {
        // Is Up
        String linkUpKey = netIfReadOnlyPrefix + "eth.link.up";
        if (props.containsKey(linkUpKey)) {
            Boolean linkUp = (Boolean) props.get(linkUpKey);
            s_logger.trace("got Is Link Up: {}", linkUp);
            ((EthernetInterfaceConfigImpl) netInterfaceConfig).setLinkUp(linkUp);
        }
    } else if (netInterfaceConfig instanceof WifiInterfaceConfigImpl) {
        // Wifi Capabilities
        String capabilitiesKey = netIfReadOnlyPrefix + "wifi.capabilities";
        if (props.containsKey(capabilitiesKey)) {
            String capabilitiesString = (String) props.get(capabilitiesKey);
            if (capabilitiesString != null) {
                String[] capabilities = capabilitiesString.split(" ");
                if (capabilities != null && capabilities.length > 0) {
                    EnumSet<Capability> capabilitiesEnum = EnumSet.noneOf(Capability.class);
                    for (String capability : capabilities) {
                        if (capability != null && !capability.isEmpty()) {
                            capabilitiesEnum.add(Capability.valueOf(capability));
                        }
                    }
                    ((WifiInterfaceConfigImpl) netInterfaceConfig).setCapabilities(capabilitiesEnum);
                }
            }
        }
    } else if (netInterfaceConfig instanceof ModemInterfaceConfigImpl) {
        ModemInterfaceConfigImpl modemInterfaceConfig = (ModemInterfaceConfigImpl) netInterfaceConfig;
        String key;
        // manufacturer
        key = netIfReadOnlyPrefix + "manufacturer";
        if (props.containsKey(key)) {
            modemInterfaceConfig.setManufacturer((String) props.get(key));
        }
        // manufacturer
        key = netIfReadOnlyPrefix + "model";
        if (props.containsKey(key)) {
            modemInterfaceConfig.setModel((String) props.get(key));
        }
        // revision id
        key = netIfReadOnlyPrefix + "revisionId";
        if (props.containsKey(key)) {
            String revisionIdString = (String) props.get(key);
            modemInterfaceConfig.setRevisionId(revisionIdString.split(","));
        }
        // serial number
        key = netIfReadOnlyPrefix + "serialNum";
        if (props.containsKey(key)) {
            modemInterfaceConfig.setSerialNumber((String) props.get(key));
        }
        // technology types
        key = netIfReadOnlyPrefix + "technologyTypes";
        if (props.containsKey(key)) {
            ArrayList<ModemTechnologyType> technologyTypes = new ArrayList<ModemTechnologyType>();
            String techTypesString = (String) props.get(netIfReadOnlyPrefix + "technologyTypes");
            if (techTypesString != null && !techTypesString.isEmpty()) {
                for (String techTypeString : techTypesString.split(",")) {
                    if (techTypeString != null && !techTypeString.isEmpty()) {
                        try {
                            ModemTechnologyType modemTechType = ModemTechnologyType.valueOf(techTypeString);
                            technologyTypes.add(modemTechType);
                        } catch (IllegalArgumentException e) {
                            s_logger.error("Could not parse type " + techTypeString);
                        }
                    }
                }
                modemInterfaceConfig.setTechnologyTypes(technologyTypes);
            }
        }
        // modem identifier
        key = netIfConfigPrefix + "identifier";
        if (props.containsKey(key)) {
            modemInterfaceConfig.setModemIdentifier((String) props.get(key));
        }
        // power mode
        key = netIfConfigPrefix + "powerMode";
        if (props.containsKey(key)) {
            ModemPowerMode powerMode = ModemPowerMode.UNKNOWN;
            String modemPowerModeString = (String) props.get(netIfConfigPrefix + "powerMode");
            if (modemPowerModeString != null) {
                powerMode = ModemPowerMode.valueOf(modemPowerModeString);
                modemInterfaceConfig.setPowerMode(powerMode);
            }
        }
        // ppp number
        key = netIfConfigPrefix + "pppNum";
        if (props.containsKey(key)) {
            if (props.get(key) != null) {
                modemInterfaceConfig.setPppNum((Integer) props.get(key));
            }
        }
        // powered on
        key = netIfConfigPrefix + "poweredOn";
        if (props.containsKey(key)) {
            if (props.get(key) != null) {
                modemInterfaceConfig.setPoweredOn((Boolean) props.get(key));
            }
        }
    }
    // Status
    String configStatus4 = null;
    String configStatus4Key = "net.interface." + interfaceName + ".config.ip4.status";
    if (props.containsKey(configStatus4Key)) {
        configStatus4 = (String) props.get(configStatus4Key);
    }
    if (configStatus4 == null) {
        configStatus4 = NetInterfaceStatus.netIPv4StatusDisabled.name();
    }
    s_logger.trace("Status Ipv4? {}", configStatus4);
    String configStatus6 = null;
    String configStatus6Key = "net.interface." + interfaceName + ".config.ip6.status";
    if (props.containsKey(configStatus6Key)) {
        configStatus6 = (String) props.get(configStatus6Key);
    }
    if (configStatus6 == null) {
        configStatus6 = NetInterfaceStatus.netIPv6StatusDisabled.name();
    }
    // POPULATE NetInterfaceAddresses
    for (NetInterfaceAddressConfig netInterfaceAddress : netInterfaceConfig.getNetInterfaceAddresses()) {
        List<NetConfig> netConfigs = new ArrayList<NetConfig>();
        if (netInterfaceAddress instanceof NetInterfaceAddressConfigImpl) {
            ((NetInterfaceAddressConfigImpl) netInterfaceAddress).setNetConfigs(netConfigs);
        } else if (netInterfaceAddress instanceof WifiInterfaceAddressConfigImpl) {
            ((WifiInterfaceAddressConfigImpl) netInterfaceAddress).setNetConfigs(netConfigs);
        } else if (netInterfaceAddress instanceof ModemInterfaceAddressConfigImpl) {
            ((ModemInterfaceAddressConfigImpl) netInterfaceAddress).setNetConfigs(netConfigs);
        }
        // Common NetInterfaceAddress
        if (netInterfaceAddress instanceof NetInterfaceAddressImpl) {
            s_logger.trace("netInterfaceAddress is instanceof NetInterfaceAddressImpl");
            NetInterfaceAddressImpl netInterfaceAddressImpl = (NetInterfaceAddressImpl) netInterfaceAddress;
            // TODO: determine dynamically
            String addressType = ".ip4";
            // populate current address status
            String key = "net.interface." + interfaceName + addressType + ".address";
            if (props.containsKey(key)) {
                IPAddress address = IPAddress.parseHostAddress((String) props.get(key));
                s_logger.trace("got {}: {}", key, address);
                netInterfaceAddressImpl.setAddress(address);
            }
            key = "net.interface." + interfaceName + addressType + ".broadcast";
            if (props.containsKey(key)) {
                IPAddress broadcast = IPAddress.parseHostAddress((String) props.get(key));
                s_logger.trace("got {}: {}", key, broadcast);
                netInterfaceAddressImpl.setBroadcast(broadcast);
            }
            key = "net.interface." + interfaceName + addressType + ".dnsServers";
            if (props.containsKey(key)) {
                List<IPAddress> dnsServers = new ArrayList<IPAddress>();
                String dnsServersString = (String) props.get(key);
                s_logger.trace("got {}: {}", key, dnsServersString);
                for (String dnsServer : dnsServersString.split(",")) {
                    dnsServers.add(IPAddress.parseHostAddress(dnsServer));
                }
                netInterfaceAddressImpl.setDnsServers(dnsServers);
            }
            key = "net.interface." + interfaceName + addressType + ".gateway";
            if (props.containsKey(key)) {
                if (props.get(key) != null && !((String) props.get(key)).trim().equals("")) {
                    IPAddress gateway = IPAddress.parseHostAddress((String) props.get(key));
                    s_logger.trace("got {}: {}", key, gateway);
                    netInterfaceAddressImpl.setGateway(gateway);
                } else {
                    s_logger.trace("got {}: null", key);
                    netInterfaceAddressImpl.setGateway(null);
                }
            }
            key = "net.interface." + interfaceName + addressType + ".netmask";
            if (props.containsKey(key)) {
                IPAddress netmask = IPAddress.parseHostAddress((String) props.get(key));
                s_logger.trace("got {}: {}", key, netmask);
                netInterfaceAddressImpl.setBroadcast(netmask);
            }
            key = "net.interface." + interfaceName + addressType + ".prefix";
            if (props.containsKey(key)) {
                Short prefix = (Short) props.get(key);
                s_logger.trace("got {}: {}", key, prefix);
                netInterfaceAddressImpl.setNetworkPrefixLength(prefix);
            }
        }
        // WifiInterfaceAddress
        if (netInterfaceAddress instanceof WifiInterfaceAddressImpl) {
            s_logger.trace("netInterfaceAddress is instanceof WifiInterfaceAddressImpl");
            WifiInterfaceAddressImpl wifiInterfaceAddressImpl = (WifiInterfaceAddressImpl) netInterfaceAddress;
            // wifi mode
            String configWifiMode = netIfPrefix + "wifi.mode";
            if (props.containsKey(configWifiMode)) {
                // FIXME: INFRA for now while debugging - probably want this as
                WifiMode mode = WifiMode.INFRA;
                // UNKNOWN
                if (props.get(configWifiMode) != null) {
                    mode = WifiMode.valueOf((String) props.get(configWifiMode));
                }
                s_logger.trace("Adding wifiMode: {}", mode);
                wifiInterfaceAddressImpl.setMode(mode);
            }
        }
        // ModemInterfaceAddress
        if (netInterfaceAddress instanceof ModemInterfaceAddressConfigImpl) {
            s_logger.trace("netInterfaceAddress is instanceof ModemInterfaceAddressConfigImpl");
            ModemInterfaceAddressConfigImpl modemInterfaceAddressImpl = (ModemInterfaceAddressConfigImpl) netInterfaceAddress;
            // connection type
            String configConnType = netIfPrefix + "connection.type";
            if (props.containsKey(configConnType)) {
                ModemConnectionType connType = ModemConnectionType.PPP;
                String connTypeStr = (String) props.get(configConnType);
                if (connTypeStr != null && !connTypeStr.isEmpty()) {
                    connType = ModemConnectionType.valueOf(connTypeStr);
                }
                s_logger.trace("Adding modem connection type: {}", connType);
                modemInterfaceAddressImpl.setConnectionType(connType);
            }
            // connection type
            String configConnStatus = netIfPrefix + "connection.status";
            if (props.containsKey(configConnStatus)) {
                ModemConnectionStatus connStatus = ModemConnectionStatus.UNKNOWN;
                String connStatusStr = (String) props.get(configConnStatus);
                if (connStatusStr != null && !connStatusStr.isEmpty()) {
                    connStatus = ModemConnectionStatus.valueOf(connStatusStr);
                }
                s_logger.trace("Adding modem connection status: {}", connStatus);
                modemInterfaceAddressImpl.setConnectionStatus(connStatus);
            }
        }
        // POPULATE NetConfigs
        // dhcp4
        String configDhcp4 = "net.interface." + interfaceName + ".config.dhcpClient4.enabled";
        NetConfigIP4 netConfigIP4 = null;
        boolean dhcpEnabled = false;
        if (props.containsKey(configDhcp4)) {
            dhcpEnabled = (Boolean) props.get(configDhcp4);
            s_logger.trace("DHCP 4 enabled? {}", dhcpEnabled);
        }
        netConfigIP4 = new NetConfigIP4(NetInterfaceStatus.valueOf(configStatus4), autoConnect, dhcpEnabled);
        netConfigs.add(netConfigIP4);
        if (!dhcpEnabled) {
            // NetConfigIP4
            String configIp4 = "net.interface." + interfaceName + ".config.ip4.address";
            if (props.containsKey(configIp4)) {
                s_logger.trace("got {}: {}", configIp4, props.get(configIp4));
                // address
                String addressIp4 = (String) props.get(configIp4);
                s_logger.trace("IPv4 address: {}", addressIp4);
                if (addressIp4 != null && !addressIp4.isEmpty()) {
                    IP4Address ip4Address = (IP4Address) IPAddress.parseHostAddress(addressIp4);
                    netConfigIP4.setAddress(ip4Address);
                }
                // prefix
                String configIp4Prefix = "net.interface." + interfaceName + ".config.ip4.prefix";
                short networkPrefixLength = -1;
                if (props.containsKey(configIp4Prefix)) {
                    if (props.get(configIp4Prefix) instanceof Short) {
                        networkPrefixLength = (Short) props.get(configIp4Prefix);
                    } else if (props.get(configIp4Prefix) instanceof String) {
                        networkPrefixLength = Short.parseShort((String) props.get(configIp4Prefix));
                    }
                    try {
                        netConfigIP4.setNetworkPrefixLength(networkPrefixLength);
                    } catch (KuraException e) {
                        s_logger.error("Exception while setting Network Prefix length!", e);
                    }
                /*
                         * s_logger.trace("IPv4 prefix: " + networkPrefixLength);
                         * netInterfaceAddress.setNetworkPrefixLength(networkPrefixLength);
                         * //FIXME - hack for now
                         * netInterfaceAddress.setBroadcast((IP4Address) IPAddress.parseHostAddress("192.168.1.255"));
                         * ip4Config.setNetworkPrefixLength(networkPrefixLength);
                         */
                }
                // gateway
                String configIp4Gateway = "net.interface." + interfaceName + ".config.ip4.gateway";
                if (props.containsKey(configIp4Gateway)) {
                    String gatewayIp4 = (String) props.get(configIp4Gateway);
                    s_logger.trace("IPv4 gateway: {}", gatewayIp4);
                    if (gatewayIp4 != null && !gatewayIp4.isEmpty()) {
                        IP4Address ip4Gateway = (IP4Address) IPAddress.parseHostAddress(gatewayIp4);
                        netConfigIP4.setGateway(ip4Gateway);
                    }
                }
            }
        }
        // dns servers
        String configDNSs = "net.interface." + interfaceName + ".config.ip4.dnsServers";
        if (props.containsKey(configDNSs)) {
            List<IP4Address> dnsIPs = new ArrayList<IP4Address>();
            String dnsAll = (String) props.get(configDNSs);
            String[] dnss = dnsAll.split(",");
            for (String dns : dnss) {
                if (dns != null && dns.length() > 0) {
                    s_logger.trace("IPv4 DNS: {}", dns);
                    IP4Address dnsIp4 = (IP4Address) IPAddress.parseHostAddress(dns);
                    dnsIPs.add(dnsIp4);
                }
            }
            netConfigIP4.setDnsServers(dnsIPs);
        }
        // win servers
        String configWINSs = "net.interface." + interfaceName + ".config.ip4.winsServers";
        if (props.containsKey(configWINSs)) {
            List<IP4Address> winsIPs = new ArrayList<IP4Address>();
            String winsAll = (String) props.get(configWINSs);
            String[] winss = winsAll.split(",");
            for (String wins : winss) {
                s_logger.trace("WINS: {}", wins);
                IP4Address winsIp4 = (IP4Address) IPAddress.parseHostAddress(wins);
                winsIPs.add(winsIp4);
            }
            netConfigIP4.setWinsServers(winsIPs);
        }
        // domains
        String configDomains = "net.interface." + interfaceName + ".config.ip4.domains";
        if (props.containsKey(configDomains)) {
            List<String> domainNames = new ArrayList<String>();
            String domainsAll = (String) props.get(configDomains);
            String[] domains = domainsAll.split(",");
            for (String domain : domains) {
                s_logger.trace("IPv4 Domain: {}", domain);
                domainNames.add(domain);
            }
            netConfigIP4.setDomains(domainNames);
        }
        // FirewallNatConfig - see if NAT is enabled
        String configNatEnabled = "net.interface." + interfaceName + ".config.nat.enabled";
        if (props.containsKey(configNatEnabled)) {
            boolean natEnabled = (Boolean) props.get(configNatEnabled);
            s_logger.trace("NAT enabled? {}", natEnabled);
            if (natEnabled) {
                FirewallAutoNatConfig natConfig = new FirewallAutoNatConfig(interfaceName, "unknown", true);
                netConfigs.add(natConfig);
            }
        }
        // DhcpServerConfigIP4 - see if there is a DHCP 4 Server
        String configDhcpServerEnabled = "net.interface." + interfaceName + ".config.dhcpServer4.enabled";
        if (props.containsKey(configDhcpServerEnabled)) {
            boolean dhcpServerEnabled = (Boolean) props.get(configDhcpServerEnabled);
            s_logger.trace("DHCP Server 4 enabled? {}", dhcpServerEnabled);
            IP4Address subnet = null;
            IP4Address routerAddress = dhcpEnabled ? (IP4Address) netInterfaceAddress.getAddress() : netConfigIP4.getAddress();
            IP4Address subnetMask = null;
            int defaultLeaseTime = -1;
            int maximumLeaseTime = -1;
            short prefix = -1;
            IP4Address rangeStart = null;
            IP4Address rangeEnd = null;
            boolean passDns = false;
            List<IP4Address> dnServers = new ArrayList<IP4Address>();
            // prefix
            String configDhcpServerPrefix = "net.interface." + interfaceName + ".config.dhcpServer4.prefix";
            if (props.containsKey(configDhcpServerPrefix)) {
                if (props.get(configDhcpServerPrefix) instanceof Short) {
                    prefix = (Short) props.get(configDhcpServerPrefix);
                } else if (props.get(configDhcpServerPrefix) instanceof String) {
                    prefix = Short.parseShort((String) props.get(configDhcpServerPrefix));
                }
                s_logger.trace("DHCP Server prefix: {}", prefix);
            }
            // rangeStart
            String configDhcpServerRangeStart = "net.interface." + interfaceName + ".config.dhcpServer4.rangeStart";
            if (props.containsKey(configDhcpServerRangeStart)) {
                String dhcpServerRangeStart = (String) props.get(configDhcpServerRangeStart);
                s_logger.trace("DHCP Server Range Start: {}", dhcpServerRangeStart);
                if (dhcpServerRangeStart != null && !dhcpServerRangeStart.isEmpty()) {
                    rangeStart = (IP4Address) IPAddress.parseHostAddress(dhcpServerRangeStart);
                }
            }
            // rangeEnd
            String configDhcpServerRangeEnd = "net.interface." + interfaceName + ".config.dhcpServer4.rangeEnd";
            if (props.containsKey(configDhcpServerRangeEnd)) {
                String dhcpServerRangeEnd = (String) props.get(configDhcpServerRangeEnd);
                s_logger.trace("DHCP Server Range End: {}", dhcpServerRangeEnd);
                if (dhcpServerRangeEnd != null && !dhcpServerRangeEnd.isEmpty()) {
                    rangeEnd = (IP4Address) IPAddress.parseHostAddress(dhcpServerRangeEnd);
                }
            }
            // default lease time
            String configDhcpServerDefaultLeaseTime = "net.interface." + interfaceName + ".config.dhcpServer4.defaultLeaseTime";
            if (props.containsKey(configDhcpServerDefaultLeaseTime)) {
                if (props.get(configDhcpServerDefaultLeaseTime) instanceof Integer) {
                    defaultLeaseTime = (Integer) props.get(configDhcpServerDefaultLeaseTime);
                } else if (props.get(configDhcpServerDefaultLeaseTime) instanceof String) {
                    defaultLeaseTime = Integer.parseInt((String) props.get(configDhcpServerDefaultLeaseTime));
                }
                s_logger.trace("DHCP Server Default Lease Time: {}", defaultLeaseTime);
            }
            // max lease time
            String configDhcpServerMaxLeaseTime = "net.interface." + interfaceName + ".config.dhcpServer4.maxLeaseTime";
            if (props.containsKey(configDhcpServerMaxLeaseTime)) {
                if (props.get(configDhcpServerMaxLeaseTime) instanceof Integer) {
                    maximumLeaseTime = (Integer) props.get(configDhcpServerMaxLeaseTime);
                } else if (props.get(configDhcpServerMaxLeaseTime) instanceof String) {
                    maximumLeaseTime = Integer.parseInt((String) props.get(configDhcpServerMaxLeaseTime));
                }
                s_logger.trace("DHCP Server Maximum Lease Time: {}", maximumLeaseTime);
            }
            // passDns
            String configDhcpServerPassDns = "net.interface." + interfaceName + ".config.dhcpServer4.passDns";
            if (props.containsKey(configDhcpServerPassDns)) {
                if (props.get(configDhcpServerPassDns) instanceof Boolean) {
                    passDns = (Boolean) props.get(configDhcpServerPassDns);
                } else if (props.get(configDhcpServerPassDns) instanceof String) {
                    passDns = Boolean.parseBoolean((String) props.get(configDhcpServerPassDns));
                }
                s_logger.trace("DHCP Server Pass DNS?: {}", passDns);
            }
            if (routerAddress != null && rangeStart != null && rangeEnd != null) {
                // get the netmask and subnet
                int prefixInt = prefix;
                int mask = ~((1 << 32 - prefixInt) - 1);
                String subnetMaskString = NetworkUtil.dottedQuad(mask);
                String subnetString = NetworkUtil.calculateNetwork(routerAddress.getHostAddress(), subnetMaskString);
                subnet = (IP4Address) IPAddress.parseHostAddress(subnetString);
                subnetMask = (IP4Address) IPAddress.parseHostAddress(subnetMaskString);
                dnServers.add(routerAddress);
                DhcpServerConfigIP4 dhcpServerConfig = new DhcpServerConfigIP4(interfaceName, dhcpServerEnabled, subnet, routerAddress, subnetMask, defaultLeaseTime, maximumLeaseTime, prefix, rangeStart, rangeEnd, passDns, dnServers);
                netConfigs.add(dhcpServerConfig);
            } else {
                s_logger.trace("Not including DhcpServerConfig - router: " + routerAddress + ", range start: " + rangeStart + ", range end: " + rangeEnd);
            }
        }
        // dhcp6
        String configDhcp6 = "net.interface." + interfaceName + ".config.dhcpClient6.enabled";
        NetConfigIP6 netConfigIP6 = null;
        boolean dhcp6Enabled = false;
        if (props.containsKey(configDhcp6)) {
            dhcp6Enabled = (Boolean) props.get(configDhcp6);
            s_logger.trace("DHCP 6 enabled? {}", dhcp6Enabled);
        }
        if (!dhcp6Enabled) {
            // ip6
            String configIp6 = "net.interface." + interfaceName + ".config.ip6.address";
            if (props.containsKey(configIp6)) {
                // address
                String addressIp6 = (String) props.get(configIp6);
                s_logger.trace("IPv6 address: {}", addressIp6);
                if (addressIp6 != null && !addressIp6.isEmpty()) {
                    IP6Address ip6Address = (IP6Address) IPAddress.parseHostAddress(addressIp6);
                    netConfigIP6.setAddress(ip6Address);
                }
                // dns servers
                String configDNSs6 = "net.interface." + interfaceName + ".config.ip6.dnsServers";
                if (props.containsKey(configDNSs6)) {
                    List<IP6Address> dnsIPs = new ArrayList<IP6Address>();
                    String dnsAll = (String) props.get(configDNSs6);
                    String[] dnss = dnsAll.split(",");
                    for (String dns : dnss) {
                        s_logger.trace("IPv6 DNS: {}", dns);
                        IP6Address dnsIp6 = (IP6Address) IPAddress.parseHostAddress(dns);
                        dnsIPs.add(dnsIp6);
                    }
                    netConfigIP6.setDnsServers(dnsIPs);
                }
                // domains
                String configDomains6 = "net.interface." + interfaceName + ".config.ip6.domains";
                if (props.containsKey(configDomains6)) {
                    List<String> domainNames = new ArrayList<String>();
                    String domainsAll = (String) props.get(configDomains6);
                    String[] domains = domainsAll.split(",");
                    for (String domain : domains) {
                        s_logger.trace("IPv6 Domain: {}", domain);
                        domainNames.add(domain);
                    }
                    netConfigIP6.setDomains(domainNames);
                }
            }
        }
        if (interfaceType == NetInterfaceType.WIFI) {
            s_logger.trace("Adding wifi netconfig");
            // Wifi access point config
            WifiConfig apConfig = getWifiConfig(netIfConfigPrefix, WifiMode.MASTER, props);
            if (apConfig != null) {
                s_logger.trace("Adding AP wifi config");
                netConfigs.add(apConfig);
            } else {
                s_logger.warn("no AP wifi config specified");
            }
            // Wifi client/adhoc config
            // WifiConfig adhocConfig = getWifiConfig(netIfConfigPrefix, WifiMode.ADHOC, props);
            WifiConfig infraConfig = getWifiConfig(netIfConfigPrefix, WifiMode.INFRA, props);
            /*
                 * if(adhocConfig != null && infraConfig != null) {
                 * s_logger.warn("Two conflicting client wifi configs specified");
                 * }
                 */
            if (infraConfig != null) {
                s_logger.trace("Adding client INFRA wifi config");
                netConfigs.add(infraConfig);
            } else {
                s_logger.warn("no INFRA wifi config specified");
            }
        /*
                 * if(adhocConfig != null){
                 * s_logger.trace("Adding client ADHOC wifi config");
                 * netConfigs.add(adhocConfig);
                 * }
                 */
        }
        if (interfaceType == NetInterfaceType.MODEM) {
            s_logger.trace("Adding modem netconfig");
            netConfigs.add(getModemConfig(netIfConfigPrefix, props));
        }
    }
}
Also used : ModemInterfaceAddressConfigImpl(org.eclipse.kura.core.net.modem.ModemInterfaceAddressConfigImpl) FirewallAutoNatConfig(org.eclipse.kura.net.firewall.FirewallAutoNatConfig) WifiConfig(org.eclipse.kura.net.wifi.WifiConfig) UsbDevice(org.eclipse.kura.usb.UsbDevice) ArrayList(java.util.ArrayList) KuraException(org.eclipse.kura.KuraException) WifiMode(org.eclipse.kura.net.wifi.WifiMode) ModemTechnologyType(org.eclipse.kura.net.modem.ModemTechnologyType) NetInterfaceAddressConfig(org.eclipse.kura.net.NetInterfaceAddressConfig) Capability(org.eclipse.kura.net.wifi.WifiInterface.Capability) IP4Address(org.eclipse.kura.net.IP4Address) IP6Address(org.eclipse.kura.net.IP6Address) ModemConnectionStatus(org.eclipse.kura.net.modem.ModemConnectionStatus) ModemConnectionType(org.eclipse.kura.net.modem.ModemConnectionType) NetConfig(org.eclipse.kura.net.NetConfig) DhcpServerConfigIP4(org.eclipse.kura.net.dhcp.DhcpServerConfigIP4) NetInterfaceState(org.eclipse.kura.net.NetInterfaceState) NetConfigIP4(org.eclipse.kura.net.NetConfigIP4) NetConfigIP6(org.eclipse.kura.net.NetConfigIP6) UsbNetDevice(org.eclipse.kura.usb.UsbNetDevice) EnumSet(java.util.EnumSet) ModemPowerMode(org.eclipse.kura.net.modem.ModemPowerMode) KuraException(org.eclipse.kura.KuraException) UnknownHostException(java.net.UnknownHostException) WifiAccessPoint(org.eclipse.kura.net.wifi.WifiAccessPoint) NetInterfaceType(org.eclipse.kura.net.NetInterfaceType) ModemInterfaceConfigImpl(org.eclipse.kura.core.net.modem.ModemInterfaceConfigImpl) IPAddress(org.eclipse.kura.net.IPAddress)

Example 3 with IPAddress

use of org.eclipse.kura.net.IPAddress in project kura by eclipse.

the class LinuxDns method removeDnsServer.

public synchronized void removeDnsServer(IPAddress serverIpAddress) {
    try {
        if (isPppDnsSet()) {
            return;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    Set<IPAddress> servers = getDnServers();
    Set<IPAddress> newServers = new HashSet<IPAddress>();
    for (IPAddress server : servers) {
        if (server.equals(serverIpAddress)) {
            s_logger.info("removed the DNS server: " + serverIpAddress);
        } else {
            // keep it for the new Dns file
            newServers.add(server);
        }
    }
    writeDnsFile(newServers);
}
Also used : IPAddress(org.eclipse.kura.net.IPAddress) IOException(java.io.IOException) UnknownHostException(java.net.UnknownHostException) KuraException(org.eclipse.kura.KuraException) HashSet(java.util.HashSet)

Example 4 with IPAddress

use of org.eclipse.kura.net.IPAddress in project kura by eclipse.

the class RedHatNetworkInterface method writeNewConfig.

public static void writeNewConfig(NetInterfaceConfig netInterfaceConfig) throws KuraException {
    try {
        String outputFileName = "/etc/sysconfig/network-scripts/ifcfg-" + netInterfaceConfig.getName();
        StringBuffer sb = new StringBuffer();
        sb.append("# Networking Interface\n");
        // DEVICE
        sb.append("DEVICE=").append(netInterfaceConfig.getName()).append("\n");
        // NAME
        sb.append("NAME=").append(netInterfaceConfig.getName()).append("\n");
        // TYPE
        sb.append("TYPE=").append(netInterfaceConfig.getType()).append("\n");
        List<? extends NetInterfaceAddressConfig> netInterfaceConfigs = netInterfaceConfig.getNetInterfaceAddresses();
        s_logger.debug("There are {} NetInterfaceConfigs in this configuration", netInterfaceConfigs.size());
        boolean allowWrite = false;
        for (NetInterfaceAddressConfig netInterfaceAddressConfig : netInterfaceConfigs) {
            List<NetConfig> netConfigs = netInterfaceAddressConfig.getConfigs();
            if (netConfigs != null) {
                for (NetConfig netConfig : netConfigs) {
                    if (netConfig instanceof NetConfigIP4) {
                        // ONBOOT
                        sb.append("ONBOOT=");
                        if (((NetConfigIP4) netConfig).isAutoConnect()) {
                            sb.append("yes");
                        } else {
                            sb.append("no");
                        }
                        sb.append("\n");
                        if (((NetConfigIP4) netConfig).isDhcp()) {
                            // BOOTPROTO
                            sb.append("BOOTPROTO=");
                            s_logger.debug("new config is DHCP");
                            sb.append("dhcp");
                            sb.append("\n");
                        } else {
                            // BOOTPROTO
                            sb.append("BOOTPROTO=");
                            s_logger.debug("new config is STATIC");
                            sb.append("static");
                            sb.append("\n");
                            // IPADDR
                            sb.append("IPADDR=").append(((NetConfigIP4) netConfig).getAddress().getHostAddress()).append("\n");
                            // PREFIX
                            sb.append("PREFIX=").append(((NetConfigIP4) netConfig).getNetworkPrefixLength()).append("\n");
                            // Gateway
                            if (((NetConfigIP4) netConfig).getGateway() != null) {
                                sb.append("GATEWAY=").append(((NetConfigIP4) netConfig).getGateway().getHostAddress()).append("\n");
                            }
                        }
                        // DEFROUTE
                        if (((NetConfigIP4) netConfig).getStatus() == NetInterfaceStatus.netIPv4StatusEnabledWAN) {
                            sb.append("DEFROUTE=yes\n");
                        } else {
                            sb.append("DEFROUTE=no\n");
                        }
                        // DNS
                        List<? extends IPAddress> dnsAddresses = ((NetConfigIP4) netConfig).getDnsServers();
                        for (int i = 0; i < dnsAddresses.size(); i++) {
                            IPAddress ipAddr = dnsAddresses.get(i);
                            if (!(ipAddr.isLoopbackAddress() || ipAddr.isLinkLocalAddress() || ipAddr.isMulticastAddress())) {
                                sb.append("DNS").append(i + 1).append("=").append(ipAddr.getHostAddress()).append("\n");
                            }
                        }
                        allowWrite = true;
                    }
                }
            } else {
                s_logger.debug("netConfigs is null");
            }
            // WIFI
            if (netInterfaceAddressConfig instanceof WifiInterfaceAddressConfig) {
                s_logger.debug("new config is a WifiInterfaceAddressConfig");
                sb.append("\n#Wireless configuration\n");
                // MODE
                String mode = null;
                WifiMode wifiMode = ((WifiInterfaceAddressConfig) netInterfaceAddressConfig).getMode();
                if (wifiMode == WifiMode.INFRA) {
                    mode = "Managed";
                } else if (wifiMode == WifiMode.MASTER) {
                    mode = "Master";
                } else if (wifiMode == WifiMode.ADHOC) {
                    mode = "Ad-Hoc";
                } else {
                    mode = wifiMode.toString();
                }
                sb.append("MODE=").append(mode).append("\n");
            }
        }
        if (allowWrite) {
            FileOutputStream fos = new FileOutputStream(outputFileName);
            PrintWriter pw = new PrintWriter(fos);
            pw.write(sb.toString());
            pw.flush();
            fos.getFD().sync();
            pw.close();
            fos.close();
        } else {
            s_logger.warn("writeNewConfig :: operation is not allowed");
        }
    } catch (Exception e) {
        throw new KuraException(KuraErrorCode.INTERNAL_ERROR, e);
    }
}
Also used : WifiInterfaceAddressConfig(org.eclipse.kura.net.wifi.WifiInterfaceAddressConfig) IOException(java.io.IOException) KuraException(org.eclipse.kura.KuraException) NetConfigIP4(org.eclipse.kura.net.NetConfigIP4) KuraException(org.eclipse.kura.KuraException) WifiMode(org.eclipse.kura.net.wifi.WifiMode) FileOutputStream(java.io.FileOutputStream) NetConfig(org.eclipse.kura.net.NetConfig) IPAddress(org.eclipse.kura.net.IPAddress) NetInterfaceAddressConfig(org.eclipse.kura.net.NetInterfaceAddressConfig) PrintWriter(java.io.PrintWriter)

Example 5 with IPAddress

use of org.eclipse.kura.net.IPAddress in project kura by eclipse.

the class LinuxDns method getPppDnServers.

public synchronized List<IPAddress> getPppDnServers() throws KuraException {
    BufferedReader br = null;
    ArrayList<IPAddress> serversList = new ArrayList<IPAddress>();
    try {
        String pppDnsFileName = getPppDnsFileName();
        if (pppDnsFileName != null) {
            File pppDnsFile = new File(pppDnsFileName);
            br = new BufferedReader(new FileReader(pppDnsFile));
            String line;
            while ((line = br.readLine()) != null) {
                line = line.trim();
                if (line.indexOf("nameserver") == 0) {
                    StringTokenizer st = new StringTokenizer(line);
                    st.nextToken();
                    serversList.add(IPAddress.parseHostAddress(st.nextToken()));
                }
            }
        }
    } catch (Exception e) {
        throw new KuraException(KuraErrorCode.INTERNAL_ERROR, e);
    } finally {
        if (br != null) {
            try {
                br.close();
                br = null;
            } catch (IOException e) {
                throw new KuraException(KuraErrorCode.INTERNAL_ERROR, e);
            }
        }
    }
    return serversList;
}
Also used : StringTokenizer(java.util.StringTokenizer) KuraException(org.eclipse.kura.KuraException) BufferedReader(java.io.BufferedReader) ArrayList(java.util.ArrayList) FileReader(java.io.FileReader) IOException(java.io.IOException) IPAddress(org.eclipse.kura.net.IPAddress) File(java.io.File) IOException(java.io.IOException) UnknownHostException(java.net.UnknownHostException) KuraException(org.eclipse.kura.KuraException)

Aggregations

IPAddress (org.eclipse.kura.net.IPAddress)23 KuraException (org.eclipse.kura.KuraException)18 UnknownHostException (java.net.UnknownHostException)12 IOException (java.io.IOException)10 IP4Address (org.eclipse.kura.net.IP4Address)10 ArrayList (java.util.ArrayList)9 NetInterfaceAddressConfig (org.eclipse.kura.net.NetInterfaceAddressConfig)8 NetConfig (org.eclipse.kura.net.NetConfig)7 NetConfigIP4 (org.eclipse.kura.net.NetConfigIP4)7 File (java.io.File)5 WifiAccessPoint (org.eclipse.kura.net.wifi.WifiAccessPoint)5 StringTokenizer (java.util.StringTokenizer)4 WifiMode (org.eclipse.kura.net.wifi.WifiMode)4 BufferedReader (java.io.BufferedReader)3 FileOutputStream (java.io.FileOutputStream)3 FileReader (java.io.FileReader)3 PrintWriter (java.io.PrintWriter)3 HashSet (java.util.HashSet)3 NetInterfaceAddress (org.eclipse.kura.net.NetInterfaceAddress)3 NetInterfaceType (org.eclipse.kura.net.NetInterfaceType)3