-
Notifications
You must be signed in to change notification settings - Fork 2
Home
The emane-control-port-tutorial is a deep-dive into understanding how to interface with the EMANE Control Port. If you wish to run the examples in this tutorial, you can install the EMANE Tutorial along with all of its dependencies and run demonstration 3.
The EMANE Control Port provides client applications with access to query and update emulator state information. Clients connect to the Control Port using a TCP connection and send and receive messages using a Google Protocol Buffers message specification.
This tutorial introduces the various Control Port features using Python. In addition to containing low-level message processing examples, higher-level examples using EMANE Shell (emanesh) modules are shown. Although this tutorial uses Python, Control Port client applications can be written in any language with Protocol Buffers support.
The Control Port supports the following features:
- Emulator Manifest Query - Querying the emulator for a list of all instantiated NEMs along with their component build ids and plugin types.
- Configuration Query/Update - Querying the emulator for one or more configuration items associated with a specified component. Updating one or more configuration items associated with a specified component. Only configuration items that have the running-state modifiable property enabled may be updated.
- Statistic Query/Clear - Querying the emulator for one or more statistic values associated with a component. Clearing one or more statistic values associated with a component. Only statistics that have the clearable property enabled may be cleared.
- Statistic Table Query/Clear - Querying the emulator for one or more statistic tables associated with a component. Clearing one or more statistic tables associated with a component. Only statistic tables that have the clearable property enabled may be cleared.
- Log Level Modification - Changing the log level of the running emulator instance.
All Control Port requests are transactional. Either an entire request is processed without error or the state of the emulator remains unchanged.
It is recommended that the first time you proceed though this tutorial you follow the topic order listed in the sidebar. Each topic can be referenced individually and contains links to relevant information found on other pages.
You are encouraged to clone the emane-control-port-tutorial git repo in order to experiment with the example scripts.
More information on EMANE can be found on the project wiki.
More information on the EMANE Tutorial can be found on the tutorial wiki.
Copyright (c) 2014-2015 - Adjacent Link LLC, Bridgewater, New Jersey
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 4.0 International License
See COPYING for source code license information.
- Home
- Transmission Protocol
- Emulator Component Discovery
- Configuration
- Statistics
- Statistic Tables
- Changing Log Levels
- Working with Plugin Manifest XML
- Working with Any Types
- Handling Errors
- Scripting Commands