A new Traffic Tool has been added to the Tools menu. You can use this tool to create traffic flows between source and destination nodes.
When you click to create or edit a flow, the dialog shown below appears. Clicking on the source node button allows you to choose a node that will send traffic and destination node a node that will listen and log received traffic. IP addresses are automatically entered based on selected nodes, or you can choose addresses from a list. A few preset traffic patterns are defined to help get you started using MGEN.
When the scenario is started, MGEN scripts are generated on each of the nodes. Each flow has a start (and optional stop) time. You can choose to autostart all flows after the emulation is running or manually start and stop them.
To use this feature, you should get MGEN from here. The nightly snapshot for MGEN and protolib are recommended.
Wednesday, November 24, 2010
Wednesday, November 17, 2010
distributed emulation with Linux netns
Starting with SVN r133 you can use distributed emulation on Linux for wired networks. For wireless networks (WLANs) you should still use EMANE. GRE tunnels are automatically built between emulation servers.
The Emulation Servers dialog is shown below. This hasn't changed. Be sure to set listenaddr = 0.0.0.0 in your /etc/core/core.conf before starting cored.py (the default listen address is localhost.)
One of the easiest ways to assign nodes to servers is to select a group of nodes and right-click on them, then choose Assign to...
Nodes belonging to different servers need a tunnel between servers to forward data. This is indicated in the GUI with a dashed link line.
The above screenshot shows a gt.42243.61 device added to one of the Linux bridges. This is the GRE tunneling device automatically generated on one of the servers. The gretap device type is used, a gre having a MAC address, so that it may join an Ethernet bridge.
The Emulation Servers dialog is shown below. This hasn't changed. Be sure to set listenaddr = 0.0.0.0 in your /etc/core/core.conf before starting cored.py (the default listen address is localhost.)
One of the easiest ways to assign nodes to servers is to select a group of nodes and right-click on them, then choose Assign to...
Nodes belonging to different servers need a tunnel between servers to forward data. This is indicated in the GUI with a dashed link line.
The above screenshot shows a gt.42243.61 device added to one of the Linux bridges. This is the GRE tunneling device automatically generated on one of the servers. The gretap device type is used, a gre having a MAC address, so that it may join an Ethernet bridge.
Thursday, November 11, 2010
node types and services
Previously the CORE GUI generated router configs for the router node type. This was mostly limited to Quagga OSPFv2 and OSPFv3, without an easy way to customize processes. Now the configuration has been pushed to the CORE services layer (cored.py) and is more exposed to the user.
Node types:
Users may now customize node types. The default types are router, host, PC, and mdr. Clicking the edit button at the end of the submenu allows the user to define new node types or change existing ones.
In the above screenshot, a new node type "supernode" has been defined, and assigned a custom icon. This new node type will appear in the toolbar. Next, a default set of services that will be started with that node type can be selected.
Services: Services can be assigned to a node or node type. When you place a node, it will automatically have the default services configured for that node type. A service can be a routing protocol, server daemon, or even simply a script that runs after the node is started. A service can also auto-generate its config file(s) based on node properties such as name, interfaces, and addresses.
The above screenshot shows the default services that will be started for the custom type "supernode." The below screenshot shows how services can later be customized for each individual node.
Notice the Customize button, available when selecting services for a certain node. This button has been pressed to invoke the custom services dialog. (This dialog may be improved in the future.) Each service defines its own:
Because all of the services are defined in CORE Python daemon, Python scripts (without GUI) will be able to take advantage of auto-generated configs. The bad news is that router configs are no longer saved in the imn scenario files, unless you customize the config files of a service; effectively the imn file format has changed.
Node types:
Users may now customize node types. The default types are router, host, PC, and mdr. Clicking the edit button at the end of the submenu allows the user to define new node types or change existing ones.
In the above screenshot, a new node type "supernode" has been defined, and assigned a custom icon. This new node type will appear in the toolbar. Next, a default set of services that will be started with that node type can be selected.
Services: Services can be assigned to a node or node type. When you place a node, it will automatically have the default services configured for that node type. A service can be a routing protocol, server daemon, or even simply a script that runs after the node is started. A service can also auto-generate its config file(s) based on node properties such as name, interfaces, and addresses.
The above screenshot shows the default services that will be started for the custom type "supernode." The below screenshot shows how services can later be customized for each individual node.
Notice the Customize button, available when selecting services for a certain node. This button has been pressed to invoke the custom services dialog. (This dialog may be improved in the future.) Each service defines its own:
- per-node directories
- config files
- startup index
- startup/shutdown commands
Because all of the services are defined in CORE Python daemon, Python scripts (without GUI) will be able to take advantage of auto-generated configs. The bad news is that router configs are no longer saved in the imn scenario files, unless you customize the config files of a service; effectively the imn file format has changed.
Subscribe to:
Posts (Atom)