Raritan / Server Technology Xerus™ PDU JSON-RPC API
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  */
11 module 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 */
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 */
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 */
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 */
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 */
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 
402  /** interface common parameter errors */
403  constant int ERR_IF_IPV4_INVALID_CONFIG_METHOD = 400;
404  constant int ERR_IF_IPV6_INVALID_CONFIG_METHOD = 401;
405  constant int ERR_IF_IPV4_INVALID_STATIC_ADDR = 402;
406  constant int ERR_IF_IPV6_INVALID_STATIC_ADDR = 403;
407  constant int ERR_IF_IPV4_INVALID_STATIC_PREFIX_LEN = 404;
408  constant int ERR_IF_IPV6_INVALID_STATIC_PREFIX_LEN = 405;
409  constant int ERR_IF_IPV4_INVALID_DHCP_PREF_HOSTNAME = 406;
410  constant int ERR_IF_IPV6_INVALID_DHCP_PREF_HOSTNAME = 407;
411  constant int ERR_IF_EAP_INVALID_IDENTITY = 408;
412  constant int ERR_IF_EAP_INVALID_PASSWORD = 409;
413  constant int ERR_IF_EAP_INVALID_CLIENT_CERT = 410;
414  constant int ERR_IF_EAP_INVALID_CLIENT_PRIV_KEY_OR_PWD = 411;
415  constant int ERR_IF_EAP_CLIENT_CERT_PRIV_KEY_MISMATCH = 412;
416  constant int ERR_IF_EAP_INVALID_CA_CERT = 413;
417  constant int ERR_IF_EAP_CA_CERT_VERIFY_FAILED = 414; /* not used anymore */
418  constant int ERR_IF_EAP_INVALID_AUTH_SERVER_NAME = 415;
419 
420  /** Ethernet interface parameter errors */
421  constant int ERR_ETH_IF_UNSUPPORTED_LINKMODE = 500;
422  constant int ERR_ETH_IF_INVALID_MTU = 501;
423 
424  /** WLAN interface parameter errors */
425  constant int ERR_WLAN_IF_INVALID_SSID = 600;
426  constant int ERR_WLAN_IF_INVALID_BSSID = 601;
427  constant int ERR_WLAN_IF_INVALID_PSK = 602;
428  constant int ERR_WLAN_IF_INVALID_MTU = 603;
429 
430  /**
431  * Retrieve information about all network interfaces.
432  *
433  * @return Current network information
434  */
436 
437  /**
438  * Retrieve the current network interface settings.
439  *
440  * @return Settings for all supported network interfaces
441  */
443 
444  /**
445  * Update the network interface settings.
446  *
447  * @param settings New network settings
448  *
449  * @return 0 if OK
450  * @return non-zero in case of error (see error constants above)
451  */
452  int setSettings(in Settings settings);
453 
454  /**
455  * Retrieve the list of port forwarding protocol mappings.
456  *
457  * @return Port forwarding protocol mappings
458  */
459  vector<PortForwardingProtocolMapping> getPortForwardingProtocolMappings();
460 
461  };
462 
463 }
Network configuration interface.
Definition: Net.idl:367
vector< PortForwardingProtocolMapping > getPortForwardingProtocolMappings()
Retrieve the list of port forwarding protocol mappings.
Settings getSettings()
Retrieve the current network interface settings.
int setSettings(in Settings settings)
Update the network interface settings.
Info getInfo()
Retrieve information about all network interfaces.
Basic IDL definitions.
Definition: Event.idl:10
Network Configuration.
Definition: Diagnostics.idl:9
EthAuthType
Ethernet authentication type.
Definition: Net.idl:230
@ ETH_AUTH_NONE
No authentication.
Definition: Net.idl:231
@ ETH_AUTH_EAP
802::1x (EAP) authentication
Definition: Net.idl:232
valueobject InterfaceInfoChangedEvent
Event that is send when common interface specific network info has changed.
Definition: Net.idl:333
EapStatus
EAP authentication status.
Definition: Net.idl:188
@ EAP_STATUS_FAILED
EAP authentication failed.
Definition: Net.idl:191
@ EAP_STATUS_PENDING
EAP authentication pending.
Definition: Net.idl:190
@ EAP_STATUS_SUCCESS
EAP authentication succeeded.
Definition: Net.idl:192
@ EAP_STATUS_DISABLED
EAP authentication disabled.
Definition: Net.idl:189
valueobject WlanInfoChangedEvent
Event that is send when WLAN interface specific network info has changed.
Definition: Net.idl:345
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
valueobject CommonInfoChangedEvent
Event that is send when common network info has changed.
Definition: Net.idl:332
string ifLabel
interface label
Definition: Net.idl:343
EthDuplexMode
Ethernet duplex mode.
Definition: Net.idl:223
@ DUPLEX_MODE_AUTO
Use auto-negotiation to set duplex mode.
Definition: Net.idl:224
@ DUPLEX_MODE_FULL
Full duplex.
Definition: Net.idl:226
@ DUPLEX_MODE_HALF
Half duplex.
Definition: Net.idl:225
WlanSecProtocol
WLAN security protocol.
Definition: Net.idl:261
@ WPA2
WPA2 security protocol.
Definition: Net.idl:262
EthSpeed
Ethernet speed.
Definition: Net.idl:215
@ SPEED_MBIT_10
10 MBit/s
Definition: Net.idl:217
@ SPEED_MBIT_100
100 MBit/s
Definition: Net.idl:218
@ SPEED_AUTO
Use auto-negotiation to set speed.
Definition: Net.idl:216
@ SPEED_MBIT_1000
1000 MBit/s (1 GBit/s)
Definition: Net.idl:219
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
InterfaceType ifType
interface type
Definition: Net.idl:357
WlanChannelWidth
WLAN channel width.
Definition: Net.idl:286
WlanInfo wlanInfo
Current WLAN interface specific info.
Definition: Net.idl:350
WlanAuthType
WLAN authentication type.
Definition: Net.idl:266
@ WLAN_AUTH_NONE
No authentication.
Definition: Net.idl:267
@ WLAN_AUTH_EAP
802::1x (EAP) authentication
Definition: Net.idl:269
@ WLAN_AUTH_PSK
Pre-shared key authentication.
Definition: Net.idl:268
InterfaceOpState ifState
Current operational interface state.
Definition: Net.idl:358
valueobject PortForwardingExpansionUnitPresenceStateChangedEvent
Event that is send when the presence state of a downstream port forwarding expansion unit changes.
Definition: Net.idl:359
valueobject LinkStateChangedEvent
Event that is send when the operational state of an interface changed.
Definition: Net.idl:351
InterfaceOpState
Interface operational state.
Definition: Net.idl:154
@ UP
Interface is up and running.
Definition: Net.idl:158
@ NO_LINK
Interface has no link.
Definition: Net.idl:157
@ NOT_PRESENT
Interface is not present.
Definition: Net.idl:155
@ DOWN
Interface is down.
Definition: Net.idl:156
EthInfo ethInfo
Current ethernet interface specific info.
Definition: Net.idl:344
valueobject EthInfoChangedEvent
Event that is send when ethernet interface specific network info has changed.
Definition: Net.idl:338
EapInnerAuthMethod
EAP inner authentication method.
Definition: Net.idl:182
@ INNER_EAP_TLS
TLS authentication.
Definition: Net.idl:184
@ INNER_EAP_MSCHAPv2
MSCHAPv2 authentication.
Definition: Net.idl:183
InterfaceType
The interface type.
Definition: Net.idl:147
@ BRIDGE
Bridge interface.
Definition: Net.idl:150
@ ETHERNET
Ethernet interface.
Definition: Net.idl:148
@ WLAN
WLAN interface.
Definition: Net.idl:149
EapOuterAuthMethod
EAP outer authentication method.
Definition: Net.idl:176
@ EAP_PEAP
PEAP authentication.
Definition: Net.idl:177
@ EAP_TLS
TLS authentication.
Definition: Net.idl:178
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:196
string authServerName
Name of the RADIUS server (used to verify cert)
Definition: Net.idl:211
string clientPrivKeyPassword
password of client private key
Definition: Net.idl:203
string clientCertChain
client certificate chain
Definition: Net.idl:200
boolean allowOffTimeRangeCerts
allow expired and not yet valid TLS certs
Definition: Net.idl:208
boolean allowNotYetValidCertsIfTimeBeforeBuild
allow not yet valid TLS certs if
Definition: Net.idl:209
EapInnerAuthMethod innerMethod
Inner authentication method.
Definition: Net.idl:205
string password
EAP password (always empty on retrieval!)
Definition: Net.idl:198
string identity
EAP identity.
Definition: Net.idl:197
boolean clearClientPrivKey
Set to true to clear the client private key.
Definition: Net.idl:202
EapOuterAuthMethod outerMethod
Outer authentication method.
Definition: Net.idl:204
boolean clearPassword
Set to true when password should be cleared.
Definition: Net.idl:199
string caCertChain
CA certificate chain.
Definition: Net.idl:206
boolean forceTrustedCert
Enforce trusted certificates.
Definition: Net.idl:207
string clientPrivKey
client private key (always empty on retrieval!)
Definition: Net.idl:201
Ethernet interface info.
Definition: Net.idl:251
boolean autonegEnabled
true if auto-negotiation is enabled
Definition: Net.idl:255
EthLinkMode linkMode
Current link mode.
Definition: Net.idl:253
boolean linkModeValid
true if linkMode is valid
Definition: Net.idl:254
boolean linkDetected
true if a link is detected
Definition: Net.idl:256
vector< EthLinkMode > supportedLinkModes
Supported link modes.
Definition: Net.idl:257
EapStatus eapStatus
status of EAP authentication
Definition: Net.idl:252
Ethernet link mode.
Definition: Net.idl:236
EthDuplexMode duplexMode
Interface duplex mode.
Definition: Net.idl:238
EthSpeed speed
Interface speed.
Definition: Net.idl:237
Ethernet interface settings.
Definition: Net.idl:242
boolean lldpEnabled
true if LLDP is enabled
Definition: Net.idl:247
EapAuthSettings eap
EAP Settings for 802::1x authentication.
Definition: Net.idl:246
EthLinkMode linkMode
Link mode.
Definition: Net.idl:243
int mtu
Maximum Transfer Unit (MTU)
Definition: Net.idl:244
EthAuthType authType
Authentication type.
Definition: Net.idl:245
Network info.
Definition: Net.idl:314
CommonInfo common
Common network info.
Definition: Net.idl:315
map< string, EthInfo > ethMap
Ethernet specific interface info.
Definition: Net.idl:317
map< string, InterfaceInfo > ifMap
Common interface info.
Definition: Net.idl:316
map< string, WlanInfo > wlanMap
WLAN specific interface info.
Definition: Net.idl:318
Interface specific IPv4 info.
Definition: Net.idl:120
boolean enabled
true if IPv4 is enabled
Definition: Net.idl:121
string dhcpServerAddr
IPv4 address of DHCP server or empty.
Definition: Net.idl:124
string dhcpPreferredHostname
Preferred hostname (only used with DHCP)
Definition: Net.idl:125
IpConfigMethod configMethod
Interface configuration method.
Definition: Net.idl:122
vector< IpAddrCidr > addrsCidr
List of active IPv4 addresses with prefix length.
Definition: Net.idl:123
Interface specific IPv6 info.
Definition: Net.idl:129
IpConfigMethod configMethod
Interface configuration method.
Definition: Net.idl:131
string dhcpServerId
DHCPv6 server id or empty.
Definition: Net.idl:133
boolean raManaged
"Managed" flag set in router announcements
Definition: Net.idl:135
vector< IpAddrCidr > addrsCidr
List of active IPv6 addresses with prefix length.
Definition: Net.idl:132
string dhcpPreferredHostname
Preferred hostname (only used with DHCP)
Definition: Net.idl:134
boolean enabled
true if IPv6 is enabled
Definition: Net.idl:130
boolean raOtherConf
"OtherConf" flag set in router announcements
Definition: Net.idl:136
Interface specific info.
Definition: Net.idl:162
string name
Internal interface name.
Definition: Net.idl:163
InterfaceType type
Interface type.
Definition: Net.idl:165
string label
Interface label (used in user interfaces)
Definition: Net.idl:164
string macAddr
MAC address of the interface.
Definition: Net.idl:169
string controllingIfName
Controlling interface (set for bridged interfaces)
Definition: Net.idl:167
InterfaceIPv6Info ipv6
Interface specific IPv6 info.
Definition: Net.idl:172
int mtu
Maximum Transfer Unit (MTU)
Definition: Net.idl:170
InterfaceOpState state
Operational state of the interface.
Definition: Net.idl:168
InterfaceIPv4Info ipv4
Interface specific IPv4 info.
Definition: Net.idl:171
boolean enabled
The dynamic enabled state.
Definition: Net.idl:166
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
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:140
boolean enabled
Controls if interface is enabled.
Definition: Net.idl:141
InterfaceIpSettings ipv6
Interface specific IPv6 settings.
Definition: Net.idl:143
InterfaceIpSettings ipv4
Interface specific IPv4 settings.
Definition: Net.idl:142
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
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:322
string transportProtoName
Transport protocol name.
Definition: Net.idl:325
string appProtoName
Application protocol name.
Definition: Net.idl:324
int appProtoId
Application protocol id.
Definition: Net.idl:323
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:306
map< string, WlanSettings > wlanMap
WLAN specific interface settings.
Definition: Net.idl:310
map< string, InterfaceSettings > ifMap
Common interface settings.
Definition: Net.idl:308
map< string, EthSettings > ethMap
Ethernet specific interface settings.
Definition: Net.idl:309
CommonSettings common
Common network settings.
Definition: Net.idl:307
WLAN interface info.
Definition: Net.idl:297
boolean associated
true if assoiated to an access point
Definition: Net.idl:298
string ssid
SSID of the wireless network.
Definition: Net.idl:299
int channel
Channel number.
Definition: Net.idl:301
WlanChannelWidth channelWidth
Channel width (this is an id and no frequency!)
Definition: Net.idl:302
string bssid
BSSID of associated access point.
Definition: Net.idl:300
WLAN interface settings.
Definition: Net.idl:273
WlanSecProtocol secProtocol
Security protocol (WPA2)
Definition: Net.idl:278
string psk
Pre-shared key (always empty on retrieval!)
Definition: Net.idl:280
string ssid
SSID of the wireless network.
Definition: Net.idl:275
EapAuthSettings eap
EAP Settings for 802::1x authentication.
Definition: Net.idl:282
int mtu
Maximum Transfer Unit (MTU)
Definition: Net.idl:277
WlanAuthType authType
Authentication type.
Definition: Net.idl:279
string bssid
BSSID (empty for automatic AP selection)
Definition: Net.idl:276
boolean enableHT
Enable high throughput features (802::11n)
Definition: Net.idl:274
boolean clearPsk
Set to true when PSK should be cleared.
Definition: Net.idl:281