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