Simics provides many ways to connect the simulated network to the real network. They are listed in the network chapter of Simics User Guide. For some of them a small helper program, openif, needs to be installed. openif must run with super-user privileges. There are several ways of accomplishing this:
# cd [simics] # chown root host/bin/openif # chmod u+s host/bin/openif
If the file system where Simics is installed does not allow setuid binaries, then it can be moved to some other location and either a symbolic link to the new location be made, or the Simics command network-helper be used to point out the new location.
To verify that openif has been installed properly, try executing it directly from the shell as an ordinary user. If it complains about root privileges, it does not have the correct permission flags set and you may need to move it, perhaps to a directory on a local (not networked) file system.
Since the openif program allows an unprivileged program to read and send raw packets from the network interface, you may want to restrict access to it. In this case, it can be put in a directory to which access is restricted using the standard Unix mechanisms. Its location then has to be indicated as above.
#!/bin/sh exec sudo /path/to/openif $*
Then use either a symbolic link or the network-helper command to tell Simics where to find the script. Note that sudo must be configured to allow the user to run openif as root, without giving a password.
The source code of openif is available as part of the Simics distribution, open to inspection and modification as needed.
Note that allowing unprivileged users to access the raw network device may cause security problems. Therefore it is not recommended to use the real-network connection in an untrusted network environment. A safer solution is to use the port forwarding feature in Simics instead.