|
|
|
A common problem is to ask for more links then there are physical
|
|
|
|
interfaces (ethernet cards) for on your node(s). If that happens, you will
|
|
|
|
see a message like:
|
|
|
|
```
|
|
|
|
*** No possible mapping for node0053
|
|
|
|
Too many links of type ethernet!
|
|
|
|
```
|
|
|
|
|
|
|
|
The typical testbed machine has 1-4 available network cards, which is limit
|
|
|
|
of links that can be incident on those nodes. One way to get around this
|
|
|
|
limitation is to use a single large *lan* instead of point to point links.
|
|
|
|
|
|
|
|
Another approach is to use *multiplexed links*, which allows you to
|
|
|
|
multiplex several virtual network links onto a single physical ethernet
|
|
|
|
link using VLAN tagged devices. You are of course still limited to the
|
|
|
|
bandwidth of the underlying physical device, but if your experiment does not
|
|
|
|
saturate all your links, this works very well.
|
|
|
|
|
|
|
|
To turn on link multiplexing, add this to your links:
|
|
|
|
```
|
|
|
|
link1.link_multiplexing = True
|
|
|
|
link2.link_multiplexing = True
|
|
|
|
```
|
|
|
|
You will also need to do one of the following on each of your links:
|
|
|
|
```
|
|
|
|
link1.best_effort = True
|
|
|
|
link1.best_effort = True
|
|
|
|
```
|
|
|
|
Or if you want too allocate specific bandwidths to each link (and make sure
|
|
|
|
that those bandwidths are enforced:
|
|
|
|
```
|
|
|
|
link1.bandwidth = 10000
|
|
|
|
link2.bandwidth = 10000
|
|
|
|
```
|
|
|
|
|
|
|
|
Note that the bandwidth is specified in *Kbs*. Aldo, note that all of the
|
|
|
|
bandwidths have to sum to less then the bandwidth on the physical interface.
|
|
|
|
For example, if a node has a single 10G *physical* interface, you can
|
|
|
|
multiplex ten 1G links on top of it. |