This module supports multiple different routing tables simultaneously. The actual routes are stored in the submodule routing tables and they are accessed directly by modules.
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Default value | Description |
---|---|---|---|
interfaceTableModule | string | ||
enableIPv4 | bool | haveClass("inet::IPv4RoutingTable") | |
enableIPv6 | bool | haveClass("inet::IPv6RoutingTable") | |
enableGeneric | bool | haveClass("inet::GenericRoutingTable") | |
forwarding | bool | ||
multicastForwarding | bool |
Name | Value | Description |
---|---|---|
display | i=block/table |
// // This module supports multiple different routing tables simultaneously. // The actual routes are stored in the submodule routing tables and they // are accessed directly by modules. // module MultiRoutingTable like IRoutingTable { parameters: string interfaceTableModule; *.interfaceTableModule = default(absPath(interfaceTableModule)); @display("i=block/table"); bool enableIPv4 = default(haveClass("inet::IPv4RoutingTable")); bool enableIPv6 = default(haveClass("inet::IPv6RoutingTable")); bool enableGeneric = default(haveClass("inet::GenericRoutingTable")); bool forwarding; bool multicastForwarding; submodules: ipv4: <"IPv4RoutingTable"> like IRoutingTable if enableIPv4 { @display("p=50,50;is=s"); forwarding = forwarding; multicastForwarding = multicastForwarding; } ipv6: <"IPv6RoutingTable"> like IRoutingTable if enableIPv6 { @display("p=50,100;is=s"); forwarding = forwarding; multicastForwarding = multicastForwarding; } generic: <"GenericRoutingTable"> like IRoutingTable if enableGeneric { @display("p=50,150;is=s"); forwarding = forwarding; multicastForwarding = multicastForwarding; } }