Legrand / Raritan / Server Technology Xerus™ JSON-RPC API: Net.idl Source File

Legrand / Raritan / Server Technology Xerus™ JSON-RPC API

Loading...
Searching...
No Matches
Net.idl
1/* SPDX-License-Identifier: BSD-3-Clause */
2/*
3 * Copyright 2016 Raritan Inc. All rights reserved.
4 */
5
6#include <Event.idl>
7
8/**
9 * Network Configuration
10 */
11module net {
12
13 /** IPv4/IPv6 address and prefix len */
14 structure IpAddrCidr {
15 string addr; // IP address
16 int prefixLen; // Length of network prefix in the IP address
17 };
18
19 /** IPv4/IPv6 route */
20 structure IpRoute {
21 IpAddrCidr destNetAddrCidr; // Destination network address (CIDR)
22 string nextHopAddr; // Address of the next hop (empty when ifName is set)
23 string ifName; // Destination interface (empty if nextHopAddr is set)
24 };
25
26 /** Role of the node when port forwarding is enabled */
27 enumeration PortForwardingRole {
28 PRIMARY_UNIT, ///< Node is a port forwarding primary unit
29 EXPANSION_UNIT ///< Node is a port forwarding expansion unit
30 };
31
32 /** Port forwarding settings */
33 structure PortForwardingSettings {
34 boolean enabled; ///< Controls if port forwarding is enabled
35 PortForwardingRole role; ///< The role of the node (primary unit or expansion unit)
36 string primaryUnitDownstreamIfName; ///< Primary unit downstream interface (usb: any USB iface)
37 };
38
39 /** DNS settings */
40 structure DnsSettings {
41 vector<string> serverAddrs; ///< List of domain name servers addresses (IPv4/IPv6)
42 vector<string> searchSuffixes; ///< List of domain search suffixes
43 boolean resolverPrefersIPv6; ///< Resolver should prefer IPv6 addresses
44 };
45
46 /** IP protocol specific routing settings */
47 structure IpRoutingSettings {
48 vector<IpRoute> staticRoutes; ///< List of static routes
49 };
50
51 /** Routing settings */
52 structure RoutingSettings {
53 IpRoutingSettings ipv4; ///< IPv4 routing settings
54 IpRoutingSettings ipv6; ///< IPv6 routing settings
55 };
56
57 /** Common settings */
58 structure CommonSettings {
59 DnsSettings dns; ///< DNS settings
60 RoutingSettings routing; ///< Routing settings
61 PortForwardingSettings portForwarding; ///< Port forwarding settings
62 };
63
64 /** Port forwarding primary unit address info for an interface */
65 structure PortForwardingPrimaryUnitAddrInfo {
66 string ifName; ///< interface name on primary unit
67 string addr; ///< IPv4/IPv6 address on the interface
68 };
69
70 /** Port forwarding info */
71 structure PortForwardingInfo {
72 boolean enabled; ///< \c true if port forwarding is enabled
73 boolean nodeIndexValid; ///< \c true if nodeIndex is valid
74 int nodeIndex; ///< Index of the node in the port forwarding cascade
75 boolean expansionUnitConnected; ///< \c true if this node has an expansion unit connected
76 string primaryUnitDownstreamIfName; ///< Primary unit downstream interface (usb: any USB iface)
77 ///< the first entry of each vector has the default route set (if default route is set at all)
78 vector<PortForwardingPrimaryUnitAddrInfo> primaryUnitIPv4AddrInfos; ///< Primary unit address info for IPv4
79 vector<PortForwardingPrimaryUnitAddrInfo> primaryUnitIPv6AddrInfos; ///< Primary unit address info for IPv6
80 string linkLocalIPv6Address; ///< link-local address of port forwarding interface
81 };
82
83 /** DNS info */
84 structure DnsInfo {
85 vector<string> serverAddrs; ///< List of active domain name server addresses
86 vector<string> searchSuffixes; ///< List of active domain search suffixes
87 boolean resolverPrefersIPv6; ///< Resolver should prefer IPv6 addresses
88 };
89
90 /** Routing info */
91 structure RoutingInfo {
92 vector<IpRoute> ipv4Routes; ///< List of active IPv4 routes
93 vector<IpRoute> ipv6Routes; ///< List of active IPv6 routes
94 };
95
96 /** Common info */
97 structure CommonInfo {
98 DnsInfo dns; ///< DNS info
99 RoutingInfo routing; ///< Routing info
100 PortForwardingInfo portForwarding; ///< Port forwarding info
101 };
102
103 /** IP configuration method */
104 enumeration IpConfigMethod {
105 STATIC, ///< No automatic configuration
106 DHCP, ///< Use DHCP for automatic configuration (IPv4 only)
107 AUTO ///< Use automatic configuration (IPv6 only)
108 };
109
110 /** Interface specific IP settings */
111 structure InterfaceIpSettings {
112 boolean enabled; ///< Controls if IPv4/IPv6 is enabled
113 IpConfigMethod configMethod; ///< Interface configuration method
114 IpAddrCidr staticAddrCidr; ///< Statically assigned IPv4/IPv6 address (CIDR)
115 string staticDefaultGatewayAddr; ///< Statically assigned default gateway address
116 string dhcpPreferredHostname; ///< Preferred hostname (only used with DHCP)
117 };
118
119 /** Interface specific IPv4 info */
120 structure InterfaceIPv4Info {
121 boolean enabled; ///< \c true if IPv4 is enabled
122 IpConfigMethod configMethod; ///< Interface configuration method
123 vector<IpAddrCidr> addrsCidr; ///< List of active IPv4 addresses with prefix length
124 string dhcpServerAddr; ///< IPv4 address of DHCP server or empty
125 string dhcpPreferredHostname; ///< Preferred hostname (only used with DHCP)
126 };
127
128 /** Interface specific IPv6 info */
129 structure InterfaceIPv6Info {
130 boolean enabled; ///< \c true if IPv6 is enabled
131 IpConfigMethod configMethod; ///< Interface configuration method
132 vector<IpAddrCidr> addrsCidr; ///< List of active IPv6 addresses with prefix length
133 string dhcpServerId; ///< DHCPv6 server id or empty
134 string dhcpPreferredHostname; ///< Preferred hostname (only used with DHCP)
135 boolean raManaged; ///< "Managed" flag set in router announcements
136 boolean raOtherConf; ///< "OtherConf" flag set in router announcements
137 };
138
139 /** Interface specific settings */
140 structure InterfaceSettings {
141 boolean enabled; ///< Controls if interface is enabled
142 InterfaceIpSettings ipv4; ///< Interface specific IPv4 settings
143 InterfaceIpSettings ipv6; ///< Interface specific IPv6 settings
144 };
145
146 /** The interface type */
147 enumeration InterfaceType {
148 ETHERNET, ///< Ethernet interface
149 WLAN, ///< WLAN interface
150 BRIDGE ///< Bridge interface
151 };
152
153 /** Interface operational state */
154 enumeration InterfaceOpState {
155 NOT_PRESENT, ///< Interface is not present
156 DOWN, ///< Interface is down
157 NO_LINK, ///< Interface has no link
158 UP ///< Interface is up and running
159 };
160
161 /** Interface specific info */
162 structure InterfaceInfo {
163 string name; ///< Internal interface name
164 string label; ///< Interface label (used in user interfaces)
165 InterfaceType type; ///< Interface type
166 boolean enabled; ///< The dynamic enabled state
167 string controllingIfName; ///< Controlling interface (set for bridged interfaces)
168 InterfaceOpState state; ///< Operational state of the interface
169 string macAddr; ///< MAC address of the interface
170 int mtu; ///< Maximum Transfer Unit (MTU)
171 InterfaceIPv4Info ipv4; ///< Interface specific IPv4 info
172 InterfaceIPv6Info ipv6; ///< Interface specific IPv6 info
173 };
174
175 /** EAP outer authentication method */
176 enumeration EapOuterAuthMethod {
177 EAP_PEAP, ///< PEAP authentication
178 EAP_TLS ///< TLS authentication
179 };
180
181 /** EAP inner authentication method */
182 enumeration EapInnerAuthMethod {
183 INNER_EAP_MSCHAPv2, ///< MSCHAPv2 authentication
184 INNER_EAP_TLS ///< TLS authentication
185 };
186
187 /** EAP authentication status */
188 enumeration EapStatus {
189 EAP_STATUS_DISABLED, ///< EAP authentication disabled
190 EAP_STATUS_PENDING, ///< EAP authentication pending
191 EAP_STATUS_FAILED, ///< EAP authentication failed
192 EAP_STATUS_SUCCESS ///< EAP authentication succeeded
193 };
194
195 /** EAP authentication settings */
196 structure EapAuthSettings {
197 string identity; ///< EAP identity
198 string password; ///< EAP password (always empty on retrieval!)
199 boolean clearPassword; ///< Set to \c true when password should be cleared
200 string clientCertChain; ///< client certificate chain
201 string clientPrivKey; ///< client private key (always empty on retrieval!)
202 boolean clearClientPrivKey; ///< Set to \c true to clear the client private key
203 string clientPrivKeyPassword; ///< password of client private key
204 EapOuterAuthMethod outerMethod; ///< Outer authentication method
205 EapInnerAuthMethod innerMethod; ///< Inner authentication method
206 string caCertChain; ///< CA certificate chain
207 boolean forceTrustedCert; ///< Enforce trusted certificates
208 boolean allowOffTimeRangeCerts; ///< allow expired and not yet valid TLS certs
209 boolean allowNotYetValidCertsIfTimeBeforeBuild; ///< allow not yet valid TLS certs if
210 ///< the system time is before the build time
211 string authServerName; ///< Name of the RADIUS server (used to verify cert)
212 };
213
214 /** Ethernet speed */
215 enumeration EthSpeed {
216 SPEED_AUTO, ///< Use auto-negotiation to set speed
217 SPEED_MBIT_10, ///< 10 MBit/s
218 SPEED_MBIT_100, ///< 100 MBit/s
219 SPEED_MBIT_1000 ///< 1000 MBit/s (1 GBit/s)
220 };
221
222 /** Ethernet duplex mode */
223 enumeration EthDuplexMode {
224 DUPLEX_MODE_AUTO, ///< Use auto-negotiation to set duplex mode
225 DUPLEX_MODE_HALF, ///< Half duplex
226 DUPLEX_MODE_FULL ///< Full duplex
227 };
228
229 /** Ethernet authentication type */
230 enumeration EthAuthType {
231 ETH_AUTH_NONE, ///< No authentication
232 ETH_AUTH_EAP ///< 802.1x (EAP) authentication
233 };
234
235 /** Ethernet link mode */
236 structure EthLinkMode {
237 EthSpeed speed; ///< Interface speed
238 EthDuplexMode duplexMode; ///< Interface duplex mode
239 };
240
241 /** Ethernet interface settings */
242 structure EthSettings {
243 EthLinkMode linkMode; ///< Link mode
244 int mtu; ///< Maximum Transfer Unit (MTU)
245 EthAuthType authType; ///< Authentication type
246 EapAuthSettings eap; ///< EAP Settings for 802.1x authentication
247 boolean lldpEnabled; ///< \c true if LLDP is enabled
248 };
249
250 /** Ethernet interface info */
251 structure EthInfo {
252 EapStatus eapStatus; ///< \c status of EAP authentication
253 EthLinkMode linkMode; ///< Current link mode
254 boolean linkModeValid; ///< \c true if linkMode is valid
255 boolean autonegEnabled; ///< \c true if auto-negotiation is enabled
256 boolean linkDetected; ///< \c true if a link is detected
257 vector<EthLinkMode> supportedLinkModes; ///< Supported link modes
258 };
259
260 /** WLAN security protocol */
261 enumeration WlanSecProtocol {
262 WPA2 ///< WPA2 security protocol
263 };
264
265 /** WLAN authentication type */
266 enumeration WlanAuthType {
267 WLAN_AUTH_NONE, ///< No authentication
268 WLAN_AUTH_PSK, ///< Pre-shared key authentication
269 WLAN_AUTH_EAP ///< 802.1x (EAP) authentication
270 };
271
272 /** WLAN interface settings */
273 structure WlanSettings {
274 boolean enableHT; ///< Enable high throughput features (802.11n)
275 string ssid; ///< SSID of the wireless network
276 string bssid; ///< BSSID (empty for automatic AP selection)
277 int mtu; ///< Maximum Transfer Unit (MTU)
278 WlanSecProtocol secProtocol; ///< Security protocol (WPA2)
279 WlanAuthType authType; ///< Authentication type
280 string psk; ///< Pre-shared key (always empty on retrieval!)
281 boolean clearPsk; ///< Set to \c true when PSK should be cleared
282 EapAuthSettings eap; ///< EAP Settings for 802.1x authentication
283 };
284
285 /** WLAN channel width */
286 enumeration WlanChannelWidth {
287 CHANNEL_WIDTH_UNKNOWN,
288 CHANNEL_WIDTH_20_NO_HT,
289 CHANNEL_WIDTH_20,
290 CHANNEL_WIDTH_40,
291 CHANNEL_WIDTH_80,
292 CHANNEL_WIDTH_80P80,
293 CHANNEL_WIDTH_160
294 };
295
296 /** WLAN interface info */
297 structure WlanInfo {
298 boolean associated; ///< \c true if assoiated to an access point
299 string ssid; ///< SSID of the wireless network
300 string bssid; ///< BSSID of associated access point
301 int channel; ///< Channel number
302 WlanChannelWidth channelWidth; ///< Channel width (this is an id and no frequency!)
303 };
304
305 /** Network settings */
306 structure Settings {
307 CommonSettings common; ///< Common network settings
308 map<string, InterfaceSettings> ifMap; ///< Common interface settings
309 map<string, EthSettings> ethMap; ///< Ethernet specific interface settings
310 map<string, WlanSettings> wlanMap;///< WLAN specific interface settings
311 };
312
313 /** Network info */
314 structure Info {
315 CommonInfo common; ///< Common network info
316 map<string, InterfaceInfo> ifMap; ///< Common interface info
317 map<string, EthInfo> ethMap; ///< Ethernet specific interface info
318 map<string, WlanInfo> wlanMap;///< WLAN specific interface info
319 };
320
321 /** Mapping from application protocol id to name and transport protocol */
322 structure PortForwardingProtocolMapping {
323 int appProtoId; ///< Application protocol id
324 string appProtoName; ///< Application protocol name
325 string transportProtoName; ///< Transport protocol name
326 };
327
328 /* ---- event definitions ---- */
329
330 /** Event that is send when common network info has changed */
331 valueobject CommonInfoChangedEvent extends idl.Event {
332 CommonInfo commonInfo; ///< Current common network info
333 };
334
335 /** Event that is send when common interface specific network info has changed */
336 valueobject InterfaceInfoChangedEvent extends idl.Event {
337 InterfaceInfo ifInfo; ///< Current common interface specific info
338 };
339
340 /** Event that is send when ethernet interface specific network info has changed */
341 valueobject EthInfoChangedEvent extends idl.Event {
342 string ifName; ///< Ethernet interface name
343 string ifLabel; ///< interface label
344 EthInfo ethInfo; ///< Current ethernet interface specific info
345 };
346
347 /** Event that is send when WLAN interface specific network info has changed */
348 valueobject WlanInfoChangedEvent extends idl.Event {
349 string ifName; ///< WLAN interface name
350 WlanInfo wlanInfo; ///< Current WLAN interface specific info
351 };
352
353 /** Event that is send when the operational state of an interface changed */
354 valueobject LinkStateChangedEvent extends idl.Event {
355 string ifName; ///< interface name
356 string ifLabel; ///< interface label
357 InterfaceType ifType; ///< interface type
358 InterfaceOpState ifState; ///< Current operational interface state
359 };
360
361 /** Event that is send when the presence state of a downstream port forwarding expansion unit changes */
362 valueobject PortForwardingExpansionUnitPresenceStateChangedEvent extends idl.Event {
363 boolean expansionUnitPresent; ///< \c true when an expansion unit is present
364 };
365
366 /** Network configuration interface */
367 interface Net {
368
369 /** Success code */
370 constant int SUCCESS = 0;
371
372 /** DNS parameter errors */
373 constant int ERR_DNS_TOO_MANY_SERVERS = 100;
374 constant int ERR_DNS_INVALID_SERVER = 101;
375 constant int ERR_DNS_TOO_MANY_SEARCH_SUFFIXES = 102;
376 constant int ERR_DNS_INVALID_SEARCH_SUFFIX = 103;
377
378 /** routing parameter errors */
379 constant int ERR_ROUTING_IPV4_INVALID_DFLT_GATEWAY_ADDR = 200;
380 constant int ERR_ROUTING_IPV6_INVALID_DFLT_GATEWAY_ADDR = 201;
381 constant int ERR_ROUTING_IPV4_INVALID_DEST_ADDR = 202;
382 constant int ERR_ROUTING_IPV6_INVALID_DEST_ADDR = 203;
383 constant int ERR_ROUTING_IPV4_INVALID_DEST_PREFIX_LEN = 204;
384 constant int ERR_ROUTING_IPV6_INVALID_DEST_PREFIX_LEN = 205;
385 constant int ERR_ROUTING_IPV4_INVALID_NEXTHOP_ADDR = 206;
386 constant int ERR_ROUTING_IPV6_INVALID_NEXTHOP_ADDR = 207;
387 constant int ERR_ROUTING_IPV4_INVALID_INTERFACE = 208;
388 constant int ERR_ROUTING_IPV6_INVALID_INTERFACE = 209;
389 constant int ERR_ROUTING_IPV4_DEST_IS_NO_NETWORK_ADDR = 210;
390 constant int ERR_ROUTING_IPV6_DEST_IS_NO_NETWORK_ADDR = 211;
391 constant int ERR_ROUTING_IPV4_DEST_IS_DUPLICATE = 212;
392 constant int ERR_ROUTING_IPV6_DEST_IS_DUPLICATE = 213;
393 constant int ERR_ROUTING_IPV4_NO_NEXTHOP_OR_INTERFACE = 214;
394 constant int ERR_ROUTING_IPV6_NO_NEXTHOP_OR_INTERFACE = 215;
395 constant int ERR_ROUTING_IPV4_NEXTHOP_AND_INTERFACE_SET = 216;
396 constant int ERR_ROUTING_IPV6_NEXTHOP_AND_INTERFACE_SET = 217;
397
398 /** port forwarding parameter errors */
399 constant int ERR_PF_INVALID_PRIMARY_UNIT_DOWNSTREAM_INTERFACE = 300;
400 constant int ERR_PF_NO_WORKING_PRIMARY_UNIT_UPSTREAM_INTERFACE= 301;
401 constant int ERR_PF_NOT_SUPPORTED = 302;
402
403 /** interface common parameter errors */
404 constant int ERR_IF_IPV4_INVALID_CONFIG_METHOD = 400;
405 constant int ERR_IF_IPV6_INVALID_CONFIG_METHOD = 401;
406 constant int ERR_IF_IPV4_INVALID_STATIC_ADDR = 402;
407 constant int ERR_IF_IPV6_INVALID_STATIC_ADDR = 403;
408 constant int ERR_IF_IPV4_INVALID_STATIC_PREFIX_LEN = 404;
409 constant int ERR_IF_IPV6_INVALID_STATIC_PREFIX_LEN = 405;
410 constant int ERR_IF_IPV4_INVALID_DHCP_PREF_HOSTNAME = 406;
411 constant int ERR_IF_IPV6_INVALID_DHCP_PREF_HOSTNAME = 407;
412 constant int ERR_IF_EAP_INVALID_IDENTITY = 408;
413 constant int ERR_IF_EAP_INVALID_PASSWORD = 409;
414 constant int ERR_IF_EAP_INVALID_CLIENT_CERT = 410;
415 constant int ERR_IF_EAP_INVALID_CLIENT_PRIV_KEY_OR_PWD = 411;
416 constant int ERR_IF_EAP_CLIENT_CERT_PRIV_KEY_MISMATCH = 412;
417 constant int ERR_IF_EAP_INVALID_CA_CERT = 413;
418 constant int ERR_IF_EAP_CA_CERT_VERIFY_FAILED = 414; /* not used anymore */
419 constant int ERR_IF_EAP_INVALID_AUTH_SERVER_NAME = 415;
420
421 /** Ethernet interface parameter errors */
422 constant int ERR_ETH_IF_UNSUPPORTED_LINKMODE = 500;
423 constant int ERR_ETH_IF_INVALID_MTU = 501;
424
425 /** WLAN interface parameter errors */
426 constant int ERR_WLAN_IF_INVALID_SSID = 600;
427 constant int ERR_WLAN_IF_INVALID_BSSID = 601;
428 constant int ERR_WLAN_IF_INVALID_PSK = 602;
429 constant int ERR_WLAN_IF_INVALID_MTU = 603;
430 constant int ERR_WLAN_IF_NOT_SUPPORTED = 604;
431
432 /** BRIDGE interface parameter errors */
433 constant int ERR_BRIDGE_IF_NOT_SUPPORTED = 700;
434
435 /**
436 * Retrieve information about all network interfaces.
437 *
438 * @return Current network information
439 */
440 Info getInfo();
441
442 /**
443 * Retrieve the current network interface settings.
444 *
445 * @return Settings for all supported network interfaces
446 */
447 Settings getSettings();
448
449 /**
450 * Update the network interface settings.
451 *
452 * @param settings New network settings
453 *
454 * @return 0 if OK
455 * @return non-zero in case of error (see error constants above)
456 */
457 int setSettings(in Settings settings);
458
459 /**
460 * Retrieve the list of port forwarding protocol mappings.
461 *
462 * @return Port forwarding protocol mappings
463 */
464 vector<PortForwardingProtocolMapping> getPortForwardingProtocolMappings();
465
466 };
467
468}
net::Net
Network configuration interface.
Definition Net.idl:367
net::Net::getSettings
Settings getSettings()
Retrieve the current network interface settings.
net::Net::ERR_WLAN_IF_INVALID_SSID
constant int ERR_WLAN_IF_INVALID_SSID
WLAN interface parameter errors.
Definition Net.idl:426
net::Net::SUCCESS
constant int SUCCESS
Success code.
Definition Net.idl:370
net::Net::ERR_BRIDGE_IF_NOT_SUPPORTED
constant int ERR_BRIDGE_IF_NOT_SUPPORTED
BRIDGE interface parameter errors.
Definition Net.idl:433
net::Net::getPortForwardingProtocolMappings
vector< PortForwardingProtocolMapping > getPortForwardingProtocolMappings()
Retrieve the list of port forwarding protocol mappings.
net::Net::ERR_ETH_IF_UNSUPPORTED_LINKMODE
constant int ERR_ETH_IF_UNSUPPORTED_LINKMODE
Ethernet interface parameter errors.
Definition Net.idl:422
net::Net::ERR_ROUTING_IPV4_INVALID_DFLT_GATEWAY_ADDR
constant int ERR_ROUTING_IPV4_INVALID_DFLT_GATEWAY_ADDR
routing parameter errors
Definition Net.idl:379
net::Net::ERR_IF_IPV4_INVALID_CONFIG_METHOD
constant int ERR_IF_IPV4_INVALID_CONFIG_METHOD
interface common parameter errors
Definition Net.idl:404
net::Net::ERR_DNS_TOO_MANY_SERVERS
constant int ERR_DNS_TOO_MANY_SERVERS
DNS parameter errors.
Definition Net.idl:373
net::Net::setSettings
int setSettings(in Settings settings)
Update the network interface settings.
net::Net::ERR_PF_INVALID_PRIMARY_UNIT_DOWNSTREAM_INTERFACE
constant int ERR_PF_INVALID_PRIMARY_UNIT_DOWNSTREAM_INTERFACE
port forwarding parameter errors
Definition Net.idl:399
net::Net::getInfo
Info getInfo()
Retrieve information about all network interfaces.
idl
Basic IDL definitions.
Definition Event.idl:10
net
Network Configuration.
Definition Diagnostics.idl:9
net::EthAuthType
EthAuthType
Ethernet authentication type.
Definition Net.idl:230
net::ETH_AUTH_NONE
@ ETH_AUTH_NONE
No authentication.
Definition Net.idl:231
net::ETH_AUTH_EAP
@ ETH_AUTH_EAP
802::1x (EAP) authentication
Definition Net.idl:232
net::EapStatus
EapStatus
EAP authentication status.
Definition Net.idl:188
net::EAP_STATUS_FAILED
@ EAP_STATUS_FAILED
EAP authentication failed.
Definition Net.idl:191
net::EAP_STATUS_PENDING
@ EAP_STATUS_PENDING
EAP authentication pending.
Definition Net.idl:190
net::EAP_STATUS_SUCCESS
@ EAP_STATUS_SUCCESS
EAP authentication succeeded.
Definition Net.idl:192
net::EAP_STATUS_DISABLED
@ EAP_STATUS_DISABLED
EAP authentication disabled.
Definition Net.idl:189
net::IpConfigMethod
IpConfigMethod
IP configuration method.
Definition Net.idl:104
net::STATIC
@ STATIC
No automatic configuration.
Definition Net.idl:105
net::DHCP
@ DHCP
Use DHCP for automatic configuration (IPv4 only)
Definition Net.idl:106
net::AUTO
@ AUTO
Use automatic configuration (IPv6 only)
Definition Net.idl:107
net::EthDuplexMode
EthDuplexMode
Ethernet duplex mode.
Definition Net.idl:223
net::DUPLEX_MODE_AUTO
@ DUPLEX_MODE_AUTO
Use auto-negotiation to set duplex mode.
Definition Net.idl:224
net::DUPLEX_MODE_FULL
@ DUPLEX_MODE_FULL
Full duplex.
Definition Net.idl:226
net::DUPLEX_MODE_HALF
@ DUPLEX_MODE_HALF
Half duplex.
Definition Net.idl:225
net::WlanSecProtocol
WlanSecProtocol
WLAN security protocol.
Definition Net.idl:261
net::WPA2
@ WPA2
WPA2 security protocol.
Definition Net.idl:262
net::EthSpeed
EthSpeed
Ethernet speed.
Definition Net.idl:215
net::SPEED_MBIT_10
@ SPEED_MBIT_10
10 MBit/s
Definition Net.idl:217
net::SPEED_MBIT_100
@ SPEED_MBIT_100
100 MBit/s
Definition Net.idl:218
net::SPEED_AUTO
@ SPEED_AUTO
Use auto-negotiation to set speed.
Definition Net.idl:216
net::SPEED_MBIT_1000
@ SPEED_MBIT_1000
1000 MBit/s (1 GBit/s)
Definition Net.idl:219
net::PortForwardingRole
PortForwardingRole
Role of the node when port forwarding is enabled.
Definition Net.idl:27
net::PRIMARY_UNIT
@ PRIMARY_UNIT
Node is a port forwarding primary unit.
Definition Net.idl:28
net::EXPANSION_UNIT
@ EXPANSION_UNIT
Node is a port forwarding expansion unit.
Definition Net.idl:29
net::WlanChannelWidth
WlanChannelWidth
WLAN channel width.
Definition Net.idl:286
net::WlanAuthType
WlanAuthType
WLAN authentication type.
Definition Net.idl:266
net::WLAN_AUTH_NONE
@ WLAN_AUTH_NONE
No authentication.
Definition Net.idl:267
net::WLAN_AUTH_EAP
@ WLAN_AUTH_EAP
802::1x (EAP) authentication
Definition Net.idl:269
net::WLAN_AUTH_PSK
@ WLAN_AUTH_PSK
Pre-shared key authentication.
Definition Net.idl:268
net::InterfaceOpState
InterfaceOpState
Interface operational state.
Definition Net.idl:154
net::UP
@ UP
Interface is up and running.
Definition Net.idl:158
net::NO_LINK
@ NO_LINK
Interface has no link.
Definition Net.idl:157
net::NOT_PRESENT
@ NOT_PRESENT
Interface is not present.
Definition Net.idl:155
net::DOWN
@ DOWN
Interface is down.
Definition Net.idl:156
net::EapInnerAuthMethod
EapInnerAuthMethod
EAP inner authentication method.
Definition Net.idl:182
net::INNER_EAP_TLS
@ INNER_EAP_TLS
TLS authentication.
Definition Net.idl:184
net::INNER_EAP_MSCHAPv2
@ INNER_EAP_MSCHAPv2
MSCHAPv2 authentication.
Definition Net.idl:183
net::InterfaceType
InterfaceType
The interface type.
Definition Net.idl:147
net::BRIDGE
@ BRIDGE
Bridge interface.
Definition Net.idl:150
net::ETHERNET
@ ETHERNET
Ethernet interface.
Definition Net.idl:148
net::WLAN
@ WLAN
WLAN interface.
Definition Net.idl:149
net::EapOuterAuthMethod
EapOuterAuthMethod
EAP outer authentication method.
Definition Net.idl:176
net::EAP_PEAP
@ EAP_PEAP
PEAP authentication.
Definition Net.idl:177
net::EAP_TLS
@ EAP_TLS
TLS authentication.
Definition Net.idl:178
idl::Event
Common base for all events.
Definition Event.idl:13
net::CommonInfoChangedEvent
Event that is send when common network info has changed.
Definition Net.idl:331
net::CommonInfoChangedEvent::commonInfo
CommonInfo commonInfo
Current common network info.
Definition Net.idl:332
net::CommonInfo
Common info.
Definition Net.idl:97
net::CommonInfo::portForwarding
PortForwardingInfo portForwarding
Port forwarding info.
Definition Net.idl:100
net::CommonInfo::routing
RoutingInfo routing
Routing info.
Definition Net.idl:99
net::CommonInfo::dns
DnsInfo dns
DNS info.
Definition Net.idl:98
net::CommonSettings
Common settings.
Definition Net.idl:58
net::CommonSettings::dns
DnsSettings dns
DNS settings.
Definition Net.idl:59
net::CommonSettings::portForwarding
PortForwardingSettings portForwarding
Port forwarding settings.
Definition Net.idl:61
net::CommonSettings::routing
RoutingSettings routing
Routing settings.
Definition Net.idl:60
net::DnsInfo
DNS info.
Definition Net.idl:84
net::DnsInfo::serverAddrs
vector< string > serverAddrs
List of active domain name server addresses.
Definition Net.idl:85
net::DnsInfo::searchSuffixes
vector< string > searchSuffixes
List of active domain search suffixes.
Definition Net.idl:86
net::DnsInfo::resolverPrefersIPv6
boolean resolverPrefersIPv6
Resolver should prefer IPv6 addresses.
Definition Net.idl:87
net::DnsSettings
DNS settings.
Definition Net.idl:40
net::DnsSettings::resolverPrefersIPv6
boolean resolverPrefersIPv6
Resolver should prefer IPv6 addresses.
Definition Net.idl:43
net::DnsSettings::serverAddrs
vector< string > serverAddrs
List of domain name servers addresses (IPv4/IPv6)
Definition Net.idl:41
net::DnsSettings::searchSuffixes
vector< string > searchSuffixes
List of domain search suffixes.
Definition Net.idl:42
net::EapAuthSettings
EAP authentication settings.
Definition Net.idl:196
net::EapAuthSettings::authServerName
string authServerName
Name of the RADIUS server (used to verify cert)
Definition Net.idl:211
net::EapAuthSettings::clientPrivKeyPassword
string clientPrivKeyPassword
password of client private key
Definition Net.idl:203
net::EapAuthSettings::clientCertChain
string clientCertChain
client certificate chain
Definition Net.idl:200
net::EapAuthSettings::allowOffTimeRangeCerts
boolean allowOffTimeRangeCerts
allow expired and not yet valid TLS certs
Definition Net.idl:208
net::EapAuthSettings::allowNotYetValidCertsIfTimeBeforeBuild
boolean allowNotYetValidCertsIfTimeBeforeBuild
allow not yet valid TLS certs if
Definition Net.idl:209
net::EapAuthSettings::innerMethod
EapInnerAuthMethod innerMethod
Inner authentication method.
Definition Net.idl:205
net::EapAuthSettings::password
string password
EAP password (always empty on retrieval!)
Definition Net.idl:198
net::EapAuthSettings::identity
string identity
EAP identity.
Definition Net.idl:197
net::EapAuthSettings::clearClientPrivKey
boolean clearClientPrivKey
Set to true to clear the client private key.
Definition Net.idl:202
net::EapAuthSettings::outerMethod
EapOuterAuthMethod outerMethod
Outer authentication method.
Definition Net.idl:204
net::EapAuthSettings::clearPassword
boolean clearPassword
Set to true when password should be cleared.
Definition Net.idl:199
net::EapAuthSettings::caCertChain
string caCertChain
CA certificate chain.
Definition Net.idl:206
net::EapAuthSettings::forceTrustedCert
boolean forceTrustedCert
Enforce trusted certificates.
Definition Net.idl:207
net::EapAuthSettings::clientPrivKey
string clientPrivKey
client private key (always empty on retrieval!)
Definition Net.idl:201
net::EthInfoChangedEvent
Event that is send when ethernet interface specific network info has changed.
Definition Net.idl:341
net::EthInfoChangedEvent::ifName
string ifName
Ethernet interface name.
Definition Net.idl:342
net::EthInfoChangedEvent::ifLabel
string ifLabel
interface label
Definition Net.idl:343
net::EthInfoChangedEvent::ethInfo
EthInfo ethInfo
Current ethernet interface specific info.
Definition Net.idl:344
net::EthInfo
Ethernet interface info.
Definition Net.idl:251
net::EthInfo::autonegEnabled
boolean autonegEnabled
true if auto-negotiation is enabled
Definition Net.idl:255
net::EthInfo::linkMode
EthLinkMode linkMode
Current link mode.
Definition Net.idl:253
net::EthInfo::linkModeValid
boolean linkModeValid
true if linkMode is valid
Definition Net.idl:254
net::EthInfo::linkDetected
boolean linkDetected
true if a link is detected
Definition Net.idl:256
net::EthInfo::supportedLinkModes
vector< EthLinkMode > supportedLinkModes
Supported link modes.
Definition Net.idl:257
net::EthInfo::eapStatus
EapStatus eapStatus
status of EAP authentication
Definition Net.idl:252
net::EthLinkMode
Ethernet link mode.
Definition Net.idl:236
net::EthLinkMode::duplexMode
EthDuplexMode duplexMode
Interface duplex mode.
Definition Net.idl:238
net::EthLinkMode::speed
EthSpeed speed
Interface speed.
Definition Net.idl:237
net::EthSettings
Ethernet interface settings.
Definition Net.idl:242
net::EthSettings::lldpEnabled
boolean lldpEnabled
true if LLDP is enabled
Definition Net.idl:247
net::EthSettings::eap
EapAuthSettings eap
EAP Settings for 802::1x authentication.
Definition Net.idl:246
net::EthSettings::linkMode
EthLinkMode linkMode
Link mode.
Definition Net.idl:243
net::EthSettings::mtu
int mtu
Maximum Transfer Unit (MTU)
Definition Net.idl:244
net::EthSettings::authType
EthAuthType authType
Authentication type.
Definition Net.idl:245
net::Info
Network info.
Definition Net.idl:314
net::Info::common
CommonInfo common
Common network info.
Definition Net.idl:315
net::Info::ethMap
map< string, EthInfo > ethMap
Ethernet specific interface info.
Definition Net.idl:317
net::Info::ifMap
map< string, InterfaceInfo > ifMap
Common interface info.
Definition Net.idl:316
net::Info::wlanMap
map< string, WlanInfo > wlanMap
WLAN specific interface info.
Definition Net.idl:318
net::InterfaceIPv4Info
Interface specific IPv4 info.
Definition Net.idl:120
net::InterfaceIPv4Info::enabled
boolean enabled
true if IPv4 is enabled
Definition Net.idl:121
net::InterfaceIPv4Info::dhcpServerAddr
string dhcpServerAddr
IPv4 address of DHCP server or empty.
Definition Net.idl:124
net::InterfaceIPv4Info::dhcpPreferredHostname
string dhcpPreferredHostname
Preferred hostname (only used with DHCP)
Definition Net.idl:125
net::InterfaceIPv4Info::configMethod
IpConfigMethod configMethod
Interface configuration method.
Definition Net.idl:122
net::InterfaceIPv4Info::addrsCidr
vector< IpAddrCidr > addrsCidr
List of active IPv4 addresses with prefix length.
Definition Net.idl:123
net::InterfaceIPv6Info
Interface specific IPv6 info.
Definition Net.idl:129
net::InterfaceIPv6Info::configMethod
IpConfigMethod configMethod
Interface configuration method.
Definition Net.idl:131
net::InterfaceIPv6Info::dhcpServerId
string dhcpServerId
DHCPv6 server id or empty.
Definition Net.idl:133
net::InterfaceIPv6Info::raManaged
boolean raManaged
"Managed" flag set in router announcements
Definition Net.idl:135
net::InterfaceIPv6Info::addrsCidr
vector< IpAddrCidr > addrsCidr
List of active IPv6 addresses with prefix length.
Definition Net.idl:132
net::InterfaceIPv6Info::dhcpPreferredHostname
string dhcpPreferredHostname
Preferred hostname (only used with DHCP)
Definition Net.idl:134
net::InterfaceIPv6Info::enabled
boolean enabled
true if IPv6 is enabled
Definition Net.idl:130
net::InterfaceIPv6Info::raOtherConf
boolean raOtherConf
"OtherConf" flag set in router announcements
Definition Net.idl:136
net::InterfaceInfoChangedEvent
Event that is send when common interface specific network info has changed.
Definition Net.idl:336
net::InterfaceInfoChangedEvent::ifInfo
InterfaceInfo ifInfo
Current common interface specific info.
Definition Net.idl:337
net::InterfaceInfo
Interface specific info.
Definition Net.idl:162
net::InterfaceInfo::name
string name
Internal interface name.
Definition Net.idl:163
net::InterfaceInfo::type
InterfaceType type
Interface type.
Definition Net.idl:165
net::InterfaceInfo::label
string label
Interface label (used in user interfaces)
Definition Net.idl:164
net::InterfaceInfo::macAddr
string macAddr
MAC address of the interface.
Definition Net.idl:169
net::InterfaceInfo::controllingIfName
string controllingIfName
Controlling interface (set for bridged interfaces)
Definition Net.idl:167
net::InterfaceInfo::ipv6
InterfaceIPv6Info ipv6
Interface specific IPv6 info.
Definition Net.idl:172
net::InterfaceInfo::mtu
int mtu
Maximum Transfer Unit (MTU)
Definition Net.idl:170
net::InterfaceInfo::state
InterfaceOpState state
Operational state of the interface.
Definition Net.idl:168
net::InterfaceInfo::ipv4
InterfaceIPv4Info ipv4
Interface specific IPv4 info.
Definition Net.idl:171
net::InterfaceInfo::enabled
boolean enabled
The dynamic enabled state.
Definition Net.idl:166
net::InterfaceIpSettings
Interface specific IP settings.
Definition Net.idl:111
net::InterfaceIpSettings::dhcpPreferredHostname
string dhcpPreferredHostname
Preferred hostname (only used with DHCP)
Definition Net.idl:116
net::InterfaceIpSettings::enabled
boolean enabled
Controls if IPv4/IPv6 is enabled.
Definition Net.idl:112
net::InterfaceIpSettings::configMethod
IpConfigMethod configMethod
Interface configuration method.
Definition Net.idl:113
net::InterfaceIpSettings::staticDefaultGatewayAddr
string staticDefaultGatewayAddr
Statically assigned default gateway address.
Definition Net.idl:115
net::InterfaceIpSettings::staticAddrCidr
IpAddrCidr staticAddrCidr
Statically assigned IPv4/IPv6 address (CIDR)
Definition Net.idl:114
net::InterfaceSettings
Interface specific settings.
Definition Net.idl:140
net::InterfaceSettings::enabled
boolean enabled
Controls if interface is enabled.
Definition Net.idl:141
net::InterfaceSettings::ipv6
InterfaceIpSettings ipv6
Interface specific IPv6 settings.
Definition Net.idl:143
net::InterfaceSettings::ipv4
InterfaceIpSettings ipv4
Interface specific IPv4 settings.
Definition Net.idl:142
net::IpAddrCidr
IPv4/IPv6 address and prefix len.
Definition Net.idl:14
net::IpRoute
IPv4/IPv6 route.
Definition Net.idl:20
net::IpRoutingSettings
IP protocol specific routing settings.
Definition Net.idl:47
net::IpRoutingSettings::staticRoutes
vector< IpRoute > staticRoutes
List of static routes.
Definition Net.idl:48
net::LinkStateChangedEvent
Event that is send when the operational state of an interface changed.
Definition Net.idl:354
net::LinkStateChangedEvent::ifLabel
string ifLabel
interface label
Definition Net.idl:356
net::LinkStateChangedEvent::ifState
InterfaceOpState ifState
Current operational interface state.
Definition Net.idl:358
net::LinkStateChangedEvent::ifName
string ifName
interface name
Definition Net.idl:355
net::LinkStateChangedEvent::ifType
InterfaceType ifType
interface type
Definition Net.idl:357
net::PortForwardingExpansionUnitPresenceStateChangedEvent
Event that is send when the presence state of a downstream port forwarding expansion unit changes.
Definition Net.idl:362
net::PortForwardingExpansionUnitPresenceStateChangedEvent::expansionUnitPresent
boolean expansionUnitPresent
true when an expansion unit is present
Definition Net.idl:363
net::PortForwardingInfo
Port forwarding info.
Definition Net.idl:71
net::PortForwardingInfo::primaryUnitDownstreamIfName
string primaryUnitDownstreamIfName
Primary unit downstream interface (usb: any USB iface)
Definition Net.idl:76
net::PortForwardingInfo::primaryUnitIPv6AddrInfos
vector< PortForwardingPrimaryUnitAddrInfo > primaryUnitIPv6AddrInfos
Primary unit address info for IPv6.
Definition Net.idl:79
net::PortForwardingInfo::nodeIndexValid
boolean nodeIndexValid
true if nodeIndex is valid
Definition Net.idl:73
net::PortForwardingInfo::primaryUnitIPv4AddrInfos
vector< PortForwardingPrimaryUnitAddrInfo > primaryUnitIPv4AddrInfos
Primary unit address info for IPv4.
Definition Net.idl:78
net::PortForwardingInfo::linkLocalIPv6Address
string linkLocalIPv6Address
link-local address of port forwarding interface
Definition Net.idl:80
net::PortForwardingInfo::enabled
boolean enabled
true if port forwarding is enabled
Definition Net.idl:72
net::PortForwardingInfo::expansionUnitConnected
boolean expansionUnitConnected
true if this node has an expansion unit connected
Definition Net.idl:75
net::PortForwardingInfo::nodeIndex
int nodeIndex
Index of the node in the port forwarding cascade.
Definition Net.idl:74
net::PortForwardingPrimaryUnitAddrInfo
Port forwarding primary unit address info for an interface.
Definition Net.idl:65
net::PortForwardingPrimaryUnitAddrInfo::addr
string addr
IPv4/IPv6 address on the interface.
Definition Net.idl:67
net::PortForwardingPrimaryUnitAddrInfo::ifName
string ifName
interface name on primary unit
Definition Net.idl:66
net::PortForwardingProtocolMapping
Mapping from application protocol id to name and transport protocol.
Definition Net.idl:322
net::PortForwardingProtocolMapping::transportProtoName
string transportProtoName
Transport protocol name.
Definition Net.idl:325
net::PortForwardingProtocolMapping::appProtoName
string appProtoName
Application protocol name.
Definition Net.idl:324
net::PortForwardingProtocolMapping::appProtoId
int appProtoId
Application protocol id.
Definition Net.idl:323
net::PortForwardingSettings
Port forwarding settings.
Definition Net.idl:33
net::PortForwardingSettings::enabled
boolean enabled
Controls if port forwarding is enabled.
Definition Net.idl:34
net::PortForwardingSettings::role
PortForwardingRole role
The role of the node (primary unit or expansion unit)
Definition Net.idl:35
net::PortForwardingSettings::primaryUnitDownstreamIfName
string primaryUnitDownstreamIfName
Primary unit downstream interface (usb: any USB iface)
Definition Net.idl:36
net::RoutingInfo
Routing info.
Definition Net.idl:91
net::RoutingInfo::ipv6Routes
vector< IpRoute > ipv6Routes
List of active IPv6 routes.
Definition Net.idl:93
net::RoutingInfo::ipv4Routes
vector< IpRoute > ipv4Routes
List of active IPv4 routes.
Definition Net.idl:92
net::RoutingSettings
Routing settings.
Definition Net.idl:52
net::RoutingSettings::ipv4
IpRoutingSettings ipv4
IPv4 routing settings.
Definition Net.idl:53
net::RoutingSettings::ipv6
IpRoutingSettings ipv6
IPv6 routing settings.
Definition Net.idl:54
net::Settings
Network settings.
Definition Net.idl:306
net::Settings::wlanMap
map< string, WlanSettings > wlanMap
WLAN specific interface settings.
Definition Net.idl:310
net::Settings::ifMap
map< string, InterfaceSettings > ifMap
Common interface settings.
Definition Net.idl:308
net::Settings::ethMap
map< string, EthSettings > ethMap
Ethernet specific interface settings.
Definition Net.idl:309
net::Settings::common
CommonSettings common
Common network settings.
Definition Net.idl:307
net::WlanInfoChangedEvent
Event that is send when WLAN interface specific network info has changed.
Definition Net.idl:348
net::WlanInfoChangedEvent::wlanInfo
WlanInfo wlanInfo
Current WLAN interface specific info.
Definition Net.idl:350
net::WlanInfoChangedEvent::ifName
string ifName
WLAN interface name.
Definition Net.idl:349
net::WlanInfo
WLAN interface info.
Definition Net.idl:297
net::WlanInfo::associated
boolean associated
true if assoiated to an access point
Definition Net.idl:298
net::WlanInfo::ssid
string ssid
SSID of the wireless network.
Definition Net.idl:299
net::WlanInfo::channel
int channel
Channel number.
Definition Net.idl:301
net::WlanInfo::channelWidth
WlanChannelWidth channelWidth
Channel width (this is an id and no frequency!)
Definition Net.idl:302
net::WlanInfo::bssid
string bssid
BSSID of associated access point.
Definition Net.idl:300
net::WlanSettings
WLAN interface settings.
Definition Net.idl:273
net::WlanSettings::secProtocol
WlanSecProtocol secProtocol
Security protocol (WPA2)
Definition Net.idl:278
net::WlanSettings::psk
string psk
Pre-shared key (always empty on retrieval!)
Definition Net.idl:280
net::WlanSettings::ssid
string ssid
SSID of the wireless network.
Definition Net.idl:275
net::WlanSettings::eap
EapAuthSettings eap
EAP Settings for 802::1x authentication.
Definition Net.idl:282
net::WlanSettings::mtu
int mtu
Maximum Transfer Unit (MTU)
Definition Net.idl:277
net::WlanSettings::authType
WlanAuthType authType
Authentication type.
Definition Net.idl:279
net::WlanSettings::bssid
string bssid
BSSID (empty for automatic AP selection)
Definition Net.idl:276
net::WlanSettings::enableHT
boolean enableHT
Enable high throughput features (802::11n)
Definition Net.idl:274
net::WlanSettings::clearPsk
boolean clearPsk
Set to true when PSK should be cleared.
Definition Net.idl:281