It is often useful to let the simulated machines use services (e.g. DHCP service) available on the simulated network. Normally these services run on servers connected to the network. To avoid having to set up simulated servers just to provide them, Simics implements a service node instead.
The service_node_comp component class, available after importing the std-comp module, provides a virtual network node that acts as a server for a number of TCP/IP-based protocols, and as an IP router between simulated networks. It handles both IPv4 and IPv6 protocol versions. The supported services are:
There can be any number of service_node_comp components, and each one can be connected to any number of Ethernet links. In most configurations, however, there will be a single service node. A service node can be created using the create/new-service-node-comp commands:
simics> load-module std-comp simics> new-service-node-comp sn0 Created instantiated 'service_node_comp' component 'sn0'.
This service node can then be connected to an Ethernet link component. Note that the service-node IP address on the link must be specified:
simics> sn0.connect-to-link ethernet_hub0 10.10.0.1 Adding host info for IP 10.10.0.1: simics0.network.simMAC: 20:20:20:20:20:00 simics>
The rest of the configuration can be done when the service node has been instantiated, using the available commands, such as:
simics> sn0.list-host-info IP name.domain MAC ------------------------------------------------- 10.10.0.1 simics0.network.sim 20:20:20:20:20:00 simics>