Network

The "Network" protocol message allows to define and setup the network configuration of the Qb2 device which can be further applied by "SetConfig()" service API. The message specifies the desired network configuration mode: "dhcp", "link-local","static" or their combination, and allows custom static configuration of the device. Modes "dhcp" and "static" can be applied together. In this scenario, static configuration will be used if DHCP configuration fails. Applied configuration is persistent and will be available at Qb2 device boot up.

Table 1. Available fields in blickfeld.system.config.Network
Field Type Default Unit

hostname

string

-

-

Specifies the persistent system-wide hostname which should be assigned to the network device

dhcp

bool

true

-

This setting enables dynamic "DHCP" network configuration mode. The "DHCP" mode is used to dynamically get IPv4/v6 network configuration from DHCP server in automatic fashion. Can be used standalone or, if required, can be combined with "static" configuration settings.

manual

optional Static

-

-

This setting enables manual "Static" configuration. The "Static" mode allows to create custom static configurations for IPv4, IPv6 or their combination.

link_local

bool

false

-

(WIP - attention, no fallbacks!) This settings enables automatic "Link-local" network configuration mode. In this scenario, device itself selects and assigns IP addresses from a particular range. For IPv4: from 169.254.0.0 through 169.254.255.255. The IPv6 link-local prefix is FE80::/10 and is used to create a link-local IPv6 address on an interface

wireless

optional Wireless

-

-

If the field is set, the device switches from the Ethernet to the WiFi interface.

Static

Static configuration specifies IP settings configuration for IPv4, IPv6 or their combination. Settings deliver the list of supported IP addresses, netmask, gateway, list of DNS servers and DNS search domain.

Table 2. Available fields in blickfeld.system.config.Network.Static
Field Type Default Unit

ipv4

optional Ipv4

-

-

Static IPv4 settings

ipv6

optional Ipv6

-

-

Static IPv6 settings

dns_domain

optional string

-

-

The DNS domain field combined together with the hostname define FQDN (fully-qualified domain name), that specifies the exact location of Qb2 device in the tree hierarchy of Domain Name System.

Ipv4

Table 3. Available fields in blickfeld.system.config.Network.Static.Ipv4
Field Type Default Unit

ip

repeated string

-

-

List of IPv4 addresses. Each address should be specified in dot-decimal format (quad-dotted notation of four decimal integers, ranging from 0 to 255 each) including netmask prefix as follows "ip_address/prefix". Where netmask prefix should be set in CIDR notation (integer ranging from 0 to 32).

gateway

optional string

-

-

Gateway IPv4 address

dns_server

repeated string

-

-

List of IPv4 DNS servers

Ipv6

Table 4. Available fields in blickfeld.system.config.Network.Static.Ipv6
Field Type Default Unit

ip

repeated string

-

-

List of IPv6 addresses. Each address should be specified as eight groups of four hexadecimal digits separated by colons and include netmask prefix as follows "ip/prefix". Where prefix should be set in CIDR notation (integer ranging from 0 to 128). IPv6 shortening rules are also supported.

gateway

optional string

-

-

Gateway IPv6 address

dns_server

repeated string

-

-

List of IPv6 DNS servers

Wireless

If set, the device will turn of the Ethernet interface and connect to the given wireless access point. The Ethernet and WiFi interface cannot work simultanously.

Always use the validate method of the network service to ensure that the given credentials are correct. If the credentials are incorrect or the wireless access point is down, the fallback IP address can be used via the Ethernet interface to reset the network configuration.
Table 5. Available fields in blickfeld.system.config.Network.Wireless
Field Type Default Unit

ssid

string

-

-

SSID of the wireless network

password

string

-

-

Password of the wireless network

[NOTE] If the password is not set and the SSID did not change, the existing password is used. This mechanism is applied as the password is never returned via the GetConfig API.