...
The Topology View provides a visual (cluster-wide) overview of the network topology controlled by ONOS. When the topology view is instantiated it establishes a websocket connection with the server (ONOS instance to which it is connected) and exchanges "event" messages to determine the topology state. The view is thus event-driven, with events such as addDevice, addLink, requests topology information from the server; on receipt of that information, the view renders a visualization of devices, hosts, and the links between them. The view uses the web-socket connection established by the UI framework to allow the server to drive updates to the view via topology events (such as addHost, updateDevice, etc.)
Quick Help
One of the first things to note is that by pressing the slash '/' or backslash '\' key, you can bring up the Quick Help panel. This gives an outline of the keystroke commands and mouse gestures available to you in the Topology View. Pressing either of these keys again (or pressing the EscapeEsc key) will dismiss the panel.
- The top section lists global key-bindings (available on every view in the UI)
- The middle section lists view-specific key-bindings
- The first and second columns show general commands for the Topology view
- The third column shows commands for the currently active "Topology Overlay" (if any)
- The bottom section lists view-specific mouse gestures and other notes
The available commands listed in this panel are described in more detail in the sections below.
...
Toolbar – Topology Functions
The Topology View's key-bindings (displayed in the listed in Quick Help) are also associated with the buttons on the topology toolbar (shown below).
toolbar.
The toolbar can be shown or hidden by pressing the dot (.) key.
Note: Toolbar button states (Note: Your toolbar might have different buttons toggled on or off, depending on your saved preferences.
Operation
By default, the toolbar is hidden.
To hide the toolbar, click on the arrow pointing to the left or press the dot (.) key.
If the toolbar is hidden, it looks like this:
To show the toolbar, click on the arrow pointing to the right or press the dot (.) key.
Button Meanings
) are persisted in user preferences, so may appear differently to those shown.
The toolbar has three rows of buttons:
- The first row and half the second row provide basic functions.
- The second half of the second row provides a radio-button-set of installed "overlays".
- The third row contains buttons contributed by the currently-active "overlay".
Overlays bundled with out-of-the-box ONOS are listed here. Follow the links for more information:
- Traffic Overlay
- Maps Overlay (coming soon)
- ...
Hovering the mouse over a button will display a tooltip describing the button, including the bound key-stroke:
Toolbar First Row
Icon | Key | DescriptionFunction | Default State | IconComments | Key | Description | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
I | Toggle ONOS instances Show / hide ONOS cluster instance panel | H | Toggle host visibility | show | The instance panel is shown by default. | |||||||
O | Toggle Show / hide ONOS summary panel | M | Toggle offline visibility | show | The summary panel is shown by default. | |||||||
D | Disable / enable details panel | enable | The details panel is enabled by default, and is displayed when one or more topology elements are selected. Disabling this panel keeps it hidden even when something is selected. | |||||||||
H | Toggle host visibility | hide | Shows or hides the hosts (and their links). Hosts are hidden by default. | |||||||||
M | Toggle offline visibility | show | Devices that are offline (but that ONOS still knows about) are shown by default. This toggle will hide offline devices (and any hosts/links connected to them). | |||||||||
P | Toggle port highlighting | on | Port highlighting is when hovering the mouse over a link will highlight the link and label the ends with the appropriate port numbers. This feature can be switched off with this toggle. | |||||||||
B | Toggle background geo map | hide | The background map (hidden by default) can be shown or hidden with this toggle. | |||||||||
G | Select background geo map | n/a | Opens a dialog box which allows selection of a geographic region from a pre-defined set. | |||||||||
S | Toggle sprite layer | hide | The sprite layer (static shapes/text injected into the view) can be shown or hidden with this toggle. |
Toolbar Second Row
Icon | Key | Description | Default State | Comments |
---|---|---|---|---|
Z | Toggle Oblique View oblique view (Experimentalexperimental) | regular view | Creates a split-level visualization of the packet and optical layers of the network. Note that this feature is experimental and may be slightly buggy. | |
N | Cycle node layers | show all layers | Cycles between three view modes: show all layers, show packet layer, show optical layer. | |
L | Cycle device labels | hide labels | Cycles between three modes of showing labels on devices: hide labels, show friendly labels, show device ID. | |
R | Reset pan / zoom |
Third Row
- | This function restores the pan and zoom levels to default settings. | ||||||||||
Icon | Key | Description | Icon | Key | Description | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
V | Show all related intents|||||||||||
E | Equalize mastership roles | - | Sends a command to ONOS to invoke a mastership equalization request. | ||||||||
Right Arrow | Show next related intent | Left Arrow | Show previous related intent|||||||||
W | Monitor traffic of selected intent | No overlay | De-activates the current overlay. | ||||||||
Traffic overlay | AMonitor all | Provides traffic | monitoring functions. | ||||||||
... | ... | ||||||||||
F | Show device link flows |
Buttons vs. Toggles
Buttons | Toggles |
---|---|
Have one action | Have exactly two actions |
Don't have state | Have state - toggled on or toggled off |
Can cycle through multiple options | |
Always look "active" | Look "active" when on, are grayed out when off |
Example: | Example: ( on ) ( off ) |
Instance Panel
<Topology Overlays installed by ONOS Apps will appear here> |
Toolbar Third Row
The third row of the toolbar is space reserved for the currently active topology overlay.
Cluster Instance Panel
The cluster The instance panel shows summary information about the ONOS instances in the cluster. There will be one box per instance, showing the instance ID, IP address, and number of switches for which the instance is master.
The panel can be hidden (and subsequently re-shown) by pressing the 'I' (for "Instances") key.
The color coding shows indicates controller mastership; each device in the topology will be colored to match the controller that currently corresponding to which instance has mastership over that deviceit. For example:
As For a clearer indication of mastership, clicking on an instance box in the instance panel will highlight the mastership affinity with devices in the topology. For example:appropriate devices, subduing all else:
Click again on the same instance box (or press the Escape key Esc) to cancel the affinity indicationhighlighting.
Summary Panel
The summary panel shows a brief summary of displays key properties of the network.
The panel can be hidden (and subsequently re-shown) by pressing the 'O' (for "ONOS summary") key.
Nodes and Links
The network topology is represented by an undirected graph of nodes and links. The nodes represent devices (switches) and hosts; the links represent, uh, links.
The D3 Force Layout algorithm is used to provide a reasonable initial layout of the nodes and links in the absence of any other spatial information. As an example, the following image shows a (free-floating) network of 25 nodes:
The onos-topo-cfg command (script) can be used to upload topology meta-data to the server. This may include longitude/latitude information for each of the nodes. The following commands upload topology information for the 25 device use case shown in the image:
cd ~/onos-next$ONOS_ROOT/tools/test/toposonos-topo-cfg localhost$OCI attmpls.json
On receipt of the data, the server sends node updates to the GUIUI. On the GUI client-side, the longitude/latitude data is used to calibrate node positions with the background map:
Note that, by default, hosts are hidden. Pressing the 'H' key will toggle the host visibility:
Additionally, pressing the 'L' key will cycle through the devices labels ("friendly", "ID", "no-label"):
Mouse Gestures
A node (device / host) may be manually repositioned repositioned manually (and pinned into place) by clicking and dragging it to a new location.
NOTE: To unpin a pinned node, hover the mouse over the node and press the 'U' (UnpinUnpin) key.
Clicking on a node or link will select it (and deselect any other selections). Details of the selected node or link will appear in the details panel. Note that action buttons relating to the selection are may be provided at the bottom of the panel.
Multiple selections (nodes only, not links) may be achieved by holding down the Shift key while clicking on a node - this toggles the selection state of that node.
Pressing the Escape key Clicking elsewhere on the map or pressing the Esc key will clear the current selection.
Panning and zooming the topology is view may be achieved with Cmd-drag (or Alt-drag) and Cmd-scroll (or Alt-scroll) gestures respectively. Pressing the 'R' key will reset the pan/zoom settings to the default values.
Details Panel - Single Selections
The details panel appears (unless disabled with the 'D' command) when something of interest is "selected".
Device Selected
When a single device is selected, properties of that device are displayed, along with action buttons:
...
The four action buttons (with white backgrounds) are navigation buttons detailed below. The two action buttons on the right are added to the panel if the Traffic Overlay is currently active. See the Traffic Overlay page for details.
Navigation Actions | |
---|---|
Navigate to the Device View for the selected device | |
Navigate to the Flow View for the selected device | |
Navigate to the Port View for the selected Device | |
Navigate to the Group View for the selected Device |
Host Selected
When a single host is selected, properties of that host are displayed.
If an overlay is currently active, action buttons may also be displayed, depending on the overlay.
Link Selected
When a link
...
When multiple devices are selected, the details panel switches format to show the IDs of the selections and provides a single action button:
Show Related Traffic
When a single host is selected, properties of that host link are displayed, along with an action button:
Show Related Traffic
When exactly two hosts are selected, their IDs are shown, along with the following action buttons:
Show Related Traffic
Create Host-to-Host Flow
...
Note that it is not possible to select multiple links.
Details Panel - Multiple Selections
Port Highlighting
By default, port highlighting is enabled, which means that as the mouse hovers over a link, the link highlights and the port numbers at both ends of the link are shown:
The port highlighting feature can be toggled on / off by pressing the 'P' (for 'Port highlighting') key.
Warning |
---|
The following section will be migrated to a new page real soon now!!!! |
Traffic Overlay functions
Icon | Key | Description |
---|---|---|
V | Show all related intents | |
Right Arrow | Show next related intent | |
Left Arrow | Show previous related intent | |
W | Monitor traffic of selected intent | |
A | Monitor all traffic | |
F | Show device link flows |
Visualizing Traffic
A number of commands allow different visualizations of traffic on the network.
(NOTE: the section on visualizing traffic will be moved to a new page soon, once the functionality has been migrated to a "Traffic Overlay").
All Traffic
If there is traffic flowing on the network (for example, if reactive forwarding is active, and a pingall is run on mininet), then pressing the 'A' key will display something like the following:
...
The background map provides a geographic reference for the topology. The default map is the Continental US. The map layer's visibility can be toggled on and off with the 'B' (for background) key.
See Providing Alternate Maps for the Topology View for additional details.
The scale of background map can be changed on demand. To do that, simply append ?mapscale=<real-number> at the end of the URL. For example,
Panel |
---|
http://localhost:8181/onos/ui/index.html#/topo?mapscale=1.5 |
Custom Sprites
The Topology Sprite Layer mechanism allows custom "background" elements to be displayed (above the background map, but below the topology elements). This could be used, for example, to inject labeled "subnet clouds", or the plan of an office building or campus into the topology view. Typically, one would want to hide the background map layer (press 'B') and show the sprite layer (press 'S') instead.
...