diff --git a/repos/os/src/server/nic_router/README b/repos/os/src/server/nic_router/README index 4fa7594159..fb047e5ed0 100644 --- a/repos/os/src/server/nic_router/README +++ b/repos/os/src/server/nic_router/README @@ -481,21 +481,186 @@ Configuration example (shows default values of attributes): ! quota="yes" ! config="yes" ! config_triggers="no" +! link_state="yes" +! link_state_triggers="no" ! interval_sec="5"/> ! If the 'report' tag is not available, no reports are send. -The attributes of the 'report' tag: +A complete state report of the NIC router is structured the following way +(example): -'bytes' : Boolean : Whether to report sent bytes and received bytes - per domain -'stats' : Boolean : Whether to report statistics about session objects -'quota' : Boolean : Whether to report quota and its utilization -'config' : Boolean : Whether to report IPv4 interface and gateway per - domain -'config_triggers' : Boolean : Wether to force a report each time the IPv4 - config changes -'interval_sec' : 1..3600 : Interval of sending reports in seconds +! +! +! +! +! +! +! +! +! +! ... +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! ... +! ... +! +! +! +! +! +! ... +! +! +! ... +! ... +! +! +! +! +! +! +! ... +! ... +! +! +! +! +! ... +! +! +! ... +! ... +! +! + +The attributes of the tag correspond to the report content as +described below: + +'bytes' + +A boolean value that controls whether the attributes 'rx_bytes' and 'tx_bytes' +of the tag in the state report are generated. These attributes +provide the number of bytes that were sent respectively recieved at all +sessions/interfaces of that domain beginning with the creation of the domain. + +'stats' + +A boolean value that controls whether the subtags , , +, , and are generated in the tags + and . In the tag, these subtags provide further +subtags , , , that provide the number of links +of the protocol type that are currently in the denominated protocol state (a +missing subtag denominates a number of 0). + +Furthermore, there are subtags that provide the number of links +of the protocol type that were already dissolved by the router (i.e., they are +already non-effective) but that weren't destructed so far. Thereby, the +different tags group the links according to the reason why they +have been dissolved ( thereby means that the protocol +itself terminated the connection). + +The subtag can occur in <*-links> subtags in both the +and the tag. It shows the number of links of the protocol type that +once existed but were already destroyed. In case of the tag, the +corresponding session/interface still exists at that domain. Once the +session/interface gets destroyed or disconnected from the domain, the number is +transferred to the subtag in the <*-links> subtag in the +tag. I.e. the subtags in <*-links> subtags in the tag +provide the number of destroyed links that can't be correlated anymore to any +session/interface of the domain. + +The same applies for the subtags of <*-links> tags. They show the +number of links that couldn't be established through the router because of the +lack of a certain quota. Thereby, refers to a lack of RAM +quota at the source session/interface of the link. The , at +the other hand, refers to a lack of UDP/TCP-NAT-ports respectively +ICMP-NAT-IDs at the target domain (see section [Configuring NAT]). + +The subtags , and list the number of still +active ( subtag) and already destroyed ( subtag) objects +for pending ARP requests respectively DHCP-address allocations at a +session/interface when in an tag. When in a tag, they +only list the number of already destroyed objects of these types that can't +be correlated anymore to any session/interface of the domain. + +'quota' + +A boolean value that controls whether the subtags and of the + tag and the subtags and of the +tag are generated. + +The former two show the capability quota respectively RAM quota of the router +that isn't accounted to any of the sessions/interfaces connected to the router +(i.e., the routers "own" quota). The 'quota' attribute denotes the total amount +of quota available to the router, the 'used' attribute the part of the total +amount of quota that is currently spent or in use, and the 'shared' attribute +the part of the spent quota that, although it was spent for session/interface- +specific things, can't be accounted to one session/interface technical reasons. + +The subtags and in the tag, however, show +the capability quota respectively RAM quota accounted to that +session/interface. The 'limit' and 'used' attributes are equal to the 'quota' +and 'used' attributes of the and subtags of the tag. The +'avail' attribute contains simply the 'limit' value minus the 'used' value. + +'config' + +A boolean value that controls whether the attributes 'ipv4' and 'gw' of the + tag and the subtag in the tag are generated. The +attribute 'ipv4' contains the current IPv4 address of the router in this domain +suffixed by the length of the subnet prefix in bits. The 'gw' attribute +contains the IPv4 address of the gateway in this domain. Each subtag of a + tag shows the IPv4 address of a DNS server known to this domain. The + subtags have the same order that the addresses had when the router +received them (i.e., the order of DHCP option 6 entries in the corresponding +DHCP replies or the order of entries in the corresponding router +configuration). + +'config_triggers' + +A boolean value that controls whether to enforce sending a report each time the +state that is controlled through the 'config' attribute of the tag +changes. I.e., whenever the IP configuration of any domain has changed. + +'link_state' + +A boolean value that controls whether the attribute 'link_state' of the + tag is generated. The 'link_state' attribute shows the current real +link state of the session/interface. Note, that in case of a NIC session, this +is not necessarily the same value as the one that the session client sees. For +more information about that, refer to [Behavior regarding the NIC-session link +state]. + +'link_state_triggers' + +A boolean value that controls whether to enforce sending a report each time the +state that is controlled through the 'link_state' attribute of the tag +changes. I.e., whenever the real link state of any session/interface at the +router has changed. + +'interval_sec' + +Defines the interval in seconds in which to unconditionally send a report. +Must not be 0. Verbosity