-
Notifications
You must be signed in to change notification settings - Fork 39
Configuration File
This page includes information for MaxiNet version >= 1.0
The MaxiNet configuration file is located at ~/.MaxiNet.cfg or /etc/Maxinet.cfg and comprises multiple sections. This page explains each and every parameter you can set.
MaxiNet gives precedence to /etc/Maxinet.cfg over ~/.MaxiNet.cfg.
In the [all] section, global settings of MaxiNet can be adjusted.
The password that is used by the worker nodes to authenticate themselves to the FrontendServer.
In the format ip:port is the default OpenFlow controller that is used to control the emulated switches. This parameter can be overwritten by explicitly assigning a controller in an experiment.
The amount of information that is logged by MaxiNet.
The Pyro port. Pyro is used by MaxiNet for RPC. This port must be free on the FrontendServer.
MaxiNet runs own sshd servers on all Workers. These servers are shutdown after an experiment ends. port_sshd defines the port on which the server listens.
When set to False, MaxiNet will set the MTU for the GRE tunnel interfaces to 1600. This allows for tunneling full packets from the emulation. However, this only works if the physical network interconnecting the workers supports Ethernet packets of that size. Otherwise, runWith1500MTU must be set to True. In this case Maxinet will reduce the MTU of all emulated hosts to 1450.
Modern NICs have multiple queues each with their own IRQs. The queue a packet is enqueued to is determined by a hash of the IP headers of each packet. This is called RSS (Receive Side Scaling). Unfortunately, most RSS implementations ignore the GRE headers. On GRE, most RSS hashing algorithms only use src-dest IP addresses to assign packets to queues which makes is necessary to provide multiple IP combinations per worker pair. Otherwise, all packets between a pair of workers would be assigned to the same queue.
If useMultipleIPs is set to n, you need to assign n IP addresses to each of the workers. These IP addresses must be from a continuous block. If, for example, n = 3 and you have 2 workers, than you could assign them IPs 172.16.0.1 172.16.0.2 172.16.0.3 and 172.16.0.11 172.16.0.12 172.16.0.13
In the remainder of the config file, however, you only need to refer to the first IP address of each block (172.16.0.1 resp. 172.16.0.11)
TCP-segmentation-offloading (TSO) is used by some Ethernet-cards to join multiple segments into larger packets. This works only if the new packets are not larger than the MTU of the (emulated) network. To prevent from packet-loss due to too large TCP packets, set deactivateTSO = True. In that case, TSO is disabled on ALL emulated network interfaces.
The user MaxiNet should use for the ssh connections. If your system has an explicit root account (as for example in Debian) you can set sshuser to root. Otherwise (as in Ubuntu), you need to specify a user account that is available at all Workers.
If the sshuser is not root, you need to set usesudo to True. In that case you have to configure all Workers such that the sshuser can use sudo without the need to provide any password!
This section specifies the location of the Frontend server. Note that the Frontend server can also be used as a worker!
ip specifies the IP address of the machine running the MaxiNetFrontEndserver executable.
The remaining sections specify properties of the Worker servers. Each section has two parameters
The IP address of the worker. In case useMultipleIPs > 0, this is ONLY the first IP address of the corresponding block.
this parameter states the relative compute power of the node. If all workers get assigned a share of 1, the virtual network to be emulated will be distributed evenly over all workers. If, however, one of your workers has much more compute power than the rest you might want to assign it a larger portion of the virtual network. In this case you can, for example, set its share to 2 meaning that this machine will get assigned twice as much virtual switches and nodes than a worker with share 1.