Package: inet.networklayer.configurator.contract
INetworkConfigurator
module interfaceInterface for all network-wide configurator modules.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Implemented by
| Name | Type | Description |
|---|---|---|
| AlwaysOpenGateScheduleConfigurator | simple module |
Provides a trivial gate scheduling algorithm that keeps all gates in the network open all the time. |
| EagerGateScheduleConfigurator | simple module |
Provides a gate scheduling algorithm that eagerly reserves time slots for the configured streams in the order of their priority (0 being the lowest). The allocation makes sure that only one gate (traffic category) is open in all network interfaces at any given moment of time. This strategy may result in wasting too much time of the gate cycle and thus end up failing. |
| FailureProtectionConfigurator | simple module |
Provides Time-Sensitive Networking (TSN) configuration using other configurators. One is used to provide the stream redundancy (stream splitting and stream merging) configuration, the other one is used to provide the gate scheduling configuration. |
| Ipv4FlatNetworkConfigurator | simple module |
Configures IPv4 addresses and routing tables for a "flat" network, "flat" meaning that all hosts and routers will have the same network address and will only differ in the host part. |
| Ipv4NetworkConfigurator | simple module |
Assigns IPv4 addresses and sets up static routing for an IPv4 network. It assigns per-interface IP addresses, strives to take subnets into account, and can also optimize the generated routing tables by merging routing entries. |
| Ipv6FlatNetworkConfigurator | simple module |
Configures IPv6 addresses and routing tables for a "flat" network, "flat" meaning that all hosts and routers will have the same network address and will only differ in the host part. |
| L3NetworkConfiguratorBase | simple module |
Serves as a base module for layer 3 network configurators. |
| MacForwardingTableConfigurator | simple module |
Configures the forwarding database (MAC address table) of all network nodes in the network based on the automatically discovered network topology. The configurator uses the shortest path algorithm to determine the outgoing network interface for all network nodes and all destination network interfaces. The effect of this configuration is that the network can use the the ~GlobalArp module and completely eliminate the ARP protocol messages. |
| NextHopNetworkConfigurator | simple module |
Adds routes to a ~NextHopRoutingTable similarly to how ~Ipv4NetworkConfigurator adds static routes to the ~Ipv4RoutingTable. |
| StreamRedundancyConfigurator | simple module |
Provides Time-Sensitive Networking (TSN) static stream redundancy configuration. The module automatically configures all the necessary modules related to stream splitting, stream merging and stream filtering in all network nodes. The configuration parameter specifies the streams with a set of path fragments. |
| TSNschedGateScheduleConfigurator | simple module |
Provides a gate scheduling configurator that uses the TSNsched tool which is available at https://github.com/ACassimiro/TSNsched. Tested revision: 3f3bf663d196ec6c03e81a1e1392d4aefd158e3e |
| Z3GateScheduleConfigurator | simple module |
Provides a gate scheduling algorithm that uses the open source z3 SAT solver from Microsoft. In order to be able to use this module, the corresponding 'Z3 Gate Scheduling Configurator' feature must be enabled and the libz3-dev package must be installed. |
Used in
| Name | Type | Description |
|---|---|---|
| TimeAwareShapingShowcaseNetwork | network | (no description) |
| TsnNetworkBase | network |
Serves as a network base module for Time-Sensitive Networking (TSN). |
| WiredNetworkBase | network | (no description) |
Known subclasses
| Name | Type | Description |
|---|---|---|
| IGateScheduleConfigurator | module interface |
Interface for gate scheduling configurator modules. A gate scheduling configurator is responsible for configuring all ~PeriodicGate modules of all traffic categories in all network interfaces in the network. |
| IL3NetworkConfigurator | module interface |
Interface for all layer 3 network configurators. |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/cogwheel |
Source code
// // Interface for all network-wide configurator modules. // moduleinterface INetworkConfigurator { parameters: @display("i=block/cogwheel"); }File: src/inet/networklayer/configurator/contract/INetworkConfigurator.ned