From a7588a2188d07cb74eafc229dbb611fea5bb3496 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Fri, 18 Feb 2022 15:25:41 -0800 Subject: [PATCH 01/17] install: updated ospf check to use sudo to account for sbin potentially not being on path --- tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks.py b/tasks.py index 1ebb860f..58f8282b 100644 --- a/tasks.py +++ b/tasks.py @@ -210,7 +210,7 @@ def install_poetry(c: Context, dev: bool, local: bool, hide: bool) -> None: def install_ospf_mdr(c: Context, os_info: OsInfo, hide: bool) -> None: - if c.run("which zebra", warn=True, hide=hide): + if c.run("sudo which zebra", warn=True, hide=hide): print("\nquagga already installed, skipping ospf mdr") return if os_info.like == OsLike.DEBIAN: From 482ad037f49ab161665583626a3d6d3f284f905d Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Fri, 25 Feb 2022 10:38:14 -0800 Subject: [PATCH 02/17] docs: updates to cleanup formatting on tables and denote that the python gui is the default in index.md --- docs/configservices.md | 32 ++--- docs/devguide.md | 14 +-- docs/emane.md | 14 +-- docs/gui.md | 262 ++++++++++++++++++++--------------------- docs/index.md | 32 ++--- docs/install.md | 38 +++--- docs/performance.md | 14 +-- docs/pygui.md | 180 ++++++++++++++-------------- docs/services.md | 34 +++--- 9 files changed, 310 insertions(+), 310 deletions(-) diff --git a/docs/configservices.md b/docs/configservices.md index 4ff8a87c..f0fa7bdd 100644 --- a/docs/configservices.md +++ b/docs/configservices.md @@ -27,27 +27,27 @@ will allow quickly dragging and dropping that node type during creation. ## Available Services -| Service Group | Services | -|---|---| -|[BIRD](services/bird.md)|BGP, OSPF, RADV, RIP, Static| -|[EMANE](services/emane.md)|Transport Service| -|[FRR](services/frr.md)|BABEL, BGP, OSPFv2, OSPFv3, PIMD, RIP, RIPNG, Zebra| -|[NRL](services/nrl.md)|arouted, MGEN Sink, MGEN Actor, NHDP, OLSR, OLSRORG, OLSRv2, SMF| -|[Quagga](services/quagga.md)|BABEL, BGP, OSPFv2, OSPFv3, OSPFv3 MDR, RIP, RIPNG, XPIMD, Zebra| -|[SDN](services/sdn.md)|OVS, RYU| -|[Security](services/security.md)|Firewall, IPsec, NAT, VPN Client, VPN Server| -|[Utility](services/utility.md)|ATD, Routing Utils, DHCP, FTP, IP Forward, PCAP, RADVD, SSF, UCARP| -|[XORP](services/xorp.md)|BGP, OLSR, OSPFv2, OSPFv3, PIMSM4, PIMSM6, RIP, RIPNG, Router Manager| +| Service Group | Services | +|----------------------------------|-----------------------------------------------------------------------| +| [BIRD](services/bird.md) | BGP, OSPF, RADV, RIP, Static | +| [EMANE](services/emane.md) | Transport Service | +| [FRR](services/frr.md) | BABEL, BGP, OSPFv2, OSPFv3, PIMD, RIP, RIPNG, Zebra | +| [NRL](services/nrl.md) | arouted, MGEN Sink, MGEN Actor, NHDP, OLSR, OLSRORG, OLSRv2, SMF | +| [Quagga](services/quagga.md) | BABEL, BGP, OSPFv2, OSPFv3, OSPFv3 MDR, RIP, RIPNG, XPIMD, Zebra | +| [SDN](services/sdn.md) | OVS, RYU | +| [Security](services/security.md) | Firewall, IPsec, NAT, VPN Client, VPN Server | +| [Utility](services/utility.md) | ATD, Routing Utils, DHCP, FTP, IP Forward, PCAP, RADVD, SSF, UCARP | +| [XORP](services/xorp.md) | BGP, OLSR, OSPFv2, OSPFv3, PIMSM4, PIMSM6, RIP, RIPNG, Router Manager | ## Node Types and Default Services Here are the default node types and their services: -| Node Type | Services | -|---|---| -| *router* | zebra, OSFPv2, OSPFv3, and IPForward services for IGP link-state routing. | -| *PC* | DefaultRoute service for having a default route when connected directly to a router. | -| *mdr* | zebra, OSPFv3MDR, and IPForward services for wireless-optimized MANET Designated Router routing. | +| Node Type | Services | +|-----------|--------------------------------------------------------------------------------------------------------------------------------------------| +| *router* | zebra, OSFPv2, OSPFv3, and IPForward services for IGP link-state routing. | +| *PC* | DefaultRoute service for having a default route when connected directly to a router. | +| *mdr* | zebra, OSPFv3MDR, and IPForward services for wireless-optimized MANET Designated Router routing. | | *prouter* | a physical router, having the same default services as the *router* node type; for incorporating Linux testbed machines into an emulation. | Configuration files can be automatically generated by each service. For diff --git a/docs/devguide.md b/docs/devguide.md index e3b0ad18..f8524da4 100644 --- a/docs/devguide.md +++ b/docs/devguide.md @@ -9,13 +9,13 @@ The CORE source consists of several different programming languages for historical reasons. Current development focuses on the Python modules and daemon. Here is a brief description of the source directories. -| Directory | Description | -|---|---| -|daemon|Python CORE daemon code that handles receiving API calls and creating containers| -|docs|Markdown Documentation currently hosted on GitHub| -|gui|Tcl/Tk GUI| -|man|Template files for creating man pages for various CORE command line utilities| -|netns|C program for creating CORE containers| +| Directory | Description | +|-----------|--------------------------------------------------------------------------------------| +| daemon | Python CORE daemon/gui code that handles receiving API calls and creating containers | +| docs | Markdown Documentation currently hosted on GitHub | +| gui | Tcl/Tk GUI | +| man | Template files for creating man pages for various CORE command line utilities | +| netns | C program for creating CORE containers | ## Getting started diff --git a/docs/emane.md b/docs/emane.md index 9e2e5b0b..662826c1 100644 --- a/docs/emane.md +++ b/docs/emane.md @@ -62,13 +62,13 @@ Every topic below assumes CORE, EMANE, and OSPF MDR have been installed. > **WARNING:** demo files will be found within the new `core-pygui` -|Topic|Model|Description| -|---|---|---| -|[XML Files](emane/files.md)|RF Pipe|Overview of generated XML files used to drive EMANE| -|[GPSD](emane/gpsd.md)|RF Pipe|Overview of running and integrating gpsd with EMANE| -|[Precomputed](emane/precomputed.md)|RF Pipe|Overview of using the precomputed propagation model| -|[EEL](emane/eel.md)|RF Pipe|Overview of using the Emulation Event Log (EEL) Generator| -|[Antenna Profiles](emane/antenna.md)|RF Pipe|Overview of using antenna profiles in EMANE| +| Topic | Model | Description | +|--------------------------------------|---------|-----------------------------------------------------------| +| [XML Files](emane/files.md) | RF Pipe | Overview of generated XML files used to drive EMANE | +| [GPSD](emane/gpsd.md) | RF Pipe | Overview of running and integrating gpsd with EMANE | +| [Precomputed](emane/precomputed.md) | RF Pipe | Overview of using the precomputed propagation model | +| [EEL](emane/eel.md) | RF Pipe | Overview of using the Emulation Event Log (EEL) Generator | +| [Antenna Profiles](emane/antenna.md) | RF Pipe | Overview of using antenna profiles in EMANE | ## EMANE Configuration diff --git a/docs/gui.md b/docs/gui.md index 6a333752..d59f30c5 100644 --- a/docs/gui.md +++ b/docs/gui.md @@ -93,46 +93,46 @@ the left side of the CORE window. Below are brief descriptions for each toolbar item, starting from the top. Most of the tools are grouped into related sub-menus, which appear when you click on their group icon. -| Icon | Name | Description | -|---|---|---| -| ![](static/gui/select.gif) | Selection Tool | Tool for selecting, moving, configuring nodes. | -| ![](static/gui/start.gif) | Start Button | Starts Execute mode, instantiates the emulation. | -| ![](static/gui/link.gif) | Link | Allows network links to be drawn between two nodes by clicking and dragging the mouse. | +| Icon | Name | Description | +|----------------------------|----------------|----------------------------------------------------------------------------------------| +| ![](static/gui/select.gif) | Selection Tool | Tool for selecting, moving, configuring nodes. | +| ![](static/gui/start.gif) | Start Button | Starts Execute mode, instantiates the emulation. | +| ![](static/gui/link.gif) | Link | Allows network links to be drawn between two nodes by clicking and dragging the mouse. | ### CORE Nodes These nodes will create a new node container and run associated services. -| Icon | Name | Description | -|---|---|---| -| ![](static/gui/router.gif) | Router | Runs Quagga OSPFv2 and OSPFv3 routing to forward packets. | -| ![](static/gui/host.gif) | Host | Emulated server machine having a default route, runs SSH server. | -| ![](static/gui/pc.gif) | PC | Basic emulated machine having a default route, runs no processes by default. | -| ![](static/gui/mdr.gif) | MDR | Runs Quagga OSPFv3 MDR routing for MANET-optimized routing. | -| ![](static/gui/router_green.gif) | PRouter | Physical router represents a real testbed machine. | -| ![](static/gui/document-properties.gif) | Edit | Bring up the custom node dialog. | +| Icon | Name | Description | +|-----------------------------------------|---------|------------------------------------------------------------------------------| +| ![](static/gui/router.gif) | Router | Runs Quagga OSPFv2 and OSPFv3 routing to forward packets. | +| ![](static/gui/host.gif) | Host | Emulated server machine having a default route, runs SSH server. | +| ![](static/gui/pc.gif) | PC | Basic emulated machine having a default route, runs no processes by default. | +| ![](static/gui/mdr.gif) | MDR | Runs Quagga OSPFv3 MDR routing for MANET-optimized routing. | +| ![](static/gui/router_green.gif) | PRouter | Physical router represents a real testbed machine. | +| ![](static/gui/document-properties.gif) | Edit | Bring up the custom node dialog. | ### Network Nodes These nodes are mostly used to create a Linux bridge that serves the purpose described below. -| Icon | Name | Description | -|---|---|---| -| ![](static/gui/hub.gif) | Hub | Ethernet hub forwards incoming packets to every connected node. | -| ![](static/gui/lanswitch.gif) | Switch | Ethernet switch intelligently forwards incoming packets to attached hosts using an Ethernet address hash table. | -| ![](static/gui/wlan.gif) | Wireless LAN | When routers are connected to this WLAN node, they join a wireless network and an antenna is drawn instead of a connecting line; the WLAN node typically controls connectivity between attached wireless nodes based on the distance between them. | -| ![](static/gui/rj45.gif) | RJ45 | RJ45 Physical Interface Tool, emulated nodes can be linked to real physical interfaces; using this tool, real networks and devices can be physically connected to the live-running emulation. | -| ![](static/gui/tunnel.gif) | Tunnel | Tool allows connecting together more than one CORE emulation using GRE tunnels. | +| Icon | Name | Description | +|-------------------------------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ![](static/gui/hub.gif) | Hub | Ethernet hub forwards incoming packets to every connected node. | +| ![](static/gui/lanswitch.gif) | Switch | Ethernet switch intelligently forwards incoming packets to attached hosts using an Ethernet address hash table. | +| ![](static/gui/wlan.gif) | Wireless LAN | When routers are connected to this WLAN node, they join a wireless network and an antenna is drawn instead of a connecting line; the WLAN node typically controls connectivity between attached wireless nodes based on the distance between them. | +| ![](static/gui/rj45.gif) | RJ45 | RJ45 Physical Interface Tool, emulated nodes can be linked to real physical interfaces; using this tool, real networks and devices can be physically connected to the live-running emulation. | +| ![](static/gui/tunnel.gif) | Tunnel | Tool allows connecting together more than one CORE emulation using GRE tunnels. | ### Annotation Tools -| Icon | Name | Description | -|---|---|---| -| ![](static/gui/marker.gif) | Marker | For drawing marks on the canvas. | -| ![](static/gui/oval.gif) | Oval | For drawing circles on the canvas that appear in the background. | +| Icon | Name | Description | +|-------------------------------|-----------|---------------------------------------------------------------------| +| ![](static/gui/marker.gif) | Marker | For drawing marks on the canvas. | +| ![](static/gui/oval.gif) | Oval | For drawing circles on the canvas that appear in the background. | | ![](static/gui/rectangle.gif) | Rectangle | For drawing rectangles on the canvas that appear in the background. | -| ![](static/gui/text.gif) | Text | For placing text captions on the canvas. | +| ![](static/gui/text.gif) | Text | For placing text captions on the canvas. | ### Execution Toolbar @@ -140,14 +140,14 @@ When the Start button is pressed, CORE switches to Execute mode, and the Edit toolbar on the left of the CORE window is replaced with the Execution toolbar Below are the items on this toolbar, starting from the top. -| Icon | Name | Description | -|---|---|---| -| ![](static/gui/select.gif) | Selection Tool | In Execute mode, the Selection Tool can be used for moving nodes around the canvas, and double-clicking on a node will open a shell window for that node; right-clicking on a node invokes a pop-up menu of run-time options for that node. | -| ![](static/gui/stop.gif) | Stop Button | Stops Execute mode, terminates the emulation, returns CORE to edit mode. | -| ![](static/gui/observe.gif) | Observer Widgets Tool | Clicking on this magnifying glass icon invokes a menu for easily selecting an Observer Widget. The icon has a darker gray background when an Observer Widget is active, during which time moving the mouse over a node will pop up an information display for that node. | -| ![](static/gui/marker.gif) | Marker | For drawing freehand lines on the canvas, useful during demonstrations; markings are not saved. | -| ![](static/gui/twonode.gif) | Two-node Tool | Click to choose a starting and ending node, and run a one-time *traceroute* between those nodes or a continuous *ping -R* between nodes. The output is displayed in real time in a results box, while the IP addresses are parsed and the complete network path is highlighted on the CORE display. | -| ![](static/gui/run.gif) | Run Tool | This tool allows easily running a command on all or a subset of all nodes. A list box allows selecting any of the nodes. A text entry box allows entering any command. The command should return immediately, otherwise the display will block awaiting response. The *ping* command, for example, with no parameters, is not a good idea. The result of each command is displayed in a results box. The first occurrence of the special text "NODE" will be replaced with the node name. The command will not be attempted to run on nodes that are not routers, PCs, or hosts, even if they are selected. | +| Icon | Name | Description | +|-----------------------------|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ![](static/gui/select.gif) | Selection Tool | In Execute mode, the Selection Tool can be used for moving nodes around the canvas, and double-clicking on a node will open a shell window for that node; right-clicking on a node invokes a pop-up menu of run-time options for that node. | +| ![](static/gui/stop.gif) | Stop Button | Stops Execute mode, terminates the emulation, returns CORE to edit mode. | +| ![](static/gui/observe.gif) | Observer Widgets Tool | Clicking on this magnifying glass icon invokes a menu for easily selecting an Observer Widget. The icon has a darker gray background when an Observer Widget is active, during which time moving the mouse over a node will pop up an information display for that node. | +| ![](static/gui/marker.gif) | Marker | For drawing freehand lines on the canvas, useful during demonstrations; markings are not saved. | +| ![](static/gui/twonode.gif) | Two-node Tool | Click to choose a starting and ending node, and run a one-time *traceroute* between those nodes or a continuous *ping -R* between nodes. The output is displayed in real time in a results box, while the IP addresses are parsed and the complete network path is highlighted on the CORE display. | +| ![](static/gui/run.gif) | Run Tool | This tool allows easily running a command on all or a subset of all nodes. A list box allows selecting any of the nodes. A text entry box allows entering any command. The command should return immediately, otherwise the display will block awaiting response. The *ping* command, for example, with no parameters, is not a good idea. The result of each command is displayed in a results box. The first occurrence of the special text "NODE" will be replaced with the node name. The command will not be attempted to run on nodes that are not routers, PCs, or hosts, even if they are selected. | ## Menu @@ -160,95 +160,95 @@ menu, by clicking the dashed line at the top. The File menu contains options for manipulating the **.imn** Configuration Files. Generally, these menu items should not be used in Execute mode. -| Option | Description | -|---|---| -| New | This starts a new file with an empty canvas. | -| Open | Invokes the File Open dialog box for selecting a new **.imn** or XML file to open. You can change the default path used for this dialog in the Preferences Dialog. | -| Save | Saves the current topology. If you have not yet specified a file name, the Save As dialog box is invoked. | -| Save As XML | Invokes the Save As dialog box for selecting a new **.xml** file for saving the current configuration in the XML file. | -| Save As imn | Invokes the Save As dialog box for selecting a new **.imn** topology file for saving the current configuration. Files are saved in the *IMUNES network configuration* file. | -| Export Python script | Prints Python snippets to the console, for inclusion in a CORE Python script. | -| Execute XML or Python script | Invokes a File Open dialog box for selecting an XML file to run or a Python script to run and automatically connect to. If a Python script, the script must create a new CORE Session and add this session to the daemon's list of sessions in order for this to work. | +| Option | Description | +|------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| New | This starts a new file with an empty canvas. | +| Open | Invokes the File Open dialog box for selecting a new **.imn** or XML file to open. You can change the default path used for this dialog in the Preferences Dialog. | +| Save | Saves the current topology. If you have not yet specified a file name, the Save As dialog box is invoked. | +| Save As XML | Invokes the Save As dialog box for selecting a new **.xml** file for saving the current configuration in the XML file. | +| Save As imn | Invokes the Save As dialog box for selecting a new **.imn** topology file for saving the current configuration. Files are saved in the *IMUNES network configuration* file. | +| Export Python script | Prints Python snippets to the console, for inclusion in a CORE Python script. | +| Execute XML or Python script | Invokes a File Open dialog box for selecting an XML file to run or a Python script to run and automatically connect to. If a Python script, the script must create a new CORE Session and add this session to the daemon's list of sessions in order for this to work. | | Execute Python script with options | Invokes a File Open dialog box for selecting a Python script to run and automatically connect to. After a selection is made, a Python Script Options dialog box is invoked to allow for command-line options to be added. The Python script must create a new CORE Session and add this session to the daemon's list of sessions in order for this to work. | -| Open current file in editor | This opens the current topology file in the **vim** text editor. First you need to save the file. Once the file has been edited with a text editor, you will need to reload the file to see your changes. The text editor can be changed from the Preferences Dialog. | -| Print | This uses the Tcl/Tk postscript command to print the current canvas to a printer. A dialog is invoked where you can specify a printing command, the default being **lpr**. The postscript output is piped to the print command. | -| Save screenshot | Saves the current canvas as a postscript graphic file. | -| Recently used files | Above the Quit menu command is a list of recently use files, if any have been opened. You can clear this list in the Preferences dialog box. You can specify the number of files to keep in this list from the Preferences dialog. Click on one of the file names listed to open that configuration file. | -| Quit | The Quit command should be used to exit the CORE GUI. CORE may prompt for termination if you are currently in Execute mode. Preferences and the recently-used files list are saved. | +| Open current file in editor | This opens the current topology file in the **vim** text editor. First you need to save the file. Once the file has been edited with a text editor, you will need to reload the file to see your changes. The text editor can be changed from the Preferences Dialog. | +| Print | This uses the Tcl/Tk postscript command to print the current canvas to a printer. A dialog is invoked where you can specify a printing command, the default being **lpr**. The postscript output is piped to the print command. | +| Save screenshot | Saves the current canvas as a postscript graphic file. | +| Recently used files | Above the Quit menu command is a list of recently use files, if any have been opened. You can clear this list in the Preferences dialog box. You can specify the number of files to keep in this list from the Preferences dialog. Click on one of the file names listed to open that configuration file. | +| Quit | The Quit command should be used to exit the CORE GUI. CORE may prompt for termination if you are currently in Execute mode. Preferences and the recently-used files list are saved. | ### Edit Menu -| Option | Description | -|---|---| -| Undo | Attempts to undo the last edit in edit mode. | -| Redo | Attempts to redo an edit that has been undone. | -| Cut, Copy, Paste | Used to cut, copy, and paste a selection. When nodes are pasted, their node numbers are automatically incremented, and existing links are preserved with new IP addresses assigned. Services and their customizations are copied to the new node, but care should be taken as node IP addresses have changed with possibly old addresses remaining in any custom service configurations. Annotations may also be copied and pasted. -| Select All | Selects all items on the canvas. Selected items can be moved as a group. | -| Select Adjacent | Select all nodes that are linked to the already selected node(s). For wireless nodes this simply selects the WLAN node(s) that the wireless node belongs to. You can use this by clicking on a node and pressing CTRL+N to select the adjacent nodes. | -| Find... | Invokes the *Find* dialog box. The Find dialog can be used to search for nodes by name or number. Results are listed in a table that includes the node or link location and details such as IP addresses or link parameters. Clicking on a result will focus the canvas on that node or link, switching canvases if necessary. | -| Clear marker | Clears any annotations drawn with the marker tool. Also clears any markings used to indicate a node's status. | -| Preferences... | Invokes the Preferences dialog box. | +| Option | Description | +|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Undo | Attempts to undo the last edit in edit mode. | +| Redo | Attempts to redo an edit that has been undone. | +| Cut, Copy, Paste | Used to cut, copy, and paste a selection. When nodes are pasted, their node numbers are automatically incremented, and existing links are preserved with new IP addresses assigned. Services and their customizations are copied to the new node, but care should be taken as node IP addresses have changed with possibly old addresses remaining in any custom service configurations. Annotations may also be copied and pasted. | +| Select All | Selects all items on the canvas. Selected items can be moved as a group. | +| Select Adjacent | Select all nodes that are linked to the already selected node(s). For wireless nodes this simply selects the WLAN node(s) that the wireless node belongs to. You can use this by clicking on a node and pressing CTRL+N to select the adjacent nodes. | +| Find... | Invokes the *Find* dialog box. The Find dialog can be used to search for nodes by name or number. Results are listed in a table that includes the node or link location and details such as IP addresses or link parameters. Clicking on a result will focus the canvas on that node or link, switching canvases if necessary. | +| Clear marker | Clears any annotations drawn with the marker tool. Also clears any markings used to indicate a node's status. | +| Preferences... | Invokes the Preferences dialog box. | ### Canvas Menu The canvas menu provides commands for adding, removing, changing, and switching to different editing canvases. -| Option | Description | -|---|---| -| New | Creates a new empty canvas at the right of all existing canvases. | -| Manage... | Invokes the *Manage Canvases* dialog box, where canvases may be renamed and reordered, and you can easily switch to one of the canvases by selecting it. | -| Delete | Deletes the current canvas and all items that it contains. | -| Size/scale... | Invokes a Canvas Size and Scale dialog that allows configuring the canvas size, scale, and geographic reference point. The size controls allow changing the width and height of the current canvas, in pixels or meters. The scale allows specifying how many meters are equivalent to 100 pixels. The reference point controls specify the latitude, longitude, and altitude reference point used to convert between geographic and Cartesian coordinate systems. By clicking the *Save as default* option, all new canvases will be created with these properties. The default canvas size can also be changed in the Preferences dialog box. -| Wallpaper... | Used for setting the canvas background image. | -| Previous, Next, First, Last | Used for switching the active canvas to the first, last, or adjacent canvas. | +| Option | Description | +|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| New | Creates a new empty canvas at the right of all existing canvases. | +| Manage... | Invokes the *Manage Canvases* dialog box, where canvases may be renamed and reordered, and you can easily switch to one of the canvases by selecting it. | +| Delete | Deletes the current canvas and all items that it contains. | +| Size/scale... | Invokes a Canvas Size and Scale dialog that allows configuring the canvas size, scale, and geographic reference point. The size controls allow changing the width and height of the current canvas, in pixels or meters. The scale allows specifying how many meters are equivalent to 100 pixels. The reference point controls specify the latitude, longitude, and altitude reference point used to convert between geographic and Cartesian coordinate systems. By clicking the *Save as default* option, all new canvases will be created with these properties. The default canvas size can also be changed in the Preferences dialog box. | +| Wallpaper... | Used for setting the canvas background image. | +| Previous, Next, First, Last | Used for switching the active canvas to the first, last, or adjacent canvas. | ### View Menu The View menu features items for controlling what is displayed on the drawing canvas. -| Option | Description | -|---|---| -| Show | Opens a submenu of items that can be displayed or hidden, such as interface names, addresses, and labels. Use these options to help declutter the display. These options are generally saved in the topology files, so scenarios have a more consistent look when copied from one computer to another. | -| Show hidden nodes | Reveal nodes that have been hidden. Nodes are hidden by selecting one or more nodes, right-clicking one and choosing *hide*. | -| Locked | Toggles locked view; when the view is locked, nodes cannot be moved around on the canvas with the mouse. This could be useful when sharing the topology with someone and you do not expect them to change things. | -| 3D GUI... | Launches a 3D GUI by running the command defined under Preferences, *3D GUI command*. This is typically a script that runs the SDT3D display. SDT is the Scripted Display Tool from NRL that is based on NASA's Java-based WorldWind virtual globe software. | -| Zoom In | Magnifies the display. You can also zoom in by clicking *zoom 100%* label in the status bar, or by pressing the **+** (plus) key. | -| Zoom Out | Reduces the size of the display. You can also zoom out by right-clicking *zoom 100%* label in the status bar or by pressing the **-** (minus) key. | +| Option | Description | +|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Show | Opens a submenu of items that can be displayed or hidden, such as interface names, addresses, and labels. Use these options to help declutter the display. These options are generally saved in the topology files, so scenarios have a more consistent look when copied from one computer to another. | +| Show hidden nodes | Reveal nodes that have been hidden. Nodes are hidden by selecting one or more nodes, right-clicking one and choosing *hide*. | +| Locked | Toggles locked view; when the view is locked, nodes cannot be moved around on the canvas with the mouse. This could be useful when sharing the topology with someone and you do not expect them to change things. | +| 3D GUI... | Launches a 3D GUI by running the command defined under Preferences, *3D GUI command*. This is typically a script that runs the SDT3D display. SDT is the Scripted Display Tool from NRL that is based on NASA's Java-based WorldWind virtual globe software. | +| Zoom In | Magnifies the display. You can also zoom in by clicking *zoom 100%* label in the status bar, or by pressing the **+** (plus) key. | +| Zoom Out | Reduces the size of the display. You can also zoom out by right-clicking *zoom 100%* label in the status bar or by pressing the **-** (minus) key. | ### Tools Menu The tools menu lists different utility functions. -| Option | Description | -|---|---| -| Autorearrange all | Automatically arranges all nodes on the canvas. Nodes having a greater number of links are moved to the center. This mode can continue to run while placing nodes. To turn off this autorearrange mode, click on a blank area of the canvas with the select tool, or choose this menu option again. | -| Autorearrange selected | Automatically arranges the selected nodes on the canvas. | -| Align to grid | Moves nodes into a grid formation, starting with the smallest-numbered node in the upper-left corner of the canvas, arranging nodes in vertical columns. | -| Traffic... | Invokes the CORE Traffic Flows dialog box, which allows configuring, starting, and stopping MGEN traffic flows for the emulation. | -| IP addresses... | Invokes the IP Addresses dialog box for configuring which IPv4/IPv6 prefixes are used when automatically addressing new interfaces. | -| MAC addresses... | Invokes the MAC Addresses dialog box for configuring the starting number used as the lowest byte when generating each interface MAC address. This value should be changed when tunneling between CORE emulations to prevent MAC address conflicts. | -| Build hosts file... | Invokes the Build hosts File dialog box for generating **/etc/hosts** file entries based on IP addresses used in the emulation. | -| Renumber nodes... | Invokes the Renumber Nodes dialog box, which allows swapping one node number with another in a few clicks. | -| Experimental... | Menu of experimental options, such as a tool to convert ns-2 scripts to IMUNES imn topologies, supporting only basic ns-2 functionality, and a tool for automatically dividing up a topology into partitions. | -| Topology generator | Opens a submenu of topologies to generate. You can first select the type of node that the topology should consist of, or routers will be chosen by default. Nodes may be randomly placed, aligned in grids, or various other topology patterns. All of the supported patterns are listed in the table below. | -| Debugger... | Opens the CORE Debugger window for executing arbitrary Tcl/Tk commands. | +| Option | Description | +|------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Autorearrange all | Automatically arranges all nodes on the canvas. Nodes having a greater number of links are moved to the center. This mode can continue to run while placing nodes. To turn off this autorearrange mode, click on a blank area of the canvas with the select tool, or choose this menu option again. | +| Autorearrange selected | Automatically arranges the selected nodes on the canvas. | +| Align to grid | Moves nodes into a grid formation, starting with the smallest-numbered node in the upper-left corner of the canvas, arranging nodes in vertical columns. | +| Traffic... | Invokes the CORE Traffic Flows dialog box, which allows configuring, starting, and stopping MGEN traffic flows for the emulation. | +| IP addresses... | Invokes the IP Addresses dialog box for configuring which IPv4/IPv6 prefixes are used when automatically addressing new interfaces. | +| MAC addresses... | Invokes the MAC Addresses dialog box for configuring the starting number used as the lowest byte when generating each interface MAC address. This value should be changed when tunneling between CORE emulations to prevent MAC address conflicts. | +| Build hosts file... | Invokes the Build hosts File dialog box for generating **/etc/hosts** file entries based on IP addresses used in the emulation. | +| Renumber nodes... | Invokes the Renumber Nodes dialog box, which allows swapping one node number with another in a few clicks. | +| Experimental... | Menu of experimental options, such as a tool to convert ns-2 scripts to IMUNES imn topologies, supporting only basic ns-2 functionality, and a tool for automatically dividing up a topology into partitions. | +| Topology generator | Opens a submenu of topologies to generate. You can first select the type of node that the topology should consist of, or routers will be chosen by default. Nodes may be randomly placed, aligned in grids, or various other topology patterns. All of the supported patterns are listed in the table below. | +| Debugger... | Opens the CORE Debugger window for executing arbitrary Tcl/Tk commands. | #### Topology Generator -| Pattern | Description | -|---|---| -| Random | Nodes are randomly placed about the canvas, but are not linked together. This can be used in conjunction with a WLAN node to quickly create a wireless network. | -| Grid | Nodes are placed in horizontal rows starting in the upper-left corner, evenly spaced to the right; nodes are not linked to each other. | -| Connected Grid | Nodes are placed in an N x M (width and height) rectangular grid, and each node is linked to the node above, below, left and right of itself. | -| Chain | Nodes are linked together one after the other in a chain. | -| Star | One node is placed in the center with N nodes surrounding it in a circular pattern, with each node linked to the center node. | -| Cycle | Nodes are arranged in a circular pattern with every node connected to its neighbor to form a closed circular path. | -| Wheel | The wheel pattern links nodes in a combination of both Star and Cycle patterns. | -| Cube | Generate a cube graph of nodes. | -| Clique | Creates a clique graph of nodes, where every node is connected to every other node. | -| Bipartite | Creates a bipartite graph of nodes, having two disjoint sets of vertices. | +| Pattern | Description | +|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Random | Nodes are randomly placed about the canvas, but are not linked together. This can be used in conjunction with a WLAN node to quickly create a wireless network. | +| Grid | Nodes are placed in horizontal rows starting in the upper-left corner, evenly spaced to the right; nodes are not linked to each other. | +| Connected Grid | Nodes are placed in an N x M (width and height) rectangular grid, and each node is linked to the node above, below, left and right of itself. | +| Chain | Nodes are linked together one after the other in a chain. | +| Star | One node is placed in the center with N nodes surrounding it in a circular pattern, with each node linked to the center node. | +| Cycle | Nodes are arranged in a circular pattern with every node connected to its neighbor to form a closed circular path. | +| Wheel | The wheel pattern links nodes in a combination of both Star and Cycle patterns. | +| Cube | Generate a cube graph of nodes. | +| Clique | Creates a clique graph of nodes, where every node is connected to every other node. | +| Bipartite | Creates a bipartite graph of nodes, having two disjoint sets of vertices. | ### Widgets Menu @@ -306,36 +306,36 @@ The Session Menu has entries for starting, stopping, and managing sessions, in addition to global options such as node types, comments, hooks, servers, and options. -| Option | Description | -|---|---| -| Start or Stop | This starts or stops the emulation, performing the same function as the green Start or red Stop button. | -| Change sessions... | Invokes the CORE Sessions dialog box containing a list of active CORE sessions in the daemon. Basic session information such as name, node count, start time, and a thumbnail are displayed. This dialog allows connecting to different sessions, shutting them down, or starting a new session. | -| Node types... | Invokes the CORE Node Types dialog, performing the same function as the Edit button on the Network-Layer Nodes toolbar. | -| Comments... | Invokes the CORE Session Comments window where optional text comments may be specified. These comments are saved at the top of the configuration file, and can be useful for describing the topology or how to use the network. | -| Hooks... | Invokes the CORE Session Hooks window where scripts may be configured for a particular session state. The session states are defined in the [table](#session-states) below. The top of the window has a list of configured hooks, and buttons on the bottom left allow adding, editing, and removing hook scripts. The new or edit button will open a hook script editing window. A hook script is a shell script invoked on the host (not within a virtual node). | -| Reset node positions | If you have moved nodes around using the mouse or by using a mobility module, choosing this item will reset all nodes to their original position on the canvas. The node locations are remembered when you first press the Start button. | -| Emulation servers... | Invokes the CORE emulation servers dialog for configuring. | -| Change Sessions... | Invokes the Sessions dialog for switching between different running sessions. This dialog is presented during startup when one or more sessions are already running. | -| Options... | Presents per-session options, such as the IPv4 prefix to be used, if any, for a control network the ability to preserve the session directory; and an on/off switch for SDT3D support. | +| Option | Description | +|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Start or Stop | This starts or stops the emulation, performing the same function as the green Start or red Stop button. | +| Change sessions... | Invokes the CORE Sessions dialog box containing a list of active CORE sessions in the daemon. Basic session information such as name, node count, start time, and a thumbnail are displayed. This dialog allows connecting to different sessions, shutting them down, or starting a new session. | +| Node types... | Invokes the CORE Node Types dialog, performing the same function as the Edit button on the Network-Layer Nodes toolbar. | +| Comments... | Invokes the CORE Session Comments window where optional text comments may be specified. These comments are saved at the top of the configuration file, and can be useful for describing the topology or how to use the network. | +| Hooks... | Invokes the CORE Session Hooks window where scripts may be configured for a particular session state. The session states are defined in the [table](#session-states) below. The top of the window has a list of configured hooks, and buttons on the bottom left allow adding, editing, and removing hook scripts. The new or edit button will open a hook script editing window. A hook script is a shell script invoked on the host (not within a virtual node). | +| Reset node positions | If you have moved nodes around using the mouse or by using a mobility module, choosing this item will reset all nodes to their original position on the canvas. The node locations are remembered when you first press the Start button. | +| Emulation servers... | Invokes the CORE emulation servers dialog for configuring. | +| Change Sessions... | Invokes the Sessions dialog for switching between different running sessions. This dialog is presented during startup when one or more sessions are already running. | +| Options... | Presents per-session options, such as the IPv4 prefix to be used, if any, for a control network the ability to preserve the session directory; and an on/off switch for SDT3D support. | #### Session States -| State | Description | -|---|---| -| definition | Used by the GUI to tell the backend to clear any state. | -| configuration | When the user presses the *Start* button, node, link, and other configuration data is sent to the backend. This state is also reached when the user customizes a service. | -| instantiation | After configuration data has been sent, just before the nodes are created. | -| runtime | All nodes and networks have been built and are running. (This is the same state at which the previously-named *global experiment script* was run.) -| datacollect | The user has pressed the *Stop* button, but before services have been stopped and nodes have been shut down. This is a good time to collect log files and other data from the nodes. | -| shutdown | All nodes and networks have been shut down and destroyed. | +| State | Description | +|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| definition | Used by the GUI to tell the backend to clear any state. | +| configuration | When the user presses the *Start* button, node, link, and other configuration data is sent to the backend. This state is also reached when the user customizes a service. | +| instantiation | After configuration data has been sent, just before the nodes are created. | +| runtime | All nodes and networks have been built and are running. (This is the same state at which the previously-named *global experiment script* was run.) | +| datacollect | The user has pressed the *Stop* button, but before services have been stopped and nodes have been shut down. This is a good time to collect log files and other data from the nodes. | +| shutdown | All nodes and networks have been shut down and destroyed. | ### Help Menu -| Option | Description | -|---|---| -| CORE Github (www) | Link to the CORE GitHub page. | -| CORE Documentation (www) | Lnk to the CORE Documentation page. | -| About | Invokes the About dialog box for viewing version information. | +| Option | Description | +|--------------------------|---------------------------------------------------------------| +| CORE Github (www) | Link to the CORE GitHub page. | +| CORE Documentation (www) | Lnk to the CORE Documentation page. | +| About | Invokes the About dialog box for viewing version information. | ## Connecting with Physical Networks @@ -542,10 +542,10 @@ complexity and CPU usage. The availability of certain plug-ins varies depending on platform. See the table below for a brief overview of wireless model types. -|Model|Type|Supported Platform(s)|Fidelity|Description| -|-----|----|---------------------|--------|-----------| -|Basic|on/off|Linux|Low|Ethernet bridging with nftables| -|EMANE|Plug-in|Linux|High|TAP device connected to EMANE emulator with pluggable MAC and PHY radio types| +| Model | Type | Supported Platform(s) | Fidelity | Description | +|-------|---------|-----------------------|----------|-------------------------------------------------------------------------------| +| Basic | on/off | Linux | Low | Ethernet bridging with nftables | +| EMANE | Plug-in | Linux | High | TAP device connected to EMANE emulator with pluggable MAC and PHY radio types | To quickly build a wireless network, you can first place several router nodes onto the canvas. If you have the @@ -581,11 +581,11 @@ See the [EMANE](emane.md) chapter for details on using EMANE. CORE has a few ways to script mobility. -| Option | Description | -|---|---| -| ns-2 script | The script specifies either absolute positions or waypoints with a velocity. Locations are given with Cartesian coordinates. | -| CORE API | An external entity can move nodes by sending CORE API Node messages with updated X,Y coordinates; the **coresendmsg** utility allows a shell script to generate these messages. | -| EMANE events | See [EMANE](emane.md) for details on using EMANE scripts to move nodes around. Location information is typically given as latitude, longitude, and altitude. | +| Option | Description | +|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ns-2 script | The script specifies either absolute positions or waypoints with a velocity. Locations are given with Cartesian coordinates. | +| CORE API | An external entity can move nodes by sending CORE API Node messages with updated X,Y coordinates; the **coresendmsg** utility allows a shell script to generate these messages. | +| EMANE events | See [EMANE](emane.md) for details on using EMANE scripts to move nodes around. Location information is typically given as latitude, longitude, and altitude. | For the first method, you can create a mobility script using a text editor, or using a tool such as [BonnMotion](http://net.cs.uni-bonn.de/wg/cs/applications/bonnmotion/), and associate the script with one of the wireless diff --git a/docs/index.md b/docs/index.md index 0bfe5a26..2321fa54 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,22 +18,22 @@ networking scenarios, security studies, and increasing the size of physical test ## Topics -| Topic | Description| -|-------|------------| -|[Installation](install.md)|How to install CORE and its requirements| -|[Architecture](architecture.md)|Overview of the architecture| -|[Node Types](nodetypes.md)|Overview of node types supported within CORE| -|[GUI](gui.md)|How to use the GUI| -|[(BETA) Python GUI](pygui.md)|How to use the BETA python based GUI| -|[Python API](python.md)|Covers how to control core directly using python| -|[gRPC API](grpc.md)|Covers how control core using gRPC| -|[Distributed](distributed.md)|Details for running CORE across multiple servers| -|[Control Network](ctrlnet.md)|How to use control networks to communicate with nodes from host| -|[Config Services](configservices.md)|Overview of provided config services and creating custom ones| -|[Services](services.md)|Overview of provided services and creating custom ones| -|[EMANE](emane.md)|Overview of EMANE integration and integrating custom EMANE models| -|[Performance](performance.md)|Notes on performance when using CORE| -|[Developers Guide](devguide.md)|Overview on how to contribute to CORE| +| Topic | Description | +|--------------------------------------|-------------------------------------------------------------------| +| [Installation](install.md) | How to install CORE and its requirements | +| [Architecture](architecture.md) | Overview of the architecture | +| [Node Types](nodetypes.md) | Overview of node types supported within CORE | +| [Python GUI](pygui.md) | How to use the default python based GUI | +| [Legacy GUI (deprecated)](gui.md) | How to use the deprecated Tcl based GUI | +| [Python API](python.md) | Covers how to control core directly using python | +| [gRPC API](grpc.md) | Covers how control core using gRPC | +| [Distributed](distributed.md) | Details for running CORE across multiple servers | +| [Control Network](ctrlnet.md) | How to use control networks to communicate with nodes from host | +| [Config Services](configservices.md) | Overview of provided config services and creating custom ones | +| [Services](services.md) | Overview of provided services and creating custom ones | +| [EMANE](emane.md) | Overview of EMANE integration and integrating custom EMANE models | +| [Performance](performance.md) | Notes on performance when using CORE | +| [Developers Guide](devguide.md) | Overview on how to contribute to CORE | ## Credits diff --git a/docs/install.md b/docs/install.md index 2ba72fc5..f25d6c6c 100644 --- a/docs/install.md +++ b/docs/install.md @@ -37,12 +37,12 @@ sudo modprobe sch_netem ### Tools Used The following tools will be leveraged during installation: -|Tool|Description| -|---|---| -|[pip](https://pip.pypa.io/en/stable/)|used to install pipx| -|[pipx](https://pipxproject.github.io/pipx/)|used to install standalone python tools (invoke, poetry)| -|[invoke](http://www.pyinvoke.org/)|used to run provided tasks (install, uninstall, reinstall, etc)| -|[poetry](https://python-poetry.org/)|used to install python virtual environment or building a python wheel| +| Tool | Description | +|---------------------------------------------|-----------------------------------------------------------------------| +| [pip](https://pip.pypa.io/en/stable/) | used to install pipx | +| [pipx](https://pipxproject.github.io/pipx/) | used to install standalone python tools (invoke, poetry) | +| [invoke](http://www.pyinvoke.org/) | used to run provided tasks (install, uninstall, reinstall, etc) | +| [poetry](https://python-poetry.org/) | used to install python virtual environment or building a python wheel | ### Files The following is a list of files that would be installed after running the automated installation. @@ -73,19 +73,19 @@ The following is a list of files that would be installed after running the autom ### Installed Executables After the installation complete it will have installed the following scripts. -| Name | Description | -|---|---| -| core-cleanup | tool to help removed lingering core created containers, bridges, directories | -| core-cli | tool to query, open xml files, and send commands using gRPC | -| core-daemon | runs the backed core server providing TLV and gRPC APIs | -| core-gui | runs the legacy tcl/tk based GUI | -| core-imn-to-xml | tool to help automate converting a .imn file to .xml format | -| core-manage | tool to add, remove, or check for services, models, and node types | -| core-pygui | runs the new python/tk based GUI | -| core-python | provides a convenience for running the core python virtual environment | -| core-route-monitor | tool to help monitor traffic across nodes and feed that to SDT | -| core-service-update | tool to update automate modifying a legacy service to match current naming | -| coresendmsg | tool to send TLV API commands from command line | +| Name | Description | +|---------------------|------------------------------------------------------------------------------| +| core-cleanup | tool to help removed lingering core created containers, bridges, directories | +| core-cli | tool to query, open xml files, and send commands using gRPC | +| core-daemon | runs the backed core server providing TLV and gRPC APIs | +| core-gui | runs the legacy tcl/tk based GUI | +| core-imn-to-xml | tool to help automate converting a .imn file to .xml format | +| core-manage | tool to add, remove, or check for services, models, and node types | +| core-pygui | runs the new python/tk based GUI | +| core-python | provides a convenience for running the core python virtual environment | +| core-route-monitor | tool to help monitor traffic across nodes and feed that to SDT | +| core-service-update | tool to update automate modifying a legacy service to match current naming | +| coresendmsg | tool to send TLV API commands from command line | ## Upgrading from Older Release Please make sure to uninstall any previous installations of CORE cleanly diff --git a/docs/performance.md b/docs/performance.md index b088c65b..5c3ae3a0 100644 --- a/docs/performance.md +++ b/docs/performance.md @@ -8,13 +8,13 @@ The top question about the performance of CORE is often *how many nodes can it handle?* The answer depends on several factors: -| Factor | Performance Impact | -|---|---| -| Hardware | the number and speed of processors in the computer, the available processor cache, RAM memory, and front-side bus speed may greatly affect overall performance. | -| Operating system version | distribution of Linux and the specific kernel versions used will affect overall performance. | -| Active processes | all nodes share the same CPU resources, so if one or more nodes is performing a CPU-intensive task, overall performance will suffer. | -| Network traffic | the more packets that are sent around the virtual network increases the amount of CPU usage. | -| GUI usage | widgets that run periodically, mobility scenarios, and other GUI interactions generally consume CPU cycles that may be needed for emulation. | +| Factor | Performance Impact | +|--------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Hardware | the number and speed of processors in the computer, the available processor cache, RAM memory, and front-side bus speed may greatly affect overall performance. | +| Operating system version | distribution of Linux and the specific kernel versions used will affect overall performance. | +| Active processes | all nodes share the same CPU resources, so if one or more nodes is performing a CPU-intensive task, overall performance will suffer. | +| Network traffic | the more packets that are sent around the virtual network increases the amount of CPU usage. | +| GUI usage | widgets that run periodically, mobility scenarios, and other GUI interactions generally consume CPU cycles that may be needed for emulation. | On a typical single-CPU Xeon 3.0GHz server machine with 2GB RAM running Linux, diff --git a/docs/pygui.md b/docs/pygui.md index 2e9f726a..1d495834 100644 --- a/docs/pygui.md +++ b/docs/pygui.md @@ -114,45 +114,45 @@ the left side of the CORE window. Below are brief descriptions for each toolbar item, starting from the top. Most of the tools are grouped into related sub-menus, which appear when you click on their group icon. -| Icon | Name | Description | -|---|---|---| -| ![](static/pygui/select.png) | Selection Tool | Tool for selecting, moving, configuring nodes. | -| ![](static/pygui/start.png) | Start Button | Starts Execute mode, instantiates the emulation. | -| ![](static/pygui/link.png) | Link | Allows network links to be drawn between two nodes by clicking and dragging the mouse. | +| Icon | Name | Description | +|------------------------------|----------------|----------------------------------------------------------------------------------------| +| ![](static/pygui/select.png) | Selection Tool | Tool for selecting, moving, configuring nodes. | +| ![](static/pygui/start.png) | Start Button | Starts Execute mode, instantiates the emulation. | +| ![](static/pygui/link.png) | Link | Allows network links to be drawn between two nodes by clicking and dragging the mouse. | ### CORE Nodes These nodes will create a new node container and run associated services. -| Icon | Name | Description | -|---|---|---| -| ![](static/pygui/router.png) | Router | Runs Quagga OSPFv2 and OSPFv3 routing to forward packets. | -| ![](static/pygui/host.png) | Host | Emulated server machine having a default route, runs SSH server. | -| ![](static/pygui/pc.png) | PC | Basic emulated machine having a default route, runs no processes by default. | -| ![](static/pygui/mdr.png) | MDR | Runs Quagga OSPFv3 MDR routing for MANET-optimized routing. | -| ![](static/pygui/router.png) | PRouter | Physical router represents a real testbed machine. | +| Icon | Name | Description | +|------------------------------|---------|------------------------------------------------------------------------------| +| ![](static/pygui/router.png) | Router | Runs Quagga OSPFv2 and OSPFv3 routing to forward packets. | +| ![](static/pygui/host.png) | Host | Emulated server machine having a default route, runs SSH server. | +| ![](static/pygui/pc.png) | PC | Basic emulated machine having a default route, runs no processes by default. | +| ![](static/pygui/mdr.png) | MDR | Runs Quagga OSPFv3 MDR routing for MANET-optimized routing. | +| ![](static/pygui/router.png) | PRouter | Physical router represents a real testbed machine. | ### Network Nodes These nodes are mostly used to create a Linux bridge that serves the purpose described below. -| Icon | Name | Description | -|---|---|---| -| ![](static/pygui/hub.png) | Hub | Ethernet hub forwards incoming packets to every connected node. | -| ![](static/pygui/lanswitch.png) | Switch | Ethernet switch intelligently forwards incoming packets to attached hosts using an Ethernet address hash table. | -| ![](static/pygui/wlan.png) | Wireless LAN | When routers are connected to this WLAN node, they join a wireless network and an antenna is drawn instead of a connecting line; the WLAN node typically controls connectivity between attached wireless nodes based on the distance between them. | -| ![](static/pygui/rj45.png) | RJ45 | RJ45 Physical Interface Tool, emulated nodes can be linked to real physical interfaces; using this tool, real networks and devices can be physically connected to the live-running emulation. | -| ![](static/pygui/tunnel.png) | Tunnel | Tool allows connecting together more than one CORE emulation using GRE tunnels. | +| Icon | Name | Description | +|---------------------------------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ![](static/pygui/hub.png) | Hub | Ethernet hub forwards incoming packets to every connected node. | +| ![](static/pygui/lanswitch.png) | Switch | Ethernet switch intelligently forwards incoming packets to attached hosts using an Ethernet address hash table. | +| ![](static/pygui/wlan.png) | Wireless LAN | When routers are connected to this WLAN node, they join a wireless network and an antenna is drawn instead of a connecting line; the WLAN node typically controls connectivity between attached wireless nodes based on the distance between them. | +| ![](static/pygui/rj45.png) | RJ45 | RJ45 Physical Interface Tool, emulated nodes can be linked to real physical interfaces; using this tool, real networks and devices can be physically connected to the live-running emulation. | +| ![](static/pygui/tunnel.png) | Tunnel | Tool allows connecting together more than one CORE emulation using GRE tunnels. | ### Annotation Tools -| Icon | Name | Description | -|---|---|---| -| ![](static/pygui/marker.png) | Marker | For drawing marks on the canvas. | -| ![](static/pygui/oval.png) | Oval | For drawing circles on the canvas that appear in the background. | +| Icon | Name | Description | +|---------------------------------|-----------|---------------------------------------------------------------------| +| ![](static/pygui/marker.png) | Marker | For drawing marks on the canvas. | +| ![](static/pygui/oval.png) | Oval | For drawing circles on the canvas that appear in the background. | | ![](static/pygui/rectangle.png) | Rectangle | For drawing rectangles on the canvas that appear in the background. | -| ![](static/pygui/text.png) | Text | For placing text captions on the canvas. | +| ![](static/pygui/text.png) | Text | For placing text captions on the canvas. | ### Execution Toolbar @@ -160,12 +160,12 @@ When the Start button is pressed, CORE switches to Execute mode, and the Edit toolbar on the left of the CORE window is replaced with the Execution toolbar Below are the items on this toolbar, starting from the top. -| Icon | Name | Description | -|---|---|---| -| ![](static/pygui/stop.png) | Stop Button | Stops Execute mode, terminates the emulation, returns CORE to edit mode. | -| ![](static/pygui/select.png) | Selection Tool | In Execute mode, the Selection Tool can be used for moving nodes around the canvas, and double-clicking on a node will open a shell window for that node; right-clicking on a node invokes a pop-up menu of run-time options for that node. | -| ![](static/pygui/marker.png) | Marker | For drawing freehand lines on the canvas, useful during demonstrations; markings are not saved. | -| ![](static/pygui/run.png) | Run Tool | This tool allows easily running a command on all or a subset of all nodes. A list box allows selecting any of the nodes. A text entry box allows entering any command. The command should return immediately, otherwise the display will block awaiting response. The *ping* command, for example, with no parameters, is not a good idea. The result of each command is displayed in a results box. The first occurrence of the special text "NODE" will be replaced with the node name. The command will not be attempted to run on nodes that are not routers, PCs, or hosts, even if they are selected. | +| Icon | Name | Description | +|------------------------------|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ![](static/pygui/stop.png) | Stop Button | Stops Execute mode, terminates the emulation, returns CORE to edit mode. | +| ![](static/pygui/select.png) | Selection Tool | In Execute mode, the Selection Tool can be used for moving nodes around the canvas, and double-clicking on a node will open a shell window for that node; right-clicking on a node invokes a pop-up menu of run-time options for that node. | +| ![](static/pygui/marker.png) | Marker | For drawing freehand lines on the canvas, useful during demonstrations; markings are not saved. | +| ![](static/pygui/run.png) | Run Tool | This tool allows easily running a command on all or a subset of all nodes. A list box allows selecting any of the nodes. A text entry box allows entering any command. The command should return immediately, otherwise the display will block awaiting response. The *ping* command, for example, with no parameters, is not a good idea. The result of each command is displayed in a results box. The first occurrence of the special text "NODE" will be replaced with the node name. The command will not be attempted to run on nodes that are not routers, PCs, or hosts, even if they are selected. | ## Menu @@ -178,58 +178,58 @@ menu, by clicking the dashed line at the top. The File menu contains options for manipulating the **.imn** Configuration Files. Generally, these menu items should not be used in Execute mode. -| Option | Description | -|---|---| -| New Session | This starts a new session with an empty canvas. | -| Save | Saves the current topology. If you have not yet specified a file name, the Save As dialog box is invoked. | -| Save As | Invokes the Save As dialog box for selecting a new **.xml** file for saving the current configuration in the XML file. | -| Open | Invokes the File Open dialog box for selecting a new XML file to open. | -| Recently used files | Above the Quit menu command is a list of recently use files, if any have been opened. You can clear this list in the Preferences dialog box. You can specify the number of files to keep in this list from the Preferences dialog. Click on one of the file names listed to open that configuration file. | +| Option | Description | +|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| New Session | This starts a new session with an empty canvas. | +| Save | Saves the current topology. If you have not yet specified a file name, the Save As dialog box is invoked. | +| Save As | Invokes the Save As dialog box for selecting a new **.xml** file for saving the current configuration in the XML file. | +| Open | Invokes the File Open dialog box for selecting a new XML file to open. | +| Recently used files | Above the Quit menu command is a list of recently use files, if any have been opened. You can clear this list in the Preferences dialog box. You can specify the number of files to keep in this list from the Preferences dialog. Click on one of the file names listed to open that configuration file. | | Execute Python Script | Invokes a File Open dialog box for selecting a Python script to run and automatically connect to. After a selection is made, a Python Script Options dialog box is invoked to allow for command-line options to be added. The Python script must create a new CORE Session and add this session to the daemon's list of sessions in order for this to work. | -| Quit | The Quit command should be used to exit the CORE GUI. CORE may prompt for termination if you are currently in Execute mode. Preferences and the recently-used files list are saved. | +| Quit | The Quit command should be used to exit the CORE GUI. CORE may prompt for termination if you are currently in Execute mode. Preferences and the recently-used files list are saved. | ### Edit Menu -| Option | Description | -|---|---| -| Preferences | Invokes the Preferences dialog box. | -| Custom Nodes | Custom node creation dialog box. | -| Undo | (Disabled) Attempts to undo the last edit in edit mode. | -| Redo | (Disabled) Attempts to redo an edit that has been undone. | -| Cut, Copy, Paste, Delete | Used to cut, copy, paste, and delete a selection. When nodes are pasted, their node numbers are automatically incremented, and existing links are preserved with new IP addresses assigned. Services and their customizations are copied to the new node, but care should be taken as node IP addresses have changed with possibly old addresses remaining in any custom service configurations. Annotations may also be copied and pasted. +| Option | Description | +|--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Preferences | Invokes the Preferences dialog box. | +| Custom Nodes | Custom node creation dialog box. | +| Undo | (Disabled) Attempts to undo the last edit in edit mode. | +| Redo | (Disabled) Attempts to redo an edit that has been undone. | +| Cut, Copy, Paste, Delete | Used to cut, copy, paste, and delete a selection. When nodes are pasted, their node numbers are automatically incremented, and existing links are preserved with new IP addresses assigned. Services and their customizations are copied to the new node, but care should be taken as node IP addresses have changed with possibly old addresses remaining in any custom service configurations. Annotations may also be copied and pasted. | ### Canvas Menu The canvas menu provides commands related to the editing canvas. -| Option | Description | -|---|---| -| Size/scale | Invokes a Canvas Size and Scale dialog that allows configuring the canvas size, scale, and geographic reference point. The size controls allow changing the width and height of the current canvas, in pixels or meters. The scale allows specifying how many meters are equivalent to 100 pixels. The reference point controls specify the latitude, longitude, and altitude reference point used to convert between geographic and Cartesian coordinate systems. By clicking the *Save as default* option, all new canvases will be created with these properties. The default canvas size can also be changed in the Preferences dialog box. -| Wallpaper | Used for setting the canvas background image. | +| Option | Description | +|------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Size/scale | Invokes a Canvas Size and Scale dialog that allows configuring the canvas size, scale, and geographic reference point. The size controls allow changing the width and height of the current canvas, in pixels or meters. The scale allows specifying how many meters are equivalent to 100 pixels. The reference point controls specify the latitude, longitude, and altitude reference point used to convert between geographic and Cartesian coordinate systems. By clicking the *Save as default* option, all new canvases will be created with these properties. The default canvas size can also be changed in the Preferences dialog box. | +| Wallpaper | Used for setting the canvas background image. | ### View Menu The View menu features items for toggling on and off their display on the canvas. -| Option | Description | -|---|---| +| Option | Description | +|-----------------|-----------------------------------| | Interface Names | Display interface names on links. | -| IPv4 Addresses | Display IPv4 addresses on links. | -| IPv6 Addresses | Display IPv6 addresses on links. | -| Node Labels | Display node names. | -| Link Labels | Display link labels. | -| Annotations | Display annotations. | -| Canvas Grid | Display the canvas grid. | +| IPv4 Addresses | Display IPv4 addresses on links. | +| IPv6 Addresses | Display IPv6 addresses on links. | +| Node Labels | Display node names. | +| Link Labels | Display link labels. | +| Annotations | Display annotations. | +| Canvas Grid | Display the canvas grid. | ### Tools Menu The tools menu lists different utility functions. -| Option | Description | -|---|---| -| Find | Display find dialog used for highlighting a node on the canvas. | -| Auto Grid | Automatically layout nodes in a grid. | -| IP addresses | Invokes the IP Addresses dialog box for configuring which IPv4/IPv6 prefixes are used when automatically addressing new interfaces. | +| Option | Description | +|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Find | Display find dialog used for highlighting a node on the canvas. | +| Auto Grid | Automatically layout nodes in a grid. | +| IP addresses | Invokes the IP Addresses dialog box for configuring which IPv4/IPv6 prefixes are used when automatically addressing new interfaces. | | MAC addresses | Invokes the MAC Addresses dialog box for configuring the starting number used as the lowest byte when generating each interface MAC address. This value should be changed when tunneling between CORE emulations to prevent MAC address conflicts. | ### Widgets Menu @@ -288,31 +288,31 @@ The Session Menu has entries for starting, stopping, and managing sessions, in addition to global options such as node types, comments, hooks, servers, and options. -| Option | Description | -|---|---| -| Sessions | Invokes the CORE Sessions dialog box containing a list of active CORE sessions in the daemon. Basic session information such as name, node count, start time, and a thumbnail are displayed. This dialog allows connecting to different sessions, shutting them down, or starting a new session. | -| Servers | Invokes the CORE emulation servers dialog for configuring. | -| Options | Presents per-session options, such as the IPv4 prefix to be used, if any, for a control network the ability to preserve the session directory; and an on/off switch for SDT3D support. | -| Hooks | Invokes the CORE Session Hooks window where scripts may be configured for a particular session state. The session states are defined in the [table](#session-states) below. The top of the window has a list of configured hooks, and buttons on the bottom left allow adding, editing, and removing hook scripts. The new or edit button will open a hook script editing window. A hook script is a shell script invoked on the host (not within a virtual node). | +| Option | Description | +|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Sessions | Invokes the CORE Sessions dialog box containing a list of active CORE sessions in the daemon. Basic session information such as name, node count, start time, and a thumbnail are displayed. This dialog allows connecting to different sessions, shutting them down, or starting a new session. | +| Servers | Invokes the CORE emulation servers dialog for configuring. | +| Options | Presents per-session options, such as the IPv4 prefix to be used, if any, for a control network the ability to preserve the session directory; and an on/off switch for SDT3D support. | +| Hooks | Invokes the CORE Session Hooks window where scripts may be configured for a particular session state. The session states are defined in the [table](#session-states) below. The top of the window has a list of configured hooks, and buttons on the bottom left allow adding, editing, and removing hook scripts. The new or edit button will open a hook script editing window. A hook script is a shell script invoked on the host (not within a virtual node). | #### Session States -| State | Description | -|---|---| -| Definition | Used by the GUI to tell the backend to clear any state. | -| Configuration | When the user presses the *Start* button, node, link, and other configuration data is sent to the backend. This state is also reached when the user customizes a service. | -| Instantiation | After configuration data has been sent, just before the nodes are created. | -| Runtime | All nodes and networks have been built and are running. (This is the same state at which the previously-named *global experiment script* was run.) -| Datacollect | The user has pressed the *Stop* button, but before services have been stopped and nodes have been shut down. This is a good time to collect log files and other data from the nodes. | -| Shutdown | All nodes and networks have been shut down and destroyed. | +| State | Description | +|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Definition | Used by the GUI to tell the backend to clear any state. | +| Configuration | When the user presses the *Start* button, node, link, and other configuration data is sent to the backend. This state is also reached when the user customizes a service. | +| Instantiation | After configuration data has been sent, just before the nodes are created. | +| Runtime | All nodes and networks have been built and are running. (This is the same state at which the previously-named *global experiment script* was run.) | +| Datacollect | The user has pressed the *Stop* button, but before services have been stopped and nodes have been shut down. This is a good time to collect log files and other data from the nodes. | +| Shutdown | All nodes and networks have been shut down and destroyed. | ### Help Menu -| Option | Description | -|---|---| -| CORE Github (www) | Link to the CORE GitHub page. | -| CORE Documentation (www) | Lnk to the CORE Documentation page. | -| About | Invokes the About dialog box for viewing version information. | +| Option | Description | +|--------------------------|---------------------------------------------------------------| +| CORE Github (www) | Link to the CORE GitHub page. | +| CORE Documentation (www) | Lnk to the CORE Documentation page. | +| About | Invokes the About dialog box for viewing version information. | ## Connecting with Physical Networks @@ -519,10 +519,10 @@ complexity and CPU usage. The availability of certain plug-ins varies depending on platform. See the table below for a brief overview of wireless model types. -|Model|Type|Supported Platform(s)|Fidelity|Description| -|-----|----|---------------------|--------|-----------| -|Basic|on/off|Linux|Low|Ethernet bridging with nftables| -|EMANE|Plug-in|Linux|High|TAP device connected to EMANE emulator with pluggable MAC and PHY radio types| +| Model | Type | Supported Platform(s) | Fidelity | Description | +|-------|---------|-----------------------|----------|-------------------------------------------------------------------------------| +| Basic | on/off | Linux | Low | Ethernet bridging with nftables | +| EMANE | Plug-in | Linux | High | TAP device connected to EMANE emulator with pluggable MAC and PHY radio types | To quickly build a wireless network, you can first place several router nodes onto the canvas. If you have the @@ -556,11 +556,11 @@ See the [EMANE](emane.md) chapter for details on using EMANE. CORE has a few ways to script mobility. -| Option | Description | -|---|---| -| ns-2 script | The script specifies either absolute positions or waypoints with a velocity. Locations are given with Cartesian coordinates. | -| CORE API | An external entity can move nodes by sending CORE API Node messages with updated X,Y coordinates; the **coresendmsg** utility allows a shell script to generate these messages. | -| EMANE events | See [EMANE](emane.md) for details on using EMANE scripts to move nodes around. Location information is typically given as latitude, longitude, and altitude. | +| Option | Description | +|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ns-2 script | The script specifies either absolute positions or waypoints with a velocity. Locations are given with Cartesian coordinates. | +| CORE API | An external entity can move nodes by sending CORE API Node messages with updated X,Y coordinates; the **coresendmsg** utility allows a shell script to generate these messages. | +| EMANE events | See [EMANE](emane.md) for details on using EMANE scripts to move nodes around. Location information is typically given as latitude, longitude, and altitude. | For the first method, you can create a mobility script using a text editor, or using a tool such as [BonnMotion](http://net.cs.uni-bonn.de/wg/cs/applications/bonnmotion/), and associate the script with one of the wireless diff --git a/docs/services.md b/docs/services.md index 477a828c..f92e5df1 100644 --- a/docs/services.md +++ b/docs/services.md @@ -21,28 +21,28 @@ shutdown commands, and meta-data associated with a node. ## Available Services -| Service Group | Services | -|---|---| -|[BIRD](services/bird.md)|BGP, OSPF, RADV, RIP, Static| -|[EMANE](services/emane.md)|Transport Service| -|[FRR](services/frr.md)|BABEL, BGP, OSPFv2, OSPFv3, PIMD, RIP, RIPNG, Zebra| -|[NRL](services/nrl.md)|arouted, MGEN Sink, MGEN Actor, NHDP, OLSR, OLSRORG, OLSRv2, SMF| -|[Quagga](services/quagga.md)|BABEL, BGP, OSPFv2, OSPFv3, OSPFv3 MDR, RIP, RIPNG, XPIMD, Zebra| -|[SDN](services/sdn.md)|OVS, RYU| -|[Security](services/security.md)|Firewall, IPsec, NAT, VPN Client, VPN Server| -|[Utility](services/utility.md)|ATD, Routing Utils, DHCP, FTP, IP Forward, PCAP, RADVD, SSF, UCARP| -|[XORP](services/xorp.md)|BGP, OLSR, OSPFv2, OSPFv3, PIMSM4, PIMSM6, RIP, RIPNG, Router Manager| +| Service Group | Services | +|----------------------------------|-----------------------------------------------------------------------| +| [BIRD](services/bird.md) | BGP, OSPF, RADV, RIP, Static | +| [EMANE](services/emane.md) | Transport Service | +| [FRR](services/frr.md) | BABEL, BGP, OSPFv2, OSPFv3, PIMD, RIP, RIPNG, Zebra | +| [NRL](services/nrl.md) | arouted, MGEN Sink, MGEN Actor, NHDP, OLSR, OLSRORG, OLSRv2, SMF | +| [Quagga](services/quagga.md) | BABEL, BGP, OSPFv2, OSPFv3, OSPFv3 MDR, RIP, RIPNG, XPIMD, Zebra | +| [SDN](services/sdn.md) | OVS, RYU | +| [Security](services/security.md) | Firewall, IPsec, NAT, VPN Client, VPN Server | +| [Utility](services/utility.md) | ATD, Routing Utils, DHCP, FTP, IP Forward, PCAP, RADVD, SSF, UCARP | +| [XORP](services/xorp.md) | BGP, OLSR, OSPFv2, OSPFv3, PIMSM4, PIMSM6, RIP, RIPNG, Router Manager | ## Node Types and Default Services Here are the default node types and their services: -| Node Type | Services | -|---|---| -| *router* | zebra, OSFPv2, OSPFv3, and IPForward services for IGP link-state routing. | -| *host* | DefaultRoute and SSH services, representing an SSH server having a default route when connected directly to a router. | -| *PC* | DefaultRoute service for having a default route when connected directly to a router. | -| *mdr* | zebra, OSPFv3MDR, and IPForward services for wireless-optimized MANET Designated Router routing. | +| Node Type | Services | +|-----------|--------------------------------------------------------------------------------------------------------------------------------------------| +| *router* | zebra, OSFPv2, OSPFv3, and IPForward services for IGP link-state routing. | +| *host* | DefaultRoute and SSH services, representing an SSH server having a default route when connected directly to a router. | +| *PC* | DefaultRoute service for having a default route when connected directly to a router. | +| *mdr* | zebra, OSPFv3MDR, and IPForward services for wireless-optimized MANET Designated Router routing. | | *prouter* | a physical router, having the same default services as the *router* node type; for incorporating Linux testbed machines into an emulation. | Configuration files can be automatically generated by each service. For From 58ffd045e2733e0546bccab301b779788e546879 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Fri, 25 Feb 2022 11:05:14 -0800 Subject: [PATCH 03/17] daemon: pulling in an old legacy gui related fix for now, that was not merged back --- daemon/core/services/coreservices.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/daemon/core/services/coreservices.py b/daemon/core/services/coreservices.py index b12f21c4..cabc93c0 100644 --- a/daemon/core/services/coreservices.py +++ b/daemon/core/services/coreservices.py @@ -181,6 +181,8 @@ def setvalue(cls, service: "CoreService", key: str, value: str) -> None: if value: if key == "startidx": value = int(value) + elif key == "starttime": + value = float(value) elif key == "meta": value = str(value) else: From 2dd3839396a4ba3b7ee23c0e6b84a971c3e4e6f8 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Fri, 25 Feb 2022 12:17:51 -0800 Subject: [PATCH 04/17] docs: updated emane docs to remove old GUI references and update the example pictures to include the configuration dialog of the new gui --- docs/emane.md | 90 ++++++------------ .../distributed-emane-configuration.png | Bin 163354 -> 143671 bytes docs/static/single-pc-emane.png | Bin 134467 -> 107301 bytes 3 files changed, 30 insertions(+), 60 deletions(-) diff --git a/docs/emane.md b/docs/emane.md index 662826c1..d4f4e42c 100644 --- a/docs/emane.md +++ b/docs/emane.md @@ -33,7 +33,7 @@ user space socket to the TAP device for sending and receiving data from CORE. An EMANE instance sends and receives OTA (Over-The-Air) traffic to and from other EMANE instances via a control port (e.g. *ctrl0*, *ctrl1*). It also sends and receives Events to and from the Event Service using the same or a -different control port. EMANE models are configured through CORE's WLAN +different control port. EMANE models are configured through the GUI's configuration dialog. A corresponding EmaneModel Python class is sub-classed for each supported EMANE model, to provide configuration items and their mapping to XML files. This way new models can be easily supported. When @@ -201,27 +201,21 @@ EMANE. Using the primary control channel prevents your emulation session from sending multicast traffic on your local network and interfering with other EMANE users. -EMANE is configured through a WLAN node, because it is all about emulating -wireless radio networks. Once a node is linked to a WLAN cloud configured -with an EMANE model, the radio interface on that node may also be configured +EMANE is configured through an EMANE node. Once a node is linked to an EMANE +cloud, the radio interface on that node may also be configured separately (apart from the cloud.) -Double-click on a WLAN node to invoke the WLAN configuration dialog. Click -the *EMANE* tab; when EMANE has been properly installed, EMANE wireless modules -should be listed in the *EMANE Models* list. (You may need to restart the +Right click on an EMANE node and select EMANE Config to open the configuration dialog. +The EMANE models should be listed here for selection. (You may need to restart the CORE daemon if it was running prior to installing the EMANE Python bindings.) -Click on a model name to enable it. -When an EMANE model is selected in the *EMANE Models* list, clicking on the -*model options* button causes the GUI to query the CORE daemon for -configuration items. Each model will have different parameters, refer to the +When an EMANE model is selected, you can click on the models option button +causing the GUI to query the CORE daemon for configuration items. +Each model will have different parameters, refer to the EMANE documentation for an explanation of each item. The defaults values are -presented in the dialog. Clicking *Apply* and *Apply* again will store the +presented in the dialog. Clicking *Apply* and *Apply* again will store the EMANE model selections. -The *EMANE options* button allows specifying some global parameters for -EMANE, some of which are necessary for distributed operation. - The RF-PIPE and IEEE 802.11abg models use a Universal PHY that supports geographic location information for determining pathloss between nodes. A default latitude and longitude location is provided by CORE and this @@ -241,21 +235,12 @@ used to achieve geo-location accuracy in this situation. Clicking the green *Start* button launches the emulation and causes TAP devices to be created in the virtual nodes that are linked to the EMANE WLAN. These devices appear with interface names such as eth0, eth1, etc. The EMANE processes -should now be running in each namespace. For a four node scenario: +should now be running in each namespace. -```shell -ps -aef | grep emane -root 1063 969 0 11:46 ? 00:00:00 emane -d --logl 3 -r -f /tmp/pycore.59992/emane4.log /tmp/pycore.59992/platform4.xml -root 1117 959 0 11:46 ? 00:00:00 emane -d --logl 3 -r -f /tmp/pycore.59992/emane2.log /tmp/pycore.59992/platform2.xml -root 1179 942 0 11:46 ? 00:00:00 emane -d --logl 3 -r -f /tmp/pycore.59992/emane1.log /tmp/pycore.59992/platform1.xml -root 1239 979 0 11:46 ? 00:00:00 emane -d --logl 3 -r -f /tmp/pycore.59992/emane5.log /tmp/pycore.59992/platform5.xml -``` - -The example above shows the EMANE processes started by CORE. To view the -configuration generated by CORE, look in the */tmp/pycore.nnnnn/* session -directory for a *platform.xml* file and other XML files. One easy way to view -this information is by double-clicking one of the virtual nodes, and typing -*cd ..* in the shell to go up to the session directory. +To view the configuration generated by CORE, look in the */tmp/pycore.nnnnn/* session +directory to find the generated EMANE xml files. One easy way to view +this information is by double-clicking one of the virtual nodes and listing the files +in the shell. ![](static/single-pc-emane.png) @@ -278,55 +263,40 @@ within a node. **IMPORTANT: If an auxiliary control network is used, an interface on the host has to be assigned to that network.** -Each machine that will act as an emulation server needs to have CORE and EMANE -installed. +Each machine that will act as an emulation server needs to have CORE distributed +and EMANE installed. As well as be setup to work for CORE distributed mode. -The IP addresses of the available servers are configured from the CORE emulation -servers dialog box (choose *Session* then *Emulation servers...*). This list of -servers is stored in a *~/.core/servers.conf* file. The dialog shows available +The IP addresses of the available servers are configured from the CORE +servers dialog box. The dialog shows available servers, some or all of which may be assigned to nodes on the canvas. -Nodes need to be assigned to emulation servers. Select several nodes, -right-click them, and choose *Assign to* and the name of the desired server. -When a node is not assigned to any emulation server, it will be emulated -locally. The local machine that the GUI connects with is considered the -"master" machine, which in turn connects to the other emulation server -"slaves". Public key SSH should be configured from the master to the slaves. - -Under the *EMANE* tab of the EMANE WLAN, click on the *EMANE options* button. -This brings up the emane configuration dialog. The *enable OTA Manager channel* -should be set to *on*. The *OTA Manager device* and *Event Service device* -should be set to a control network device. For example, if you have a primary -and auxiliary control network (i.e. controlnet and controlnet1), and you want -the OTA traffic to have its dedicated network, set the OTA Manager device to -*ctrl1* and the Event Service device to *ctrl0*. The EMANE models can be -configured. Click *Apply* to save these settings. +Nodes need to be assigned to servers and can be done so using the node +configuration dialog. When a node is not assigned to any emulation server, +it will be emulated locally. + +Using the EMANE node configuration dialog. You can change the EMANE model +being used, along with changing any configuration setting from their defaults. ![](static/distributed-emane-configuration.png) > **NOTE:** Here is a quick checklist for distributed emulation with EMANE. 1. Follow the steps outlined for normal CORE. - 2. Under the *EMANE* tab of the EMANE WLAN, click on *EMANE options*. - 3. Turn on the *OTA Manager channel* and set the *OTA Manager device*. - Also set the *Event Service device*. - 4. Select groups of nodes, right-click them, and assign them to servers - using the *Assign to* menu. - 5. Synchronize your machine's clocks prior to starting the emulation, + 2. Assign nodes to desired servers + 3. Synchronize your machine's clocks prior to starting the emulation, using *ntp* or *ptp*. Some EMANE models are sensitive to timing. - 6. Press the *Start* button to launch the distributed emulation. + 4. Press the *Start* button to launch the distributed emulation. Now when the Start button is used to instantiate the emulation, the local CORE -Python daemon will connect to other emulation servers that have been assigned +daemon will connect to other emulation servers that have been assigned to nodes. Each server will have its own session directory where the *platform.xml* file and other EMANE XML files are generated. The NEM IDs are -automatically coordinated across servers so there is no overlap. Each server -also gets its own Platform ID. +automatically coordinated across servers so there is no overlap. An Ethernet device is used for disseminating multicast EMANE events, as specified in the *configure emane* dialog. EMANE's Event Service can be run -with mobility or pathloss scripts as described in :ref:`Single_PC_with_EMANE`. +with mobility or pathloss scripts. If CORE is not subscribed to location events, it will generate them as nodes are moved on the canvas. diff --git a/docs/static/distributed-emane-configuration.png b/docs/static/distributed-emane-configuration.png index 219e5d43a3dddf0cc164ea117a7221cbc4cb8e30..ad66a6f3ee7c66fde7e1dc46dde4431a87e3ad67 100644 GIT binary patch literal 143671 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

=hI@%Q_|hkt-)bdnCm?*8<=Q7g+c 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 z℞2RcfJ<*yiMpqLA`DAqfc$3(GMo#ZF}8%_`SAw-yUnSo1S2m(CC3+Kl;r zV$NAD|-$Y)%KaF z&4zeYQ=Lby0z)NQBAxtSiGywv>K>t8Mrdd3Cg#l@Zh>K|v#NUNm>IVYQB zJj6D!3Y6z}z>KBfD-7~HZ4))MK7h`)d0cbI8M$3HooSj8Qv|eYlGo0(92^{UW-fq< z({tBSm*0>$J}zH8%cxWBb*DI}Db;PCV|$tkcmzOh2;9r~`1qi1?(ZvDT>*uFk(E_x zineeXP+|JO;!Z>EyMqPBDuXXx1-r_SDJUv}`%FcMy5-*f!78UTFOM`&h2iCr;^nQj zcKXo{a=1hh+=U=^Pt0{fUICT%XR(^EH?{w=#fRIS4WsCk&I}EQ4FA1d>+z4O;mrqs z6WJ!|HtnsAt?6I(+r`M&dHREY8ss;x2@D&X*~kc_aLyQZv*DvaCb~CouipP~dj){B zzlRA-cOLf(Rnvn(Ank1UpVRU1q;73lB#;S5EFbTNydtM$V2G5W?uTp}%CCP8@huxk zvf_h!!xVNg56^Ig2H-pZ(Dvg^h4>U?kPRG;zd=sr=H^ry3j9th04E!8Vo9;RWat9_ z3xcC^H2q5q1c{(YIuFK=y6-n8Dgf#x&8%?MRDje5Ku@f!t=;~fwp~L2CXi5{oK%8L zw>Q{K5j%HX$~+&{0lNY)ow``}buY*9>*WZEc7-k@E;8MR&3soxgpW!}N@gtviRf@z zO@I_2CIdbNvRKF|80i!|ZyT5#Us`6RD0}H!t?@l^eRMG~9El`pO4UaW`-KyG{UE2w zKXTKKIHL6Ixhmouy_dpCyGJS_?d9e5!+nAc6$7KmZF@xP@w9C-Vaf(V8XDk4HDV{Y z-wYOqLXZ3i8OIISCfPItGrnLYi2#JB1t%8TsiN0TD@h9Gp3Iw|DD&`5w`brZhS(Uu z(m}S`)ebL~a{H9j)WHdk-bn~A2vX*O;(xcsJ7M()%qHT3{Od>H{m;rq5Ll2YeNW@j z->w%=*E84Q904I<&@ib?G4m=j_%RcJpdjJ-yyx;90ltp;AtM7ngH^xSnI6QT8&}-% zj4mc?-E!>2E;S2_A`)l#7WSY+%QSbTR-P${=ijam#X|JT^A|oMH+Od$CME^nxcqxQ znw1R+n9akX=VoBHTpr%mGliTF7}EsrM*6Fg(6lNn ziS#!9Psshge8D;(2*S5CWHgmOfr}vz+spaBwbjIj(uj5d50e_B%4l)U8_3V`2=Nh7 z;Ux}~4K`t-)2YVGox1D!`?SX6aXG52#FT2^%1*g#4^2yZV6U=R39boV45J5L$c|o` zMvEPdB32t(ZolHh|HJupky_N`XBdf_$+H(#4Rs7mnQ*6RQrzh?@zMQ(hKUn3m!ypu|bo^(oPQB=I$X z)-i!)g$^LaraNkFp8}~4RfELjCZ;Qn*2H&*u3z3vb$QOQ5)*_fH}le^_7e^oi0K+# za(T@{E-m3!gz~FBYl2@;lL{(3;I=l}{)H=AYCEv5HjPrsVMIzPIOz51jmf$uHD*>G zDH8CD`h;ng^XYKDHIyDE1a~Wtghzo1DO{onVTgI)>z0KyVhAQo=0y0S16{HlCUW=~ zAdc=Dc4N*f(P1MA2?=EZA+?vWEHxI${3Q?@o0>vOqi-Hde|M51FpXgQJgUgkk z)Yr7*3Jksr+m^Z_*7KeDSZY0`Nss`!H@F0iP#NVz7EKnk*khWsD<>T1UL{XKF1O(k zEOk*49gnmyCQtp0RGYLxJn_X&BqcO74}+Kb61PT+stVDfG?81r`VS1U7einu?=uYt zo67xfnz+A%=k+00*=c}n0g$s<<&TC4GcdMyB3DiG*@Q%W1pHVM78YeSmX(ezf-{uTES9BGn)5WvjoePF#n@46*BS%1_ut5%3-3Z9V0?pny@$Maae`U#hO!S$=Ib*M>;j$uWCIhG@G#^?btX2)z}I{ZoqZ-BxXk7+w14*CVG*P8gs|=A=I3Gi$lm`bQYywH zAd^6(r>7Ti{RQRR=AVI?ra{e7il|(H^s@;IJrd~N^;pMc7Zw(9K`ug}C%V7LZewz4 zv51BDzlZpN6zz=laDkVtyoZ&5s9?uVR+vFVZFxb-tro`^M+uG0mN#Q?H`n=1u9MmQ z-6^TSS%sfD&Tu>W(;&mafk;GwsbruvG`}(>c94*8LXs=4rh0~|fuB(8*UZ7c_rEg) zS@pgq&H36tj35a72#RtwphCOl`#Q&)#PtWAV&GlJ=Pz~C^UgFvf_-M+6|}X9R0eLm zC~SrpEp~HS7LG?(a1t$*a+!(`OZEA}cxOo;o11wx`8jZ2>?k6I68gG`bE;zGn?7J6 zaqiu1Gc!}M@%M+ol0A%nD)Ob;4QDUzQAa=hIfKhioJ%s^NM}1R>eq2_O*`!2=S_8+ z`R-HM^gwM9dNI;l=|PL5s&C)7O*$|rN?jC6+TU^Qg3ovcjUW=bsB0uyduFqo+vzIH z7RHb;&$CleZv!ozz-bx8!pCQ=hoc_$Jt{14KF6qdJ%54Cp#M)9n&%lY6&4yz%a6nU z_K2U%oMnCKrYeexu&egOgQCWsw>LO3bka}fEXX!C4PSH|6`E&IbMRtfk-);s&dSG* zUZcZuy*~qhvZZNF0fqm&S&Tsxds5_PRBy)MLYOdYWQYL4uAGx0b8m@`7q<*2+OX2W zuAEUgzJBJTzf}~MYFgFsL?wsouR>(*I%h7HwH(GTpDVt!kn<4JRhLGT{~>lT%xJ7B zBOZV@y3WL&w)kpxBJIVy(w;356Y)u7J`wHhv_oGb+)_TbmrJ}_Fl99j`4~eZ(e7tGkxQsjb+b|G8e@q$Q9o7IoX;`TOiMu z)wH)@PANXhQ?1vGO1msvYm$R*f<78fi>c#NVib(- zN-6TPqp*bn;@0Z?pp2+-0voalYAubkKJ+xxe=w6x{>X}G z@#;6|c}Bs^NtN$5SluE!puVo{Lez)9<~k9hS3&He0X6l8*bY8H-rYX}^&Y~>e7Y(5 z`QcuS5i~TpSB(LC>5Iv!yEdB*+qBfs9m03Bcx*K9wQ1nn-_AMdSh4m!956~EVdOLX zSa4n$n%fKTlNkJvm0pLKBbkPwWQ{Jw zzk_@a1yaI&!^<1t>7(7WjJ;y}@iu&JEXz63=>u1K*@XN)GEeiSijvsWb6wJQ>t=R+ z1#_pU;yrjQE$t$;JlT=aQLvBO!ZqVafPK4u{j@6izk8)-^c6-= zLEgrkj0GQezSI9Tnf-2!u~D4ya@44Wlq8jf8%soXoDM5iRz!3(`X#0;#+j928;LR^ zb_3z+qGGi4fRrWI77|iULLV(DI#%px)Cl&c3e7f8y!c0Ymvg_=nuzpft0TSeAvxM8 z84IZ|Zeism$Hc$id~oHB@jSA#$@?JwCJCwmPLE9`vnw^DWQkDpTO7_XSu@C;Wa9LKY%wX%E`c}{8uRD#WML!Zc*~&=4 zGgJrXrBX+9wnVfkIBG?V0T{pZ{IqkP6(NGPwe|i_RFMKsfu(&LGpm>|a~Kadev_p1 zY#D2N^5IAJ#q9rn{aMv8giNzvyyraSX)%Y?v!qp=5hOzC;d12AV^Vs|+^{t&nu~L& zXOIvOWb9cPscpwp2MXT)I3H$KLD0vRki=QL2@ZKfEAA+CNJON^htVHZx|05J{Um1g(8#pz{69@K-W%3(YSi(61-9CGk1)IG_Ih<2?dJT#8PTgF=7~hlS@eX zAtq5pU2xjolY~1$;Ltp`ybs-yy{S3X(2ZNn;Tt1jiGxzXJiQjg{(5Y#ceE3z<> zWl;<47FlcrFjuoJ=w>A25Si0c>btvEmE8qbAujPIBRhCG{NtsH{v$(_kEo`nCe`{L zE}C|$a0ugbm^AXRku-f1aBtyQk=sZthuo7LLp>%b27oLms z#BU^Hy3Kv}oXErLilxpO7!Q+nb6zGN!lHZUt=uP;`o-E zXQHS?f`r4~18%8N=ZrvHGni6Nd?b}MxE>_!-y6wo%aNQ#pgcrGbRvu4hct@T;U^I` zD7F!Fsy#F}%-hN~h^Rd0WfnDl37sHYB8U1zGVq`P6A1}N@?Tc8n+mB{35U^}`C=LD zWb%zQkGwa$eGQV4Suqj=7qiR$FhrM@xyW2tQ8*;R(+z52U(-;@R=zoASo3PX)?_ZZ zArqdoT9NR5Mb~EoY#DXYXrWiju$T0=1t3l`+@Hi7nD;nKv7q`LLAf z+*j;arOE<%=G=~OG<#HOq5(6tt>>1l_1${Lx8)=EcCaSyi>V%;rHVMzuLny zYAp?IGktRD7(rw0$kM!h%75>lv-I?-dB0sGfJ%y4`x{U_Nc#Evb1A2aKW~fc=(cPX zg9^fbjYYuK0%g3YVGEyb6K-y9SE2lU)_@#9C3`T~~>{#-C^`sV%n z*TAF(lnXtL_aWsJU?%j?eT)}P_b}i4-+s735qk#E{;*P7Y%ZR_3r3-6u-GU&&zDtss* z{U4otD^bq15Z`TrN(ZB65nSE7M?CH$Nj>&w{o#!eqy!9jH+&sRB76*i9Z?mt6bc_hI%A@UbDxr@A+c?!2_n`KhOi_43 zY?*<~hvsBZa&AVPI7?xg+XUuRROC$BfYffDr;30$$JyHATOB*;f1e=@>e&<_aQ3^wm5nTON@f(HcDH~ALxZ0+8@exw^x&uHs;SQw3(k!8T$~3~l{zCt+xQ)uS0JkjcZX(ms`UxWC%X~zV6mzBcA3Z^M#(0XlrY`2CblrGLFD# z;E^L}ybPFBuX`@hKrv{jO1paFR>;!Q5*H88ydh68&hMmQ6ftrTQW`ocF9SD60g458 z-vkpd#;YULjJPK!pB-{!R8-JGr1^*hy`@M6zn4Q#Y*Yk}gYBqMltKbl*!3VX%E zMmbUiw>RKtv*azM=~;3blgmG~PL7YhPP53m7`Vf7T52cpak8+0$(@q1v7v_=O(5HT zCH??i_zwWMT%nzE=$+egPfnbi_}BHP_49)Nwgm(GjvZr^Uu44GuE55u@%_08KD&|6 z$T>&%4YsDHCgiO`$|eMZee-b5o3nKa)MY*x$KMW{-+qfe&c~F%jF;hf(5DICy6;A3 z-}yTf_o-K48h!|e{#h+l@5c~HoaG|l+^LYa3_Ad#cEv-AR2%IMaA*y=>i-M2DHInz^-9yRQ#C>_>$Om z2Z7V@hNdwIF|iM%XD1%~tRFlxIjPl82uWp-eqGPRsb+iEUJ=Ph(~06ZQcKZZn!KA$ z@r^j`c)Q?}X&=SQq7p05Xj5hK2YqPU4Mf@M>gthnh=f~6@v#sH>%p&YG|;+p{WT@H z#l`at`O_@gjzoF`!=`b9JdNv%*eHx~dKiSq{=XK0Ep)g=U*vWTQ*>}V+hs6qwRL!0Rmz32eI$LLk_Q{(CM`pYfUS%au=41S1yc3(3%ggsQ=SumiOY0yf+Kttj z&Du6!zmp7$PaQ2$eib4w%2_tVsobbYtfyzO`@Kjd;J4HjVXAO$ZRQYf>L^RIA`RPk zB{&7sVguEQbMHTIP-UAY6q(73%)ZWJUT!YcE>4?IHsRxC^Ced?)hSZz>RomdA>W7G z7uf{Tc7dTf^OVEpi(oOGiT-U9W@IuE&l!oH8&~1Z&T_rgyulV0WI-X!Ut@26r7=*J zu6z9%k%&{0v1gpwx&7x%>isXUoq;H#AE*sQ!Cq&ZZfk4nu^D(@Hkl0#69NSh=}3u? zR{%3iNQ3!gv$wGDX@>zU?B({ApPV!lK>15jQWCTeMQijLLIH--{dQ5e>D@X%U_yg| z3zqkrfv-Wh4cauh0k?}Qi1-m=jSV(HR}dr(z)BIH!z3;ZyKQ|65_Wqtg)@!T6NKdC zdsWr77T}eiK(SX=N4Wf7Tw^(IEt|`Z1WH+oOs9nSuh_8n6Km17YPLz@m?pE9d&` zB+G(s{j1#9E(m5o`}ia1?`e%;TLM^U0hKcl5<6j-qynxVKoBppJcNbB`q07&84LI%hS5zjv$qoKbNeU zzM)hwse!Xd4tFqVg`1lSo1PHa94+Dv{pK{oF-o#plG%GfH6KKmEWqD-j7+XEQGW!9{dREJEw! zJ6K$HqtVbUUe02l@+Uj{Y%9UjquNg(Jq2U8c^GLoCf_mjc>5DgMf&FrBgdv1FAsDx zuOg2XR~8Sc@LylTZ~u5X&nG>+PffK~e7wIyja>0xm>8jZ9Kxobc}FsGC5F(CjPTK? zdqdy4qqgvp`*NJ2aOdH28^8!~A_w1s1C!%&tu@faKCKr1BNBdpW(7PHARaQW%z#xZ zsO3IGV&u5C6TNUo7OXq#Z7%=0^0;3xMU^ z23TA`G;B}{%gfiQFE^?`yw~3`w?a-+MmI2eEB1Opg6~=$59GQ^x;<|nD?g9zA54Ei zb-dPJ)tMT)^d2BeZ|2obPPU=>eY)SGyIF2E<;BVtq3%LTg5~Frz*JXbY3_!0DMy+( zSz7b;gJ<>lMFZ@~N?=}!wWD1%%Mf*+xL@8+{{;2UJqO~eJ{;^)MGE1~9}4@3HF|9k z7Y*KVjSB7}sh*uUymc#MjelU`k`fE1|9N)O#b&UVF|wf1h)l1qdvn^e*#5L;D)cWESt&k+iw6ls~66*gwCUcEX5 z`!JAhGbQE4vokV6rPQ(kZx5B^srLD`$%d)n%48Vw~iM0VN z;Fmsmps@?8<*S9b<jH&G2eJW^|HIJ*^vUY=XGXT6@B5lb$3vn< zeZ|u8b|uCqBm^}b0Zdcr|B`e+h%QYhyiWN3^$+qM!7IXJ(aC~mq}KCu^TU>9bF}-W z?Jp`_K^%T2@GJz&TjwkNMP>*S85|ZNufu2SFnGedUbn|A46 z^vkO|_WHH4vAXh>o~+qB<1i!b1%6&0e(r(fWGL4|X0!7*uQlq2MTzi{C1Ju0a)K-Zbn5fX z{c7xqgP-?w<|lmJU#2dabRR* z1o#r#76xX3-gSAxwMXG!(%^^4;3#uK(0c{f13hXDf)ucvbtMK|_~Mlg74Q^}L_DS~ zaafEO8#HH8)GbeCy;d;)2}8_sB?mWxl%)?IB(B~dtckUw*=_YLjTE^d!sGK{(cQsw zGz)pvS3D}b_%tVlr7wCIe$Mcjrf%@cc<=((-|RoLR5aJ7mwjo8vP;ThiVhEmL(4O> z^Zd|{B(8t0U~gah)=!r3{(-ZCgjKZS1FB_c!kx*FROj*mH9aF`FJ(3qLxL3Rk5R5_ z0yE!SUBpXZ84ixlz{my@Yjt@eW#PzDnHIjlrLr=&2)~MyP^E)YQ6Dr7jb)ex0u0i$ zhywEI4e5#5(5X#80Jh*RTz$JqQxG&mG(MJ4nA+Of5NOdxz2lp zaEVJ{tk+8J#{AAEhM}0>)e6SfGDKS2RDs4JM@}YypAO`q6eh+}ieB`WLy!6J%U=1t z|JHkV!SF^ppa*lX=0N)Z*S*h`l~m&5;&c%+I)z|ww$3yjSy>@W6#K&n1@`|P z;0#a0#)c+0U7*OM-y0+fmPxR!($b9?8X7{hk`Pzz%1Wfn329l`NaUl>AT2oO@fd(x zi$Wkg6dbtAEU@ghLGTq`z+8g#D@l)JLnGyhMmi}3VM6kIbAh*% zl;l*n+-|$pmWTJnhF^vxHE+Dhe=X05OSa9>{)D;IdrD~y=CAM*bPot^6@O&aZJmVO zI=S_n6?Ib6*N@o#9G|yEoYBly#_tbP&ECfwEoFIdh+fmtXQ4bQk*3Fs&UnoOqG+SR zfH#7Hrg_Qca=zCfVZwg*l!iR$@(-qWY(y=Rr?MF#eS#88@Z%_2SF=Z&sI2g~TvJ}# z`d7?QaDoAQV*KlkG2nW((rk|d1b1L#d-sk_Rpb&5w0R*8dB6*;@OR6y$u>ZH69G+) z6g8Kk({vU!?9;!^7g2ytA^{WEV2Qwr9ex02TrZ&y%7Xy45+)N6Al18KMs@Ou2=wQL-4?!UQRSy4a@Y}|Gp200-G>|i-0*6E;V>w9Ck_*L*iubAHr)N8fzQ_ERg#>@3SM)2r z*K9J8qtS+qu7@RYXo=jr**gbjY_UthS&cg4(OHTAgzu=!q6PoCrf8%@$zCAvIS_Dc zxlhUT$uTVN_Wf?$zD4B;D2|=ZVbW?#Lv1{FooZ3%-!$MeQUyI4$pOOKjX#Y=2x58la+(MJFxYm*Ze-iEZ~Y zA=}l4*NYSqXgr4sC(*r3HWW+Xz_fAy6l?sqgD4x-P1_#&r|hN~GbVlNP7fl6+t=>g ziA<-Rj4JuAGpYpi8!ke2+rg=}?|T?rg06A@UZMX+A7Z!1Vuh2_oQ_koiD1sM;jVD+ zpdrg0c6To~0?Bx~d{=O&EALxcUg;svl;q^{GgOdriKaR)uYx>5_xTpnvVf6oksVdj z{a03E7)XliFH8;pH0bl4=;W)d{Azmnis8bUFjzaYy53f9FY@r~BP6UqaV`wA#-N3H zx8e^(jaFVx-(|u9O0Q5Ne@~j2cpSii2(tBQXlcQ{(bmQ@Y;)cPkqQchK>lav=m`5O zhNbow$X($_Jdaw!9#RW<#)whU}l_ZM|dcfq4G z2oa?%vtB|9wlT3FjbwGW~g?v zE3~sGBt?Y5e1>ydlRTi)w1ndTfktKXx3Q8QjnV^M1XjO1qH3Qqt5BlnJ>_VkC-=@B z_n#j;sJwh?S@zZro*#;StCw#HV+LX542Kf^A5(7uRrS`jZzCWfNO#AkyFz=6#cy-&IVx{GceX z7W|BdwBl`K4iSmMMn6BW&NVM>&9Q$Ucs7l#+7gR<-ddJp{Fyk*3^@l1RwID8s+eU5|Fkp7zb{YIDO-t^8lTdmvd=PpUKQ zrap84+ihacHBk_QD(CLi^mp~hu@9WT#KSnqJGbG70$g# zuH$%J)0iclPapg(fs`c>y!dVU)b>>B|F@`>c4E4EF1y~ zI9n;+O$umwy73uGV_AJ|M+jH&n|B>A&859t%YQG-P+h$@vZ{(jl7Xe%ihMRw7&{k` z{gDd0jI0wbqqxA9L~fx!&+y}nScA9<=iGeaQcRD@?k+Ww_0Q?&xD3Khi3a>6MCNN( z@fJO}D)O@?we8uD1w5@`iLF-N7)Kim%3|j6y#5#HZWlW}(|UhV@8lMrt`xZCtBP^c zN%Ce9+KQ>eobxvwyfC2J%ba}U%gacKM@6=?V}@-uKgsz0wlKp%+-$hqq}6DHUy(^T z{hK1M(^ueXR3xP-DKXI$K{SXiwW?TfOwJFQ{OdB0v3qeP#KDMs9=Kt861bTIy3ft( zyt=!@jS7E{xF^0i_pE)wnfo%7O6a}F#qymqdIV+?uvRJg<^S{mYmbF9@VnWDS2=WTKmRgrm(_Zu%mtsfvz2Si%W|owS{2(E zj8DhRXrZ!?2>GrsP=LsAxA5(%zdZ4OfCwnHnDtsUY&Z%obb9~OyWnNUi$DvCib8jG zaRF{@E`K&k-}~$(zCFF^_KxBD2;WXinz!e&jHCYSZpeGs@f>0W?NUOfxU6Lisg_FhU|FJpKjbKZGw z-|PR!bRtax;I5i0b%pTUh3EQ0d?m~@Bh6(66G&LR`Kt?~iedSCmtb3>kv(m>2uuo< z*|fAY6FUIlNwDA%aO=55>atL61>WM zf*xU!j138VxGlZbDoPKhN@0>sMockkp{>d27C#nzq-fCSC^Oj(o_y?I>{JrX3}`MN za2r%zq?}!THml6elV~JA>lzF<%gb35k`>799QX{0Ay9#dYpTA>mj0k};>R*4SK?g8 zqz0>6#x!aGzpn_-9Re=X;5WzAv``rvc-xF|vixFO8#@B8woVl>z~j~1%~_&Qe=jMq zQSMi0ssL1netmYynALYzw6@Q|@oD(KbTW@{?C*?Me+X6QII^!Mxp664uSR`o<;wp&by_vff*b9wye-|AN$!p z=Ry}`?@;A8)kZ2tOP6xdME#wHhoTwC&$=l3557 zEnn%C=sG6EtbClEJIVX%&NW8xCNZ7=j+@8K597lfU+?`J_V*)yu6vso7FVUme=t^k zv>eR8xjg(ex`AsBDU@gy()GFdV#AC@wsJv_e0QJ3*I4(hmF(%%>8hji%UPVpP<&#}&6q zD4ChDaazZ%v$NV|zG65QjxE$;qg*!WPa!rca$JDM?U3>tgU*0*R`QQOr1bQ#(?2$A zbskIeE)4Aw@iCRNNQa7ah}xJAF3l+)KEAAX;*#A=B>P)fw-I_!=A-oe~K8PfZ@t`FL`^KYw>JtagIoPIMY6K zs&<-`#p28ddQj6DlX+9w=|hcdw9>!-PCUTf2YDq?SZ8~1!Dy{7@0q{d&_%*<+WLC6 zfQQRR@j4G+XpeaoA8Q!9yF774{^jhJ!SnCL!>`9ZaZ?>>)VjRR`}?|&7qbYhJ_UY! z??)3d6$hj)KOJp{Fyzwd*To#(B(t(Rj~@m<_Iod!&%6(=3M`xV@88H1|II^b97!I> zMfvgRRw(CYPOMV(l~&D(#cy-}zAy7^5S85HVIMLTg<_DqIz`aM2868-)8tPO+G z>bofPW7F|Y+w$>xM)J!Aoo02$NmRg8!L;@;drhzacV2zq!flg^6{yY#TtQ(@?*}#A zMzSOSEzoA{U}UIpqgCks&<$^P;Rt9+%*c3gAJpkl5O`j$1fkmvr}B#*{9P<;pMx9a zEtS;7uk|h?Qh;Db=F=;Vhg-y|gPJ^Umh3uQ^1~By>){+));mYs4D5BAJENGtFZ2I2 z*Ok`c7|;8`b0NF^<LBLdB3Qlw|XY7gqV+;Q+uTUYAa_ZIdUIf zYNfyYF%ju#XY%%SMkF1nn3Ra!sh!&Ww{?AC{HlX%<$nE{8P}`FZvUO(J4~Lly2d0M zlcD~oDCIcA=8ShA4F+bPZckc7pA~!kn-;Y#sj7Mg6djf^$qFi+s5Ml~l)}GPwK$V$ z&jHS-EXMw=*!!C9WH(CeL;u@$^fAHL%!sf2JF3 z?Mg9rWM*186|%cSL4!ZMEeWEJ7Nih@9ZBo@dgjlYSu9k_FP}~X3uOrMru`)jc3=QjyaEyK z%Sd)jTVKFSs*Npsuqttq$(rCqW(v;OmnwEG8Vd2eA}!J37UP#1(U7rJ7W&39b>7HDILEqn!aToTF*{kD*8VQnel zk+fQe<<^+IrIL%X5-;uMAhcTj_NL_H1CMtoT{6Dx^_SR&=7P+!GF*{|%Y)#Z#=890 zG#S>IZ-rVq^D>@I7XNB;x9f5r1FL(Pcvk|$RBGS*i_1o`7eGWuc6Hq2qyvykn zuZpW7@Ka9({ft+~D;27RumB4WM(%|vWAJeD_YSBNwtqS)swl}-j7_bZb~+4k`$1Ur z;D5C$(otQ$`s9DqIpve!;>?ZdkU+1J!S66Dg{&07{Y_c6G#@_jg#ltGclZk**_PA9 zjfmf!jAHW@H2tzx&z?U^S9&L0)%L6UAHAnEfKqy8e9`G|-VQ&bfbZ(TwR>2_4AM|E+aeZz-HX(zklCnmnW(nG8fuhFntY?caPPyG<6iAEoaJ=W+@3(ijM7fcmpeVd#JNHHBa`}_M$EERU%)e7?Ky~B(8#|O-X z`IX6xzwZ=d@7ce6nxxfVpb}c>KTs1J@@ou4BghSPgFMN=eKh6}!dJ=iU2Rq7nB84i zliiDwHF(%|iC=22wUQ^@(-oksTbXI(sFV96uaEzNiB4SaAu&zJNYDhDPD{O90mC;Y@#X))0183tf85+=_ zrL99g+Z7=%itI+Nmjb#&4wswN?&IKri3%3kP)Qe}euBks1aG}oQ?iDV+{xciCL{z= zd;RT#wPpF?0Cx0(Ouvs|G7D2}Dplj@{E4!2!et(DDlD0(0Q{q|h4B8y7GHHu%YjSE z5zN+Wp!-eC^ZfY-R(jk!cL(dKt`!;Qh;*L6yaZ}WxTt>{T$Vq;i*d-YMpur=JUqDm z^>nh-{PquN8a+F#o6uNLc6@#?V`vL{+(kR#UcD z0w4Q%ytzxVv{l20rGAwpkX_Cm%zfv@KM8o_-jw>?Hxc^i9!8buo zD@45eFJAp+0u%WsJ@Sjl!_w6^{3m&E|L8D^NS4Hb#p{4%ap6VBG-A>p*dIb7>X zC^7azo()bEY^_6YkTpNg;^F*+jQY0`Hx@m=__s_T!T=4E67#5rW)LDgHBvuUU@z7l z4O;J`QQ6}uYJWgZp*sPgF;a*<%KxRlHHgpu`?%>137Clv#2W9{A?uxL^Rw) za&)pE6!}WBL^699s5+q#s4Eg5KHd6QoaRe-U^TZGHDM+vX*ss^GHq->U1LwG9vVgZ zwx`K(c|qJy#DUz%`Nd9xYVfohi(4W?o#&jsR2~Yk3TqT07yx}6obK)5mB+po-=t3r z*Hvyg#6>}b4=@==U8g=vu==;(ELgh|G69KKr3+`6A-X($98=3v5H3rKfFfqIRh%8K zg|3)MjTMFs;xY!Em};66Wejw&RqUyw&y-90t0B`X(iZHcO%Pb{n#D5`ub50NHSet+ z_t~Y46edD&Y?Z~t>ocS@mE%zBcCy9mC1(_hXQ)WORr}{Y*r7}FEYzK=2sgFXjvzrj zqCE6BI|Gce+*xdhf7c0Su=QV6*&bpD?A(jcbauMhFTb8=Pj6wSmi4Xl{-<{6Dny+~ zlcA9R9_jsCR=VL2k}3n!c+UsLViNmAEAQ6H^?gY8bdw70$bQqyo0OXV>&_BIP+_3I%Bca8XsSzxWZN`Q@ywN4fIR8PdgR% zOS5Xc*u#c=i9>DNg%*@|9n4y4_W3=x4-GRT^<=soF}u% zByi>HKSL}2v5rSjix}wtn9hBO@zLV-=-J4bfjew^qdYb~=ftTuiwg@5$Lws3FQPW? zv7--pq0n!pmO_mm8yEG`nBlcWf(G}90uE8Ak}!`wHV;mpgj536hk;OJ#PidyNI27Z z_i{)=d)hBTH)$0u61Zl*5any)Vry@i=5`|0^GA5-iLgsmJR6 z@{cMpanag8KF~IZXgBTfgUAitR_@vJbGtjm17Swha~BMfU?)7~otYW}4NWT3CIQYh z?i~0pA&!2}FQy(uTwD<{E5fo21XNtqhLYX}i~7EJyDAcslvl8alT&YY{z56u?VM@h zbvaX(K}>}OjbRtj@i_^-T4iutw$^Ki!Q$Gu)PrJf0o6v&_K4+q)S@mLvbyt&bX{Zl z^kIxL169L&%X8)mE+*;uxhxL?W0#cLwbZXI)VHTUlp}5xNEyn5vxYDT7RFOMP#4S9Xx&nPC@&oI+^W;({ z@pxiJ}Xqjn_n@{^x1pEfqW zorlX8CchQ8yyjr}JNrl7e;1n1T#QFfLY4SdQ)Ts3W4n-8o5D!0BD0O@c-pi+d6bDk z(^Da?q%t&d)J}#0i>%q_%|Lc}Ib#I(C6|s)x}XycMeG+)!YMeo#XiYZrbp=c)#?J{ zGJp^Z$iH(5RlEXLnLRyliS#PBKgLQ9gh2rk*0<2n(a}xpf3n&sn5_zs@qr0OEEGg3 zIJ8Gw$&aNFv!H>Oq1Mq)bpgOKx-ikHF6)RByDPQU1eBy#e?r9l)1>#Ll~4KVZ8nVl7rL?O0Xppo9jem%448E@$S12r#YB z_eBic)I}Ty;w%3p{D$2O<$gh;e~j7lgA8&+zT*(FbuH-gUs_tK-$++R($Rrha4%ld zc7^(iQEHW_(us@b_Vr1*A1+98r;{a4wdG-U3|r9~>*xUf@3E|llY912Ly%zmcz5?} zNs0Wg@&8?n#3|P&qr~uEzYH|Xl5Efe)&&PS(Sh0mf96q3^_TK;@UUhV7Q&zwW+o=E z?svfNx$KOC(hHCI5W3y__pthKTQ#^sfX-;YeVeFEzX*)F>vYi-69D1B7$L=-KER0% zy1}g)(q(AQ!spqtRdHX0FtW23my~=_fJlLACH-tKb?}^>Y>K7($!heRT~S*biOTHm z@v+sf7AL)UA)Gh*`ry$611XTK2h>gP=GnS)tH)kZDrl@<{N`p@(%6Wvn2^S43QsT= z$Myy2oPk}AATk8JT#fvz8q{^ra13hSWi>UR(Vxtz3kZ~0a4ULx3bCi6fiK$M&o3;5 zEUN)_84Sy$S%6)1eUqSDR#rC4YrhN_!s4PMl~q*qe`s#-ys)B)N67%kszCsU*kptj z+X5$Xz@qK$?d6r1M?6O(I0Z5gdF9OI<@Ig{Z%9Z<_jY$B=KmHP<3C#GqjF2nu--{}b4i@beSn=s1Pf(b38JwCV{X zRADTjH9*u2ypI|I{|v4%l7Q`Z-7v-Gr|vs)aUg67&Lj{VRM-Up68EZGDDw{ZH^;Oe zx1l9M2ezPzz{%@RVWR42PWPW2ZIB7y_BcD&VpP5+9qW1Y*D}T1AVDyDzgejngH&}JX-$m z6*05002wDWchqlC3z|geDUiqeK0p6u>d$5r&t%WGGf>P}==K*+fWUZ~wUd&X8qCZI z_i^-4+y7~!guWz|3rS5)y#UW%Q&%_bWrHqjrCtM4=EM-dWnq(Oqb~$jB)JEbNYGMI z4}?L1oJ1do-x->b*B%`V(q?Zz!G&&HDtJmsG2QYIn7$*r1k=Nga zfy`Mp>Bo+E7(Z^{u@M4Wd|<2EV*26Q<5e?E-q!wC3wG>qKMcTxNxlHCPPfB@ivzr( zH*n%l_ZQ0P+|Ns96@mOjx-$GJtiuBK3yfb4Ev^0td=}1hW&6eY5LmVTt&wMl?QC(K z{UUdD%kLLfQ#mTWzMUQ@u#gk0$6VW&(vaIXI37FH^?QAzDd%B1R6-z%`mLJT z!M-@(>E(?Nc#G&JsEET%w0H7`?DJ=LG<@lxH3`f__KwrOLskdoU8V9eLxTO z&tXR(!$J|e=_sf`pIE3_cGyVE@(w5(hUYUb99@|k?WBUIO*=SY!3}yp{-g6yap~az zt{?!r5sL#MxBVZL*rkJ!gf2h|c4mHl7*v7BfT4v7U<841Gz@Ttaouo0JMqiBk#{s0 zH5Y>%e%PNCAc0VeKD)->7dOCB7?Y#>o*VQiz$opm)8}x&4Snhi5Q*V1(MK?2l<8+n zuU-K}>>{_Us%je)GU3)i@nbWD(1?nH(%Ja>_Mpa`KeH7O(;7PX-D^`|W7*r^|Go6S zW*f8-0OThG6u(nAjC1h&X^(^whUrob`l5(=>K&dr0?pila%MHL8_1q336XwZr~8pU z_2=hc)kj%3r;37$T#RB>gggzQofSl~g=7rjLKR)7>${(5!+9ckFdGPH<3~T64O;S{ z4D$e{D~;b0Ui8)cG{p!?Zr9WLS5J$NzkuY8jI?wRRxf<7Qz+{gBvBE_wXD?wpX<$k z**vT^uY`ql!S2AH$@U)WHCRqm84@7mbx}9!2+EXKIV6iGUX|0l(Z)}=^RDjhF)u!~ zuNe40{N38xiYi|lp;*Hv!x%1|gY6rx!rAzDZz__(nhmI7z;MFGsB*S2e(KmD(Dr_I zeKX}h34}9wD11&OVG5WqfCS9th9fYF#a-QcU@}8so=g&3XGscY%V{Ka3%#Pi_!8^* z$#r-2!h$;-*mBWe0~wfYXD86k0ydYCv9W@trWAoy58At9Au!})N5Fuh1j?SgB(fTK zH1P^Qn=fF1`_6beEd?0M5~qsK9cHDX!9X#&>6?{9^1c&5>RTQO1`Q&lc>oQbbRnb_;9d1hyfv-+3Ha8va4mS(Y9HDsnS zQ?e+SNsE-xDIL|VxxUy_z>-I`sB2tFpND!7d0~zGtKX<{v5taZ6-HYhlI11~lcSRB z@#=Wn#GTVTKbQF^q6k5D&cpIzeMKxP&mRpfi{Uu75k-!JHv+R1pVM73M=l!+cD567 z&w}s@d}hMO?JH^ImFjCOajSfp==ri0+{z*cBwj5q!~d8{8%90$dckZrEvhBtkU(BB zII#NQXQ3iL{+8l3x^Of5AGMENYH^zEx3~Dp98M8dVC$h|Nr2=rz5q=Y{Tq&s$E|;W zM>I4EcGNAK_3t@{2m)Yh4JF@TLB{wSz{7XtR;1KQza%XFAX z8qoCvX~k>M&o=@CSSxKXLZk{19U1XPU(7_Zw}rt3wxdY}oMD|^pfUdXXLA>jbWa4| z1t#kG3NS7*oCga1AhH0I;adZz=dfNSAlzC6nCIi;4=`+pUM*)FwjB>elX_lE2mlrh zIthmy)O*OiDJ^u;adABz>o@RwFcS85b=%$9jA{hlO~S4X7EQyXp1@7q-rWIVTv&Gi zoX<9k@rL-*g}7dmJuz64jrdn|S>+h<;MX(P?&)FS2-tCpi;F``a=aqe?so(XoS}3u zoS)UGBhB+-2PlH;0cI^$^oj^9n!n|6!0BKr369^D^~Q}=*o6SvL~u3eQku(8IJ^p4 zek;AlBf3~v8&7RVgu?&e?m*Q=pQAY zu#Q$InmX@1{3omow49j|@ZVJH_EUvK;VkOlbU@^Ae$0^}BNbgP1)dGxKIgpc@K=z2*+NFN9on zPC@&IGuZBCfBlN;-&prvyED4F1v+goY0$Q|HrS=rZ&+u$5%_gee%5QSIs@D1*=+7( z5h{9);$2*L;J}x@1VQ|7r2mFV1{^k9Z`$G}kS%`u zmeBa|JXOAN9t7Qf!K73G`2%DpC-ds3t_$+6i|muA2!Rj3S}L)t`-LuV`-ufUkagd! zoQPfCf3uy1Nmqm4fo;TDW?{oE4RnTTG;afaIg3;eG}uXshxN0h)VwC*UE5-3Yx++| zBOg)MiS5iv{q9+H^RY=et zi#ju{nZwlu^#qQ_mbjz=0BncT`o9BlM^%Bz( zPquoBw}T6q{q``X2UosDjed$ynB5A zWCT0wfGw_pAPW|kQC%yenJ6ZNc`Yv-RF&B6YePPwv*8vv$fI@nag_66#zG@&nsejC zM;=$bnCX9TF)>70722+?Mr0@^On*TvGPNnxax!yDcfzf(u~&-YuN17L*E|!{&`Jnv zj{fw5*nFrBI<1-A0>pcwm?}ymDKwPYyIwKO{bUV24h=`S~%>>3M6~CA&WV2Men5Gl33%lt&C2 zUx!MghMb?B-dt7hi>W{HZ$_?!(G#E``f~sc)WTU?ZJj|2Zr^;Q@|ciQ75YT^mirrd z&@-pk-SmV4g4@Lh;0*ywE<8h5s8=p*PSycF%$+^d1CwqnoDkqiqM=OxJAj?P@{ok? zYf-O*0udGTvhgI}IDwN>xAU8~%^MHM{^?phEAG)+|Ndj=q9X(~kh(`A0Usg?T}}CW z$S09t0Ra(GZhm+c3;slNgoV0b~4!pO)dp^>y{#_uuE z>}+gI8A-@NAYKT&A4GEvILyv(v0eWZh3(aTd>30Q7#i=o{}NMp$h{DMjbvesAkNwy zM5s9OrO-*8ag5UIAjajGqZ^1``_`{#TefqBJIV9!L?>X-)CaCpw zsRS_)mvw!sVY@vn0(gA%1Ihtu1iiFVAXyMTe_#pD-BFa{My{OyJ=vjhxJMZzlqacH z6bzCwV!dJ;BJNh9$wRm~PTmbHGR}0~8V-W}a}ktN)7EfV z6>-2BFw5_D@9EUf@V^g)<$;DuugRS#&lk*N&(6mLp2m{9 z^1&Kh2dhDg`u+b#J<2myEFUjjRsx`T2^we#qN%aShJlCC@)12nEG){09V|e`P~y}S zRO~9>RM?;dtQ$)p!q&(CMhGj`Jw8N{q(RR0|9%4ggVh7y%Z1w=E)!_N$w(qiC8!Ei za)Ho*pI;Zq@BQ~8avh$rDoTsFL~k~_y+j!N4Vf>-jiJA3iTXkk8q6~skfNBV^t35w zfo@^o$(|6;N$k*4n-C>B93sS{AehIK64h9&$prFQ0QWW{{wBdGr&uz3xYURys{vAF z^7DT+{^;lwH8+16*AE2a{=a)T9cJ-(COyx!=*-B$F^KYMc2A8;ai;e|k4|Xo(?9h* zR>c_`0nj3jci{NfQ>KL%a*TodOTO^m+Zhp}PmF9Tb4-~cv9kwwtDXnGNcris7yaua zTSfi*DAGD)I`w&+hSE-WJl2l}Go5Vq3)8BaiE&?iaVV9oN~1Aqrov9l3}E356ClH@uwzz?}!seHlZr4hs;W zh-h>4_i&=47jB64r@6nQ!Md-2$+UtXDSYi@c=If({!-*zWdGoRHd!fr2*eKH#!nZq zdwyp5M7%IaLr;$LhjV60^B^dERWbW+~`LJgZ6lhT)!ytY*rTTrWpYGC;{yE9~MJ+9T1s!ThynQ)&hW z5$RqgF*j#9A-=a^c5h(MH82ln_oVov36=`?CKGGkw}l`@WmZ(gToTas3o@$J2NvAK zV4{^S8kt`g%<0mTDb|`Bi{A+&k65@4{ceMxhTn@IzvQD+&QOO4=lpL)dJ9K7k|JW2 z?e;8s&}yb!)$D6@3W6{lellK*^fydM`0wJT;*9$aGH%g#H?!@_X}nJ&J38-n&ls3o z7g27!G^#we^k(gSo>bh2MU->-BF|)nbmut7*8E~U_Uy&{kClLdV(pfi8)v^?nPPgk0>uI|IlTR@

uo6Ic{yr7@>TGte4P?CHV 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 S&QMbUKSSMHI+a>3&;A9>sC8)o literal 163354 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�kuPE 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 diff --git a/docs/static/single-pc-emane.png b/docs/static/single-pc-emane.png index 579255b8189886989c17f666e3a641f7385b4bab..8c58d825ecd27d05c8e252d1263640d15daa2f2e 100644 GIT binary patch literal 107301 zcmYJa15}>x|2W>l!osrKvTZNBmaXMwTdU=k{bVj{*=}j|R8O{T2^ij1_l3KSGf7ZeoqKZN(d7ejaadf>nJ-{hpkpcAEXK|y_nk`WhC^H?}qcK5+@ zeHlE5jE>tVF$aG{XeXEW(vp)$Mi&OBTwYQvylvxtklCJ@)t;g%QuDb4Axu^stKfD; zSNd}S^`g7m&h20b2!XB}r)}c$d~Ln=$j zsLW?c8TH^&2V`(P&5cCO*AfJA#6hSLaRk!fyIxwl79?5{;sB1AkfI-pcI0Da2|JTA zmj?yZd!`<)0;m~@X&*%q&UJk#A=^-Gooqd`Jy84+y*3NG)I>0$C`+i(URJcG6bmx$ z^hRksu1T=VJAZNtH3_dT}D4Ul3sPa3b+~)R}00;c>`sE+?8gf#f$MiWZcBRv_z zyn6ozG4@>#4mHPEfyu9oBiN)P*!y@~0A6R=KQy=`)>#}_tv}CDZiFtw3VBkP%+XUI zl`o$o6AeO-FDWThNkM_?2a{d! zD-!l*7|_*=q&@(XuH;ZvW4G*{uK4}x=!*QL87tAm1ua{VI)Ko4G+x5`dj!$VEBFH{ zwLr_HX(S4mg+>6s!-VOeQttBP^$bQ^d`aKC{@vN4Ld7r@lY8TYCMJhb_X&ck=253)mFg}f$`gn`-iS%ICerjuvBX6NP z*{+LxZ|<;r)tjI)-mk$V8L#L#1pEyfxTh`x{|RI&WCYN7QslzM_o>f|`ucBTrk&j? zc|BPa9pKfwyGDer5AJF#epZOfy5_6}6$!ARR|0SJb~aWUvzk~3@0VTR&$6b07m8$a z0a9b3o~)nQ$j#4RHbilbuh?sq#JqMF3WI;X(K?szt32S-7=vTQRe6y4bI~s0|DdGM zTuOPamqEK|LZ`SYFwg(HjbnP{mn2W5o5jY*ka4HIBAJ{I2(6HT2H3)ym~%gnwnsN}r7=CYT*;I=O;lsVP=^9xjG8zmFzzPFsLF^J%!;d;Y z-S@n*Oc?u`cEbROi3p--x3PA_G%s*FBXpxFUhoC@C=Dev6s9e}ZjDyqbjX^QASJ5= zU~q?tx3nO0+HmdpeTSq}H01vdh1$e9>Rp%Fh`?+wshzKTQ;K3oV|ec9I(83dgFvj1 z|3F8&tJT`rhtaoEj`;qEqOfkzmq58zirCY}^Zo@4+K&KRUt8ZbmC*Gpezv^(K&l)guAkX1dyP((y{{kHZb2j2x9FSn*Jcicgb)c)f@X3lS4c*ifK6$#otXVvEIbCVrvDn_;_PHG6zS;+e*4K0VCL(+S40s7vob?X_6SkiF4>2jCW06p8HX~8WARW#%O<%0bH0kC%#oh`(>y% zggACENvm5V^g$W-YHuZXHa)Ieh;6&yB?NNHeU3nh4cI8>idoEH-;0jXl)3H^lMfewW>DsY#6F z@uc;%Y3;{{w_mL`57xjh0f$wcS+^qyWMY3mi4@k z{~!}`MU_=`q%-O^ObeK6<7^H@o6J=kM-gyF z+esYXr^7%XBD>CKw=C}yUML(!oj%GGJyCOWDq33FwwncOaWeGUx;jT5B7l99IU+Di zC%uqI`Up`TqN3W`+8sj)iGI>SgL+GJLGK&Wi7Y`5%YOlFZ314mCu0%V^iUqxGn&n( z9gmjNCFt1L*ipp%IHA2F?OxaaTr;DhkPjeLF_j}xn4||0u%SKo`iGap7ot5OlyGk% zZYtJVweQx@t!a&LjFj`Rlx7M?#ec=lV@enD<NU zz?=@R0do?~7V=HybERX{sgI4o&ifUfezq4S>a}}-Y?DFvKRVpz&MM8c<@NPPyMA3$ zJ|Q_0&DU9=Nk~X6d7rj(SWN{}DWspB^`fb2Xh;G=6$?SmH5*AbwXnFHl4G8c&-^8s zFP^XLBeWXxa$>|X)D;MG|8zNF{nCE75$Vxxz%W8a5M66Bh&s-@3lcMM?}o#zwq4{x z?ll7J!DhbpXO^J%#eQ-2#apHn9mK;|kXRgF=e?PxD+RY{7 z$UClMG!=rd$*LNCS*ftiFspPPBGi+nO;iHT@2~;OcGT?b3DeVRM{fM=7UQN<1u{$S ztG@Ceo;X_7qF4|JxsUtL18azJY*La0q*CA7FF7?etjLNJoP#aV%`w(%u`krEFuj=DqQV0s+x5h6JpgFxo3W$`dUHh+a+@E{R$Lv;Cve#=KsjuLQ(sK0D%JQsd)c+@Q+Ztla`5?iaddU(f&+K#DW4Skf6ZmWRz6MvmTwOLA05@(pkf6fqo%kef4h|)zH&8?3TG9m<{_c`DD3td#7{>xhPB&(e+b&-UbC zy$#-`1wZE43Wg@W0?q^|xB8YcaI#ztX`HyV^34%ghiV?84O7ib1Gp_ob|V)q<3CJR^qfC%T89B^zZ z3AB~*=tjVCgW6C`H~6MSl;n?wh;J;hoRM=<*@~1Ec}x2`pw9wJ5z=a3G=b5_Ke7AD zL(CuK{%^`5ZS`|M?Plj2)jVD##D9Zo-)jK~IN}668^h=){rHcilXZ)qu~-W~1F(q< z-|?7g@o?h5!vXe)A45B^(7pSAJJ2y(73@rbN>nr~fA=4jsH8m78#U+H0YT_uk^z9o z5tQkfP=2t%0ToE!IZgnKF=prz46q$QEQiKOdn%9#K%eJBSIAGBACzzBn0%Hic>`&}*3cvng7axqD1?Wh_1sVz!M{dw*Xs{e zXx`2Mb^$K0M>*(g-{t{I$6;4Cyx z4UYUyOd0Fp*HTXLrDgI02EN{Ji`cJXO=gLzHC1c)5t|R07 zWax%ddNFm|CVf;Fh2F};y%tFy0ePZu6@5NWGc)l#3Gw{*9bXVai~hAJ^XcoDf?Iu= zeutl|Za*I_7!GXRA8OZ_eM%w?Dv!cCC@zdmTpKua0+c^)%~7`h*`}ZF?n#91ne?ff z1-k=^KayVSZc_A!>*p_pI-W*%!UeAJ#M(C-qJSEN>s8jU8Mc^DhSsoMlv1aO7_pP8 z`8}sb$dyr1bWY=^$ACkQ6KSkN6(^0Q5O|}&zCTMBT3O*FEpz89nZ|X@^le~@kzrLQ zKp2ahk~eU4T3lr+VaT;rTHayZk*`3=Kcw`d{Z~!6b2u@zyB`dT%01;t{EmlonYyOz zdj-k$!_T&av-~$nY<@T2lkJ$gjvW&+GP^yC8^|b!gY4>Zt+=iZ{FBuVCf=`=7=Psa z#`%gQN2k>(n0?!!Gr`ZU>7vPxax{JP(;KhPVF8BNDGuC*jn*J1b^UWSjA{rbyRHR&5KH>f{2HZ6hN zRQPqchb7gq@@ljc&agWbEka96ExE8I)aPm%!+0Yh%6dBEC3T9Xme~!iFZMiNvDX_A z7d=kX8&q=t)2>$nbB6hz$2v__{D{d`XSoH=5z^tqf!gxkAMsJ5(|N`f0iv!(Dx0rQ z-3W`fI2U8J(c-oAI6>Ylv_fBLgnaGp*WNJ#3?6}#C>fkAgArao#5i4Irv zT;;Y69!AhViM`QSEQY;gpbE=2F392(dC7LUeb1(&CJQ6JYX@Xr|=>EN(}`@+&Jxso3CXb@%4VUzitY4u2})oUKC+oA*Yuu6S~JB}e;MzNzeWZr)~D zX>*J#7CQzZ3uQJYU-REg-Ubi2a=|{5vjQDAGp!Wl-(UXor7`Ld%CR9cKN;-b*Z=?Qc5F^ zEQa*pE@YT5iCncPGngDb2htqf^0eNYuSAy_tfrk=1gBh{KPl)ruR!VS%u?h18oItg z!{Gc@KuP^C*AtZ;$KF&^g!P$^EAGEg`6PRw*67sCJfvTxR9r&$_Zl}#HfU50I+ul2 zwP)(IznT6PtLke;dP z7cuAriO*P6{DMCZnFXSsvC&Ctb*uCR2G8I{f;(j~_{Ule8#}v@>bNjSY zwK~$uuK8a>@1uVMlue)f%k>K6E|2A)E#bT+GnicYcdoGXbXXwtZuUYn*BIe>*J2&- z*PW`FQ;&TxT=@k3c7*eTtnX}6h$}|~WP9zx`JviQiMC2n+hw|{0x7uJebnZ_!knc< zQ>q6YMwPGlpz9C25dTh3Ahj|&o2OS#TfPB7t%)J+gl}5_`-4lKLW0c?Qp8SIT38FS z0*CId1UznQ>=CYAxwod{NB<(Ir;P$Qn|Wy@7)IL834cxu>8bsOhR?kmylDl+1mUvaE&1YH8p+0N~R7*JZfo+du0fDy>*sY zF_(hp0qh$(2qt=fwwksdx|gHG@jmlwzKanHV-B`*rcAA7MeL z`bB~ekvPl52mIly{i*a@iz+gr`+ddYq(vmHmcjs4rSF=)-sIZpUm;pwIKH#wSnJ*- z-=($NWMD-A8J1%k{F=k`+VTF#{%j?_0)eTtR%uY4WE4eAq=+vct7|tEYT~`$#eKG4 zYZe}t;`dc~0G#o9b+^oM20E)cV7@2R*^lcWP9ReJD|LL%M$y=aLGFGp$j4DkhG%ln z6D@qdgy=l`uSi=Ah$4THqxnX|(h4Y=_E$Q1F?TB|DR#5p(C~p@tJ1KsFw~9}($|sI zD(w}GLpaXZjg5`%@)l-A(o?}V`s+@}+iXn;a?>w5nlT34-F`K=)0(h|aY;Un*`sfF z8&|W|LsjUxr9ng;3!k=p#FcN*!fq;>mHww}BV&>)$jb zT!ayMPbZ-o>e%YfwjC<@AtI0l1)6gSt&D6^xgVUFEMTo_)K%jdt8z%Zjb$y#A%Sn=}y@p&X@XB#({!@F+l->Q>?G z(EoE8HlbZ_jOG@aFmMgt%*cO^FvERqzQ}mZ4E4`qbXoqz&ALw=Q$};J9`lNn4Hv_W z9tytBaG?@M4sug)raAvPmu~3Ow_CoX6R^CVxG$WkOZy!tk^lYf>jNXyH1C&YRTP1vS~+~RgXv=}6hxOE7O`sCx= znAlV>v}+x!eE!Q|2d$x2;tYFUYN3dAx%i4gT=f+qN=rA+sh&DeIuA_vK};Z~Tl?8+ zyYz&>qW$u_IAWO;n>n$~_i0T;Zt`_*ry|N&ODnK0%YH+T0D3d#y_*W+f9C%kqw3jB zoNE6Dn4Vtw>XBNzcuqx;w@A!+x?Ia}gu2V@RRv@xhi+;!l0Fh^RU;e_4%T`)w!!harc7UU9O~uD7-$3+SG(Pdmi`^NbDHv2OHBF(t|!mZ zj40i>@$gTwE?izWy=_of;_&&*-)Pr!!gJ*}#HG+{sNOw|HpphbW5KywSG1pqgUx1g z;X(ITcCvn9necIKcRk7fIRWzG%gmJW*mzGw|F6gjb);eI)w6^7?Ox#Z4^*4Sra?Sr zdjX}V^|G^_HjY~>Oe6Jr7&(WX5_HQl30gj4_?*qcDTbtaMs&dHV4l6XvbI6USP?M^ zf*N5~u(-gAIF>rxNGT$cojvpcE7yBqUB#hho#R+-@2|(hE$a`hMUxc8B$2;Zkd#%> zjUHc+bau>VybkK}N`u8nar`(lVID6hJ8`*exuU;zO}HESib!Z9-nTZ?dF}s5ZxNb$ zoaR6Qlyzhg6!Bx^*z5q_#N+DJ|F_i{2}Th|^s~1+yZ_BD*3N0S0WlJXf(c|cx?H>A ztdnt02WXsLOnrMfPl?p3abRLfx#hkeC6J8bQXs76tqP9++eI3KtqD6<+Zf!SKwvcO z6e8&(TM|uu(h^t0ED$kr{F_&kQ@=Q`JXlu})%<$uRO@L>-i|;hHljA3JVb6JBGj~T zFf#AyVk8;7{WgCGS*-+Q;yQP~;ozzDXN$j*zv@$!z>U(8B5p+9hLfi@%kGDh=T13< zyV8Fg?X$a<3^SO#8ei4m8j}=XoE8~oe=Wad;k z3D5bM;H`zsvbe8d`iorXsBmbH1`a&>M@tQHq4urm{E{f-_JbOFc5j{|QMn)DQkzZb~bBf{P z@VtcSzS{R#C9F!!(*ap~F~{-m^uk*=iaoa%7}19qNHgH{n%5EEwAyeHno&v|E!Dmo zsr7T@o#Tl9A;>@1 z`ELuM_6o2UDgW;+fU2^F-X%9rrX3)`k-rkFD#FFAHK~Edc$~Y2ZI^UHPB!j5XC9by ze|#}xRy|=v{ITs~8jGC8Uqy^&k8kdF^B&x-(tjTBHa9iVcPlnuE;#rYL!#Vix_*XBVIhJ~br=GgH00}c{=w<9- zbmija#67lTk4ce)h7Lw|n8-catXqm2>{oR{L^}(Bk{X6@HFz+gdh%VTCS$d5oDiN+ zaDTj~^S@(7uS~u$oMXQ8i{SZsOK<30qmPY)y6moeth{jc-!O8G0z&QD(*Yw+&=#&~ z8Fy_%gg>M-(5yUwkO*WilQ7HB(oz%_tSLxGOvF}iY#%wa_+9C-=P6II*PT&Nu-^0! zRx^B6EA&EgnIa{hbZZUjE4X9DNKi#>r_yxqqM|B}O^gp-+^nqh_8!|TWn7u`?1Oxg z8w{~pcbco2=a4Ofp7MITlKs^PrDuTMhZ~_HELeCGU40-~3EtiS->w=>{9>HTJU8%e z?H$g_T)ewleqD2EW{IN7n62zOEfZB&x8c%Nz?7Zc3=cDL>rY}IOiVJ)v8;F=2;Gs%n*^wn@k+T>lK`S+x}=0Bt#h$b zQCs<4td$3sLK*LP9KitmCrx#1{YFhC`e(nU`sb}fYe+ShjNC=uyvqe@;-`zbjw!l$ zOu;=a!ao&Lsm1`k1HXeNEY>v*Rg^U%O25M|#*aRK!^mv8r7Cu0A1A!WJ@K}aZ;P`Q z5mjMx3#}_s&P>nh+pym~yUXN`jRnbmb7D(2o8joHIDjfBp+l6RwQMn9XFFApC*$S( zxiyVN#H4wB&gjw#Q#|6kl@lt#fkDd3`;+q0oZbDwRL{;{A@;$TI;?lQlsAN%wfTYl zdKKEaWr?D=C^m6p;KX6g$-BntHM2X%iZ6Wl970V&{PM8i{yjjyF>cH8Q$s^*JzKzX zW$r##xd~5*F&;?Blt(>jyWH?kxjCOB1CGhb6)kA`l*1{5Yq!q;#^Y}LR$5l3H!Os9 zAtlBvEinZvuF;t=Y1_<3rw&xrd6#&c0jaS+WnviV(bQIynS4nfM+nG!hPx}JQ&uBX zOd;&-j1XMpuCo}#$(v+BO?k8s&OV7@#%+&QI-1Q1Ub`REuz(CJZfZl+&3<*X<7t^k@5Hb^ zH{LAGLl2cKL`MCy&yY#d%f})()X-mMvmJ`$>mL~xTypexPki_f*@2rK_03GqOAB8~ zh{3bfY$<19|4)WY;n0B9(B<{DUT(v+LuTRaAV~K1?8vzBLa@8X!%D_)2IlQTsne}0 za;5@He<9u3s+}3?6H+3iZ(tYT1}Yoy9NE4+I4S%cZ6*hyCQbKK-Ag|EMgtvZmQQ@e z&pw{oMd6DXU18St#w()}S{-ZFdMCa7$si_fIB&O$HAc+~2)f02OeeAhIDPy47w!j; z9h$eh{qDKL9&B(+EAAz^;3dSzurfSl(DRZqi#y*=gCgTEFoQPa?OC zj-~<^D5o}>K6Jf&%vp2W`$MA5H-~WOd!S80SzK$na+F?Odgz8Tktw5Njw1*Ul2P2; zY2$Q#XREj;%7aCLcLw1Qp#LiuE=h)U%xrXU$9go^mKCt7*`5|I(sjyj8caomjDh;z z8oH@yUoAOBMcW|47%#NE{rNn{%6LGYV2dl?H53#7@hLwM=U57CJ7>eyhA6`c{)4UF zzo`J6uc~bzt8T`tnDW>eLyyGN7@D&xW#&oy{kmlHmhc>YRTUT{VVm)Q#>FHDzpqv| zIP9HQ>)!-PYH6E&OzHhqN}@aTs~=gBgagY^9qv$*X<*+ecaivLVs-36U5>|O4?)k4 zzoQh1PFC)pOXlAT457P;x}&9*INVRo35{94!M`_GcQ3`X!W0trg8V&Eb(~DT0 z|HAJ0@#5<@=35bnWXHH0c!2~L8v$R05DMLPd!Q=da7jbb{LEZ#ShFQ1c8VsEkG|k? zBw6(?2=DTV9QH~5d}8aCOI~IAZfNFVJJR#6;n3r3M>)!WQ=0)S-Z;qbpl8QihBL9b zzF4_=-fEX`G*OxUCn6d9lUZ3Q!{*P>leNGMDb|~NfAmOv%LQgFx$oLQhb^?%Z_d)# z$_#4RytmS7@G34`vZwz0YFa~P%lS-wOc`W`Z?4fDmr#?@Y%O-3f`UJd+nJ8r&`IN( z7e40Yna{vyOVN(R6X$lBBOZumKT}BBKLBiVHxwolg6U$pv+2>wYJ04j$rL{S6%}gV z9+8$HOhG9ahy9^*ypE4-Q{w-;I_%}?u(?M4*>-AcqEuROA2y4D6qU(&w#O{NT!Urigt3Yr-9v9 z-*sI7Np&|LxCUM(QRF@J!SNFediK5rWJJp_1O&#PSHjkK=|w7P)hX@<58Q8tU@&oj-1$Lq`nM4ij$+Osf&SKaeO#4 zDKB?oWA{wA^X$_&PF!mVISc(1O@w?d;Z{6$M2KeA&vs#9-n~aA_$xz=w)G6j?q);N zpIvj|*J}NS&aLmmci-y%ugUBKoor;Y=ax3ZnB0%@z$ zBKB^z^C1;LecQ{HZ`)N>Ym@)gww|vWnvmC{*~uqC3_~+srB(M2*+@eeZYH$&6k5wZsz5sU@X<|M<6N|7g=6eRg7Fig6n1 zDhDc-sn#mz5woD-)%MJQ&Im_l;ck71zBCV3Uq)(IUNigMqPp08t2Mv3o84xvZdKk^ zm*0^aJZkYd!G~2LA6uFZY;yMLJ{bd=+zF)5JV(lc>XkE7G+;!>8!BUCarm2_LeP z_-~r5WHu+3*>_~5ytv}l70G|*(dQs zyV}cKy7^ZpuU#7rpXDD~!z?tg;R!tZ$sE)u#+h?P>8(d?wYQPDMyLk+9mxsht+OmY zfJ8ZnOaZzns15;pCk*W!MqKtn5AT!ez)Vp6UW9F(u4t}-8q+Qm$NzGT{0yHt$l16e z^<7f1vT2{`#QTQ#z>FLAZe`l#Fm|3W&?xFg-|Ot5p!w-C9M|)1I|bioeVgIl94Ew> zWCj@*9F;p~qvzI3T&~5F0%z!}&dyf0V3S&dw`t%5DympGp9|&HOPw=vp$vVWa)@@#t#M_t5UGN22sZ%hV zigDp$xV0+K>xe&V(1Q5u;q@JmMhBO`ylX0_`!ZdB)d9bN>C{_YbHRs zaj7@KgeqaNjWa393=8+9m(7GzHIM$U>_*0wCEZUr&jO3t-TrfS58Ej{AXk}K@z)j5 zBazsoB0`!hSJw?OWKWM7=nx+cyb$Ahb!_G=QhEp|K5b4jPBEPLuvzT5Dg0@7Su<;E zSu>lAl`_ti9`~}U^Yv%lcxM#upudQ@28;${7Vf9aS=R`(qurNI1I4nNOni1*l9&#@ ztT#omz#Py}I<4>}ABA>d6pC)6^Vp*imyv)<0sF~Yw``)QVzw@K4_lxbuP@vl)fTs8Ug2?Y zOuOVVVL}t}1AJVW2JPzrztC5JWs|PRV#MOI^{4G-SkEAxC6HSvGjuQm&k$VlNniPA zkcf`^USF4UDErAabqT|V7x!ZA)=a>5JrA3u@H~50J$$E#vb^odVqSO2lP6x&fxrs8 z7HvUNpt}mbo7m!QV>70MEV+Fu!Z%d1t?PcQ5|nV#d4KA2&j{ccSiE{41;k+EeRo4* zXDzdX?^H58Zi5{y>?OIM{t7af{zZvkbmq{FZHFL3h5|i(3+#$?;a1~t zf?U~osQdstc9PZM!i|2QZ&$?cE1#g+C_`d9tP2OZok$?#xo}+*?l?X6PJo*{346Ms zXjpDXhJnHp^Gu!9`fqV!3eM(@$GzP+Zl?!(>!%F;e45Uq2Guy}R8SG4rK_lBN5&=G zI!n2JLo8Qji;6HcF1gp8;IfHiBC5W3e0-M3ejuA@_h+Dv0jv-RS%2m7`@X%luaN9N z|Bm?4yZvpU&z+~t*+kK5ITfe~NlAGNHBN=G5dIZvermZANaN1-jdh?2Gq1}n<)Zuh zcX;tnX2L^uVDENLbq-dBLO$T%Xcw}Tv>g$3xhr#>WBh;=qFT7~$CcN$)k+J@q%@ZL zPyI!1pmX;Z$jTjL4<$k13R*%9#@xL6V6Evp2{U``*&4l;|DJRxJm#YkAxl|H(&kN? zv>Mv*U=`@6oD`T(n*epe9{-tX@@R&F(|0~wephOYU))6-8Gri-&m=iyAuGiWz4|eI zx`7&Pv_}q2mQ%Hi#I3HBL|lP)6}BD1g(quN+POI*y9p0d6%(`!nXlMf8Ip>d<^bOU zEIGW?z-LgRxu3DpZjsOj}|M8#kOY=nZS)U->y9&C5< z?Me}hp~7RZGgAkWy817xhx=~HIW#HQXe}SH8pGOA9s(5b<`($PO0-&SNPpvB&$Sq% zXhwA$hBeBvny?D2z$)VVywk!-+TLywH2CpOn6)=2uN*eCH&8>6?bQTDNkLUcR%Wxp z;?qV3zG}_9O(G8N?Dw%OGi~6dM6XozPGro$`F-E5gGQ$TzcMo@#>U%BN_VXtLD4hmQ`y1ijMT5b>e@aP6S zXdIB*kc*%hTD*?r9%f_wuniA}_(w-iM_C4g1{AEo=i(h1&u}pBGY41n7n}A6~gK<}sbdGJP$i_m+@C{^Cq$($n@Ej-c^Q*o>mwQi3Gx$9Iv_S6;9%@8cYxGR*TG zFK2DE+K~;-uyX^lmv$<`B^d#Rg`oEzUw`{%oW6FeuA-;a1yqZQ4CVoOvB_x?bsEQ; zuZHl%OIGc#Ik{1uH|VofTEnv_)_9J~jIStGQqs$l(i9}W%7iuHQ=EMKZ+@7ipSMD* z2@jq)sJT;U^ML41J1z)Jvb+;Jm(D+r={By9C{Y2q<$#WBflg64w4V3k^AhWKywy>V zO5M)uTKdjuRg6aB9R|wSN!Te|Zs{CHyLm)Q9ueOnxp`j+BnLhJ^q$-N`Z;jffH_T@ z7f`(L2gCa-2%Vjy1T`+L>&0JCUf3Q#RIwTl2nt@TVW`T ziBaJ<=?~%W5s3LRfz;?wrDKO;CB3P2<6 za>( z+EvCB6eP^wq@0$w5Y~?j6rKbP_Ie`{`I4IsEgq*y)G<8q*Up)2V~Z|pPa{jynBhqYbY#q;}W1#tDeO{%$%ltU<3zfL*DOq+8z+$s$(L-Za?GxkrI zhs<}z@O79mC3CEt7PE#Qq@{suFN$H#(4n0IE<|V7o3kNkZLlR{FMGGr2Mb(6Mcm@% z93nBLWaMm9ua$|ub!~{Pk6W*{u4S?@k^1<_h!o*EnMMB@UY9N1>^B;T=Y!_zgiqV< zcz}%SV`=GB;oz`%?|S}8l(IUZpCM(Obl8>}v0>p)ZrZe-9|EXYM}-otL>f$bgFq8_ z%6*NOrt5G2<(|VgrI(9a-LKfGoZFaD(gm}boaxReYfXsspoP6^$c{ovrhFo5i@Oat@vPsST9#2!YME{9Z1HJu6Coq-YVT~PyM0@(*&`~kY^#nH`-dnCnzPt>5==&zA z@VVUDczE9pY_T?9u6Kp7#dgnpsxc)3t@ zY0U)gJ>7b#?#k%2|9A+652H@i#n1h*CAUstF7QnuF`XWvqNVKkoiS1v3)(T?JTObd z!p^fIuxremzLLk1Fx$G$Z`wc6ZMwPXWLqmY1~S{%;fbeDj2MXE{8xPOd~^ff4TF|j z!RT_39x}O(GpgU~^Xu8Al{Qs)_%P9&VOL9%9L++C5(hz{RhgTOLFJJ zBE*ES3p`*ar7P%!UfFzMl&j+_HHo2Q!k z-9TSte<}Y{vx4qL%weeWNMXv^-Z2F5tsA?Y(9aV@f8#yt@Lb1v^>{s4vi+Z!()FwE zmw*BjgB>;7yqpF}l0)Y*i-F-=QTKg{p%R1nR}G&WFNj^zTQvw=mN_5)>sVqvz_4pt z!}95nW$HXf&5NV4Kqd}c-rpLCRNTCwXI@`ll*(PO5${3oK~E5ZnJBuH@x>S1K&~Wo zW93HeOtl_A9{W+%`J{02{PwCfEWeoe)c*?wMv?8H9f##oV#=r1NI;m1dkc}$6j4R{ zoVf>`C{~BDu>`BM^I~1QCWAZIZ%%_NBl>~28EAN}E#j;4zD6A0ZDrQ@u$!<2g+z-h zf8M*zU$ALfB5|`@9=lQ!F0nFwzD=Et38@P@9S$QXD1?~IZ9^{mgzd$_$20-l-7>o* zPbjEX`g2o?M;Kp*L+&)v=kkn{OWfhomg`>EB^qkjt9Ze7ft`-8T;*DVUpSf*mk zi^Vs*f4_A<8TeoLQAK-aeyD0eA7M*-?56iidOcH8T^RYhWrSs>vHuZL{jMDG`S zSa$>Ocl*}|bz6(`c#{Zm4ypB5YC75flDM-yQKgDtEc4On4mT2-7um%pgQsOZVUm^$rHs43n$mYk+A}&pV8Gh| zx7Z>Ae!D0fR`VhLo%e{(@F-?8@ty(?jnVZHoL=^I8(>UFybiRacoKuP#-bTppqc>uIW({5z01p_xT)&2diD6?8DIP#@H zfxYW}n+jXwg9b$qT8pn58=G$t7fm z@{HAd@kP_Z;f>Ci^#AAS>Q%rZ#7452S7uL^Z{R!5V-FkWfWQ!G$sua)hN`*h!)=9s zjS%_+@ueW$*eiJ-r|%$*Zbr){EU+W3&?=k9dk zC;Gq8Al@UDFUA1<1s3M4KGTNt*`1*dEYe=)zLg!@By0!VJT^Cy92i9+cB+*`&uA)O zcGf&}|NUo*JQQf2Ynx9wYHl=^d_FPm94IUh*5>|XOjk=Ul45*za)w$#1vt-Pg zv)>}Z!|`vQr*ZnbveKrPU!m3V2|#l&82TN@@^}z)#|ZFvqS|a(7K*9uK=LiAf7hv` zL-H2pVAo7;Uym}~Q;BAh8dtr`N-tp*)CjC7fFG7TvxI~RU#>WObjgv=nh$Qf zW)JzT>+E+6^8R(|8C6=bTdLWXb?Un>X>b{HYNDnu_}sp{E!awhJo2jmv6pnxaP_u? zP%xR^@Se}_Ea`QtGTSeP+2>Sql+Rtr-t$!Ie*D!ZVzKj)l1eF~zxe}GFPe`4GuC&NVodnW&&r1Cd&p%tp%P7RS%NEB^0;aaI?d!X>s#h{JBBbFP3WDVZg zFEsy%%3oYUHw~Jxl_g!Sf|VZg)*g!}**R6zBmJ7~AV|mav(JgiX+dpi`Y_nSaUGkP z5k^r$>2AiD|SP|sfjxm^3pTGKzIKq_M^qRp#8dW z#z@x**EHW32{p*Hls7FH-{88)T{5mX{*E5!VzguJ+skRRq51tr=>B*6Ue`!Huj8`2 zn5xyDpw3t9WqAI(i3~fFd2;{UmLgOWtn8-^_vY&iL!-r_YlfyH9VY*I>k@lBv4+l} z`AZyt4hH@gv4O*8P~943lzo;;gEeXPrn3qMwIY+biI)?-q2(>8HJ|8a}njWC-r=6+wx$aE_vx&AmIxm9kd37CB#PtVXF>C&t+yLjr|oP zejizu_T{lvm^w>3$q@5B`+T^<|9cCd>~&Y%@dU$nbK36&a*8aCdD_+Vd|ng|Kop}= zOq0CrR!mfJ`E+D<0+(|3yvmr@*%{LV`q^Wge!_wO-+Nn$ck+K zMW}~`B2D)4)bRe@qtIOyUQRQIBxZ=|sYvV-1@o9eS#N`2ZXU4zat@jTjtG~5|*j)#R zgq~+kO^~l{uUY@CN09ZGS~u(7=ycdivXRCXd%C?YWTt= zD}pDPP3$X7gXI)u^?hgc<#utK71b_b81*Uz*LCIU1kEJn0n^*yi(QW4R5qN*N7!|& z{FR6N>zzY;kf@l%5#00IW3t`OEd1rJ{&Fn31Z!(jvqA*K{)BI zA(?B7i~Ud?YUOQ=y8gDPOd25Ql?246-fjwpO7aKY~_=Xp%G@`Q7|)y_-O zN|4~MMnmqZr^gt-N0RRc2hDEX^IJ&NpTgxW=&Bhq0$)~~2ntz4OzEP{7Ll*6ziDes z)AMFC^4EWqFjGxKVi<`)l1>6mneqi~@)+fjnJO~K65a~nQsa=P{S}9^m;GInwW~a| zD^sL0X>j<`kss0ec9gc+u6wog*OolC@8_xqw6@wf;c5h}^-}*IYhM`^$JVqPAh^40 zAh-qh03if-cLsM0&fpL{!Civ|x53?lySqbRa2fng&UxSO{<>>@Kkix$i#0><-o1C# zQ&mq@SARf)MQJ7rJWKLHpjRWdqyN*Y$Fl2`$?s4Ta7>^giycQl4DW+L2(Re=>d1tB zP#K<0Ywz{6AXLfr`eNJpLb@V!`831KPOZg%zg{o}v?QHi#lVJLuC2BwZ6xvw!;MOb zL?qA7x2tABTmd1+FjDr`vXIe-F=nBTfH?BH*$cM?Ylw8MgE+cERHo=ATu1aM^cO^A zS1K7K>~wffXH?G${0?ot$ac(Yx*1@bQ=!H5WlUcM1EOz#lK^O1Q)ng?Sqv+w&K^a@ zoerB1d;#oZNg4h?F}{u))$ttBj;GbLS5UT*NK3@)#>V}eQ4_G6 zxa}fxsn}N-{LDuAdc%9_d56XsONA7~VOnj3W<-MoJDnzLk>x?{kf-eK8-x6XR&6xZ zhoWDCV&g82<6gcik=#CD@~$R}$o0SoWk8u>_d=hrg4H716(%wNEn^{(hMrQ5GF1*~ zF31EeX6OBY2Ax6k@*K>J%hR#JhDbClP|AK)_pR7DgL zias9<-!Uel)MTEbMGlFF1J7SWeJh__iNc`3faW!p`(}(ns(il=j%=N0o>eLt@ec9! z&YjXcP)dbmH|~(n2eODT=mt3pqROo*_W6C*!@&}DQQV#0BVeP+k_kFG zo)FaXdo6i%=%wlsDLy7OTU>Y}8HM4UL@eJl}pBXScx6i6!`qH&e6E74EL?n zW09y~&}#iV^54UM!Ab!B-#`EUMlyzi(SHvZmjC<{^c$LhzcBTm<8AeSPyahTg8zPu z^%lG9{|-e3tNlMGV10Un`aj?Ne;n$6H{bu&tp0aHiT}TDJ*2>Rgb|A4_u_dCp_&A; zL%J&$#`0gRV0$>;j9T-FjzpSRlPWV5_8AYFtHBXHblgr|^sG*D3p7tbRqT+{H?y(JpW(bgYsJh*NO+1cWmIe7ZzaRH~)5z&gpK2!7;Q7J%)pAPs6gEDB zNuQnBQsM9Je0n3sw{^TI^OXCga?-%196NlQc#Y$mfVFCbP2w~J2;-{zDFsb;Wl>O3 zdV*JXWqxX^Ju5#W>DyLamH@75nzfnRn%e-+C{0p1tH6A5w?cnx!k9;m?;5+cwVt?t zB|aa~cY%j;UY@=zw4|Z;?_)*duEv2}5ufN@7!8G$8CaMHTI}yG8}T=&9hbiq+S?&w zcTKn-@KpQ1nr1KW&u9x|lo9x5PJQJ%e`?F5`bYj?o=&Xn3zW;(E~P=IULln)2D>PT zQg0~3-&B5y$pg83;3{s5=1OPlxr!90E%0gPt{=A6GtyzEzRN- zjr455@|2e917E_^`1gJF#XMxg_ZE>`9(5rz`J_jq6@@K%@ha$yncCo^)G43kt!B~Y z6W;9ATRfj-O{ZsbBdUbb!Mmv9@gl`|un)yfAib#4o>dewIzUA?uVHj*C$)$Ofbo$Oq@48X+2E9&7DQi5}8m+A=->EGHm|G|E&ksrwg}eoR zls?vcf&4D^T+`s=ECTK`MzJv#B1^m0W8Qlo0C+38TWxplCF(kGimow!9lK zVA1nIT+oM9F>r?|EB-YJe^F}SBba|=e!Y7+%i{x3_uY_uJO?+9hM;JL3=MJdugb`m zN>K`5Xhn#J%8J9;@}@NFcf1oLUY~U?XO4_jEufK&CSbG>$(7_|LS02 z*ITYuTb;)mep_jOy?dw3RTIy_QJd^cV}Xu7tg6nZUe^g=m1?9Mlrc5){<{%9sAn6| zNc2W4XuEC!X=nASd8Jxs?tbyMiEuU+=uMC5=n){j+760%k{;b_!!YiW$xZ~Dr}%v+e4-|i!%C?Ul-VLFZ5SjyRl!x;$_ zgKwm)P+H6X><@w~5N27y$;iIGpAGSB0&XR0v}!THZomuI&zsI{VfDD+{O4kIQFIx0 zl^Ld!QMj(OD9*K?8+j^I-XZz%o7?}ytIUwn`NCXg;#w}Lh#E?>PiBbh9eE&qeQ&Cs zM)eoU&bN)fRX%=%((I;?_44!KWA_r!&yk@rJWS-B8X;48zE)@9i^#zGIAxk z_6xr?XZF8RN^vy){3F6DTi|GDAkP4dYtub8`6y3e=1`LALtvB4vswUs!J(I~=qsUFHZ65#9{5d&5()7T&LXbTD`|17ELR_7vn z41FdO{S|#CQ&dt|-ky0;64-UPbe2pH?UdeqCvQn&jJ(&jtO_G^rZ10D<**UbZ7n&N zG$;k;=>#9{YFll&km<+L&<~7lGwic$86G521K{%}Ab%KVi%6`G9rL(Wbb+GW)ME`? zC9<=%4X*f=M$xyH=>b0zEcOpkfBWcwDD}e&StNE6BD7pJckWM)*5&#R|xHe9OKScMOcKu*ZXb+GaN(=DZ$K26;}WthU$y&}MQ2 z4^^_tcPJ-bX=Uj9m6CyhpcjJr>Di*sS0Gf;pTt) z-xYGA(sFmn)C+lU@{qsjI2(%HN%Ct(-@YWfI9GuJ33wZ;%xs?R*169BZ+y>clxjgY z5iWi6H>mO@X#+lN4`gpVgzwEMjvwF2WObt&kTAc$jJ@ZBtv>7asHyTm`9 zvbQds-`ZqW@fR|KkT!oDh0uA9wUH8O@ua0@F-TLt)ZS|e*IXHn+X<%}PXPJg*+(3; z{G!&M#O=U|8;-|Bjv@y}B_q*$-3pz?Gl6?hQ7|FGs!M3QdGe=rD2Ci87}1=W*VM<5 z?h4pm!|S{5lP=BFg^E=^b0$Xu{T*h^GZ)^AshA^BDsgWRO}_iz%TW$EWLYoz7buks0RLA^)V$cK(gdbx!AM5Df^Ypfo7|(IyS-Zy|Bae!7AqNHU zcsv!JoGym|`gJCsRH4hs*BzO(UculgFnz&PDR>pL+Wcol#l~$j-W72;O<*9T{_bpV z1hYLS-{>PVYK8fQ%D?_+oKwxuhW;f0+fTlQ?rrkB&BV-%*g!v`zlvv#egIotXZ!BX zv8kOUz@YQ@Y>jKP=Or_YcB><&tsWunyFkJg`Cr*XZAHvevUTM^HfCJ{(<26WcX@NJ z8Il9e3TKLAy_DK!Kf18*E!W!P6h7DtrO>M&iO)(vmH-q+VJxvdCkbB-#u&(C*UcE?(kIZ&`2153bY6{Wg1se}DaeS9E1&fRU_Z{P%(OCBV|pUols&&ruD|$HtIGTFV~=7@ z?!6#XY{V_y{k>pDuvi1eY+Ev+yXWb9AVLHS9qWzQ_3(Uz9x}lhgzM289G>h)67|t~D96A&{&CN|OCuyFfn?p(f+)hL7ryU(Ne0?`P!! zUL!pv#^=UnLy%}$9*$;rf@4e;fZB=+><(AOR$ED^dPHiH@zN>c(sW0>ZE+{O+={e% zGkIT)>0XTv9lfDvQ7BW&FEdt0{)5-c0avk}SAm1x=rTb#b|<-85Y(a2Jkj|b&3RQi z5&iA}!|C%H%YeE<~1&1uHhF8}ru4AHM+ zm|l1NIqyz?4hPLnVXQT~&x1q<;Bl*BnLe#Rg+5v}A9Eig5#FhO-<;p)B=qETy{|Hu zbaA~o3@TWo6do7fy{xRm*Chxs?eAF$c{>yLmx-HRCL<>dH#wQ+e$!XJP`m=iSbhJb zQ+@!9`nDCfEB=M!kRKx(_NRrE-hUBi#Ig-;FjDQjw%po4ex3B&r)rGgqZu0snjeScBKP;l~!H)9lUl4oE5+cftjF+0>2?utG$S zZ^gv*{833UgoiSn39k-sTQ6ior|WCaducH39^fgPPmV_^e2^=1{L{Z*MXbm;H0?$e z%Faa&dOSru&cC9qB=^Sv(&wOUZ!?h#ijuf!c|jrqKcBw?`n7A1MGb}S;6}-~a@N)| zQa7GdZ*T1YgWc%*LeG;D!N-JY^ZZaA1}bJa013@go!@#BuUZ2dO0oM65lvZUd*k6t zE3H|7eWOl8uNf5rUNrQy3#hA@T#F=6_1Omj4`nd6&TRpXW%W`IM-fHrJimfMskM=H zY7-OCr!N^wlM$Mgmfht^XOIQ8kJ?~t5{Xm6$~^5zuV3N4KX&S>^-=YPZ+^hLbP4` z(XAn@;4*>9M$|-8wH1_c>z2$xk5x6rs5z!(AxO$t=Ps@mF#LXOK?Utn(zGL(F_Tcf zt!URtI@Dj+8)Qrk3n9wpiN&{coZx+Fx|Lo`4(1HY_8t8Gr3}#TWpnnf&HWUSzwAO7 zAyQGmYK2~VCkLan@i{h*z)Vlv%Hq)2&3 z;kZBQaB%&ih9CCklx>tWew3J~t}UIMt@Imf##Gq1xPqU&p6%N#ZqfU)@YZMS{vcAY zis&&Ss64~#3Dsi$!_0nq6X%A=Vk3DCwa@o^!&Ok9m!Z%J`g|xuNQFJr9Ch1TY;=us zq7pIOVmIQJTj}uA(rkvZK_~H{{X#gJa}_e36A%~{dGXT}Ke{5lZ~wL!16K|i1gbK% zKi<*jduD~6^Tktp_xC)f_hpvvULIz=>tl6&Oa(wS;#y~NxTtfoKiw~Ghu@hya`C&S z`VR$63(RULRIpifB!?u>aKkX`QVfWW76CUubXcIMk?yOWyFB%t+~p+=VEQFaXYxGw z@{(z5R#H_ay+<-Q)$w3HYlWa@a=l!>BRigiKx13{hTkUin-KCZ=3r#ddU0TSo%)9u}+sU_+U)}*TK$^HAKG4q;Q9C1cI`xhcC~| zdZ~P(x&gvZ@ewP?$!EZCsPyeY0y}JZT&+2iWPjEiI6TF%*`20_X^@_KnJ)ij)nPq9 zp_+*NL^+$e121VtC!bc7+xumX6n9`O#4&Z8o~?+`qHG~ja7j-o}98z=D-C2I1Tk`_p{?VaZ}+;r)s zdmRx_NO3)T$U&2dh*^^P8^hWko9^=&$=@yJZ_H zi9V2l^0%$6d^I*31^OTEHB@q@m957|KBEu`=ue4B}h9jg8{OKtDo2S|18NWaDzQB07!?9nd zWv*J9DSuW?#%S1dUY{om9gR1Pte*nDyFPxQ{{=bR<4f{in68VV6n=pwL8;ErHxb!D z?uX3ob-ojl`l2^H<%@OI!r=yDm?${z>7_TWi%!Oj&;5o>I6MsbcHhBSwnxJaobApO z(8MXt*=-6+megHD1$mh^=uvz>+6P&RJxZ0pgy=i-?ZvOUjecf}jyk*7m7FJ4JUkKeIfLW!@oebF{>B%3>r#biX(iQp1?1U_U)c?{X|0QwWF`L#Mf!|DlXrOf0=;^MreC}4&@vLh1Os_7Trlt5!5{rnNt zFjm8da%=4Bg;HV8a+{n0TU|CU#$sxI!+9JslJ7TEXftJ~{PTlKFMZ_`TbLE5(?ORg zupYv7P1s6jfBSn6Einim>g1Q*zDbHmuLY1d;%YA!RZaHiS9BJ*<|Z{|QJrBpO+2iW zD8&^N`Y?0SM|4+v9^_b`Ip#qJ-3Q^9Z*+1G<1t79w>5(l>_@!ZR?eVK7zPyit&YzQ zncYmR5%pG}i#+P6xjvfu%fj0QOnZW7@8{#`J19b%g@zxYVvGigO;R;CSJ|=Rjafn_ zuy2j(Z#^Yfh5TmM*ktq6aWK5*)bIS*BLi1$wPFDET_~UXPp1v_dkxAu)d*@kbuVs8 z9P32u4`%0i;rb~$KycKC3$n)IsBdYIRKJf|8Uk9vIH&{!b64 zDWmO|dcNb^Eiz4c1tPpI5_UH)s}aXohW7+@xU>NLlcVL)`PjLinP~2%Ot1MB9tBBk zh18Ps;DhX&M(oA}C^CgNh|!o7%TAf8wKxt!+03m5>pw<*uI$DT$B$1H)-y|%IaDH`tC}q==*^s|9Mj~kVp`dC}>b>Du z5eVORXA5&C$@ZN?@i}bDnb_^w+xJvxaHj5m0dvE5cL%zU$UOlWgnrTECoe7}ySWhE zhBL<#@S5U07%_H+r-vAE=T+L#;ZhH7Lp8dsL{c0N7@9#}@&K zq>AZOJ@HC^;-T~xth{zX`AjnJKs`B0F%k({WbF0R55r z_vpfESkeiB=8k$0fn)C48y z%TK7^l5A%=lXXT^o9hhWd_*zW1KjKi$(GKvumn9#778tB%Ep0^qLq|73feHACPfC4 zMY<-8XVlBLiBJ=$LHNvP{gj!mrP>zf_{wY{6dqkUyGk2*E)m;{)4 z+*lBxbQD-Qx~;Oe@0KG88zI?;dbhv zTr3ErVg+@7O^+A9GX$!Vusc~FEe8Rlwo9OZ=&G$`B)8&*b^@PY0?j8shdOw>kW2I1 z#$Lk$KjXOnDbcE@W=iHdWWW@hmn^&a+$krRcIk+awUcLkAQ|_y2@VK3jxYRXw!28m zVxIsF9;8Y0oZRYbC+BPK3`9jpX>h6^zIpkTFHjz9OZ%)%)_ju6coD7T+WQ`D9rhI5?DsF-HB8*Lg(E&N_+-wj;#)otBnHbZF(F~I zJehqk3WH`-B{1a~VmF7DKcGq2F~=G#hx;-?DG_jq#W}g}M2g#ULQScrXLh)GyqW6P zkis4#_9g|%l;uAWv|!y@Kb?A{&4gNOBQ44TruR6m)A6j-e>buC8}<)N(h!Oy{DKI* zxu$!X(nvfLs{EsnOb&R5DY~SRL1&!eQDm<7W^T_q<;&Pu5Yc4&C@fL&`a)vyY@6Mf*cWmgLN}k;%Z`ps5|>VB7~T8Nc`H%0>4-o5Pt|-33rL$Nh@0 zW__kD+wvhs^|NpF!Ji=OP|nG(x#35EN?PnH8Z@OC02q-iVSqi?c}9S2u|3||GFnyj^gE<*xm2NQ9AB<7E8In?3lmvZP9BT`bt#UauRGdjoxH~a{_tv*z91f!Td2LXz77K>8-;Mldo;>P>6#7xiraw~{J>O^nXogceUD>?T-Z-fHZ3VNaS9paZ zVH882bXsGt{Qkgeu9M}aq(2X`WP_r4oQ#E&pqMkScZy=9XdrVy02NZK<5S^?Xb$V- zhK`x$)iJ;SeukpXPbaK}5zdBt7sI@cE&#KCSH~%VM8ZLHrA_Lz&~^lEzeLB=88$!- zP)&{qWq?h$n);?UJ=FV3Bb9a^M#O#-D-iB@H>*7uNbD3e^x|KM4KIc**{xk6wLe#+ z;$l_H+AcSq6}GqwbJFwX(+tTnM)t#sh!}833nXwrXXJ1U?Kqg8>bHNx9U~eJt*_|R z`Pc44mM)%z0i+fe!zsRjQcCNi9b>Isx3Z!B*%`L>LYyok`QIlfH<(_m_qFNO7=IoO_5Sd!8%f-UUz6gnG|KDrK9b_Cvd%`CtI z?M&9Xk|GLWRBz^wFz!ohGU>AXFkUL~H&?yFBN>bpV?&%auCABV=qGv~D->te_9sy~ z34z>pVnXeQ!{+ckW%m_oh{<`Tq#tN+a=A94^J#0L?NQ`aMl^?9g?CI{{pvC2^_#pD zomTthjal9EU;&pnBMX#2=X}cbB*CBKY%+{>s}19#Hw>GeM@BYoR5o79(Smj{vaPYR z{e--!K1{QaPIa<0@YGxdt$XHwsUt*y1V$Za8!psvQfKGHoi@@pIS_^MmRRMzM{A!k z?%r>XHZYN(RR4m75R&JydKM$A`DIq?-zCU-1I^NB5%rI98Ai?%Oz^-9rcJYqiv=C& zj%g4+noyN$hPu!0n=XL6uC(nfkNhO$5(5atxc47Fg^XeB#74#)B&+K2%HADS01 z4*5&ATFHMAy={Sw!(%GyBIb$Szouf5fb^&fX({3)_CTbNo)R*QOahP<)a%*M@&_YE zl`6U;^H@lC_A%?qBJ4_c3SD=Tb;HmHy)ZdUu>6vd^9P;e6$<69`opL^5^dH0%0oz} z5saMx!$>R*BK;w1Sx9gsor*hIl5&Z}ejiU1XKGh?mr%=0KFcJh^0+G)s_)|^16;@w zSupg-;&wzBx-LwT>@Gw`-@b&X{s1V<8YL!JGnx+4AgbzdFmxz-YNOQSFU_%I+^8qP zYcf4}@n@-{!jeglRkKv%^fG-B7ypj9BZj&Cz>)d(ttjx({VA9=7+lA9U!V z0DiM1_L|H=ROAz&7BiF?L*Ya2eNt9%5w?CMr1hVShjlDS#XUN=Ga=WK(xmbrBnvL- zi}KL#2^KUgv8_yNWq|^)Hg@&oRG$;nH-(Qaso)p6GZdQ{x9 zuIl(G&Z=!vz-ldJiC-P;M5!DP$bE7`86%Er6g4vPA7WUtH&Aod{ zL?F=49gwKLwEP)<)Rh+)B>TNF-DG&M`u!8&2rj(&tEP1zQzryt6|qCU{m4SyJo2Zj zi~k4iu(&MT0?{RLedcJZ%)cmvZ0qgdVi_-!7 zgm&x22bs@5t*JFedoq?}fMs?;@lA_ka3P0&P0vU1sq}AJe#p1cN_o?2`G?a^00Arr z+UlK#_5d=R>QaR>08XV!fWipR_jlN9mi%qv*AJ7_ky}MYd>hctY z_(95ElV$@~O3Q+Nx$Poh%DLABy4vJZK5wBsF`WAyl6r=W`)#~ic(6EWHbQLuAd60} zSg}ic-l|IkS@N+yT>GRZ$#e9H4rJi!^22ZQsgz!)R0-+}&}*^OTF$Jwf$XWTV)bf1 zD|8v%IxyXB3=rey{=zZ6FzJ||``(bWC141BFHKgCAbIXn83mTxZUf{8uf- z`0eD*t+mIE(Q*~;`Dn`I9n#zm-L3HbpC1y?If@7d_6_DM9_W@-aK9K`U<7GUnyT9I zSZ3nWg+$|#;6;POc`|@~AAb?sE_ViqL0vECmiRluYOfeeAe_EnZkPG@&bDwT-7s#~ z3?y7qPdEg15t$|nnxrVg7-Gdw+)cND+3Ibpn7N|PSQ%TNUpw)CLcW&jlr|p^p&F@{LQ9g+!B~+^aN8qHk%qQS(; zvLVBqT7+-tbV>i7JFFd?W!L)n*=>$LbN}i>(?2sk7Wy(E-1yRBU=MG1N&JXJ^vHVfH@U$xQ3osRB7v54G|AWEpPn*L<&Xj zG?&rPSRPE&MnwkF8+XztOq5TS8A$t36xL97)=xesUC|lOs3v!}5`Zn$0$ZdQFy{jd zvG⋙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 DL9O%} literal 134467 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

e@}e*0P&FV;J~(&W$w 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±}8|J>gY7|YGUQ5rzC#hgNkoQK9uK#9hPsLiQ1=dCUIO-m44K!KJ*8szgN! zM`jY&mUfch#R=H;#(gjb+wM4UNG;Ud;g$Qy__{8xEMM2UvRclP-d?b8qD zXWiye8yAvMnXcMgIyZMQ_a1cltuM>|E_T%-l0YlNwlP$gW52%dU$iLAIeV6r6MC*W z2(EH|e1A!gXLaKV)M{q|+n4A`Bi1vSQE{Z!26g-@EF2OHi+lK5OANkG@8O}PodJmv zH@#X0ZG%>-vXxz}^Z1O!rfRoeUd&CrId$LTt90a1lKgqjsTQs39>#^75T7Gtw|}wP z56a7l-CfJtIVLiRwEr`kMsG?I6O?%saotHCW#xmfs?y!f$W>g;K;=#UiAJ!;^iyY$ z@Oy~L1H})O(k^FaW;&Xk)t5y2VSVcZpsKV%1fX&qAPJVa8MHkU6 zTPU<^cvnSB5y5*B#jAw5@;G$#oQM2yrhIFu-aj%B%HNzVLn`09`FET`z9*BLC&;vt zzA&c6I1%JzR@GN&wYK9ae^AXo9y6aI*0dwvE@IX2o3xXgnNfM};|IZgkZf3gV`Ylx zcsV7!mQ;zW$f|COh>XD$vF@64n(gD0`oZW=W=r80y2K?b7Ke*xqA$3UbD2&hiMD6$ zrw0vMXzt_10lRa8VSzUkN`p;Jmd93bth~IxNbYo+pecvZ zY^#F3z~rTO5=IvmxyP>YhSYiI!C%j{gVw)DBwhc#4hx@~n#8Q2ROt4sItv*F=?v*l=~Uv-`{v5Q!$YAC!17*7Hw=%kH5={hI}L%97Td<(6$ zC9pzgv;;+Nq*7n1>vxq2RddSx%F0!45QEf&jQJO`$SXCLc=Wz_snxer32tcgCxquM z0JC{8DJg5Kyhwj22xLr8KGi3RdPUXFgwrnxPAPr>1kPy zRnHCwPx<2Cua7QG{aNNf@^1bFo1?roJ{QChP{@M~K;J7PZMyU39Y4**Hyl5)n~=Tb zH*s#cU0UBjY)cwdAE|(;NP3q0ZC+PQLGU|-M#^0~>9Z`^`$ zf4thlXw`B%;*jAs?;~R(`JS^m4bI#J!++r+r(sXm<8I|2Ki241bZ!B>r8w;SfQY%c zU^76K&ifEe(TT8}?C5*bhgMPVG^gAi-8N0m3{U5v!)Kcq_Vk=Ojfp{XQA%`yw{>xq z3Vsx#a{Y}W;XCBk`^_RD8*)R&r&w+VA}{l_yc2wcuRD-q%z6Igucq_$~lx=EUS zr;1z%l;KcHq3$b^`{%`BDXkkF10gp;J?@`JV`iaz&U@R5X#?yR)P)6mV^CYQ zRziD;m03mS1^bn-|3(@#78?1DTclue^g$v&ij9MkO&2A%yh+UB}bZ-hnKy zLEnqQR#&R!Bx(0g6iRK`unQ4VANZTuk>nbYCZ2SxUxuwK_=aS83WbjR9g+go!cd%Z zDobYRwf5;2eo5}vn77vaid{8dLgyCypiwON%~u^Yn}biK-=g83ffKkrh6$-NjNVDuv3j2;IH@}}cep`wm8ghVFi+T;5r}8ItIRMU{&~c_R zBvL2uWZe~tn;K}l3>ucW5{BVlzZt@)*z+)Y_5G=FXz_egii0qD)H#ZQEU6Bi?|VC? z9jkz>*0+e%cxMkr8jrkvS>m`JZB^EOWJJdVR9@Lb`^dXnWiTF_guaK|n~JC}tR9c( z9BPyHWB^J}D{;zAr2^hJ(Puw}bmfmU)M6=Ch{x{=K8-M2DKW)qW>{!N>(oqGbdh9h z>ThbkLrqgJl5g#h zq1;dX$O!L%nrAtJFGn)mu^A&-&p$-Zmgo;_H3lB%LfBTdmkggl2ffc=AQokAmh@GY zR`v=hUsrq6+7Xm_=0@J=_H6NN9fY$N|72P=8r$qw&F-C^}Dn5DF&Cp=OT&1Gf zT`@yv*w;faYhCMP&DL%yp60e8%GY8`+PB&Oi?u&3Ucr?ft~8b2I*sv~Zgm=1w2=_J z&=#_u%KQ&Nd7ED1GZoTxMDL;%ogDfnV10}#9ewf48JFC5#vGULjIgg)fs(_6hGT+f z6fl1(B5)pIpP|Wy2{C(5!;(X>%_rZ1ssDy@niMZ(ag$TA>2K4=Fn5URu1`kmrABHo z+&cI5%oe>T5egZC!!d|jWQ9i;LA8RHomY||dMyb*wQ+u((TI+qJ`D|!(x}eR9}_HF zkWCj3Bc^4fOnjH_Gba`}X!NB%K*XMPEb^>Y5_P}kT~Jvle#LWAZNzP3*_bxc7^c3( z^{=YL=uG4mVOJMvhI?;Uc}Uu*TzL~ceQW3rKHW1zF7qp)XwFfEI82ibSf}nvuE*li zD?#r%e0BBoibg&Sb>2(=w<+qA+oPbkS#)buY5)Qp+RoRmJTeL>33Q$_o^O%rBSiVV zy=Gx%&&=@dS%DeeQ0UjULu8kn%}z%s;9-FAgX&y*ys;?5^AgdZ`9I~5;Jr%)hqu|! zoW@I?i|V9~I_tyAKOZF==XQ3Hdh6Ic*cT$lUAP`{B{$i5UWZ3wFk6tXN{CyS-*@So zQF$6^{J1zf7i$f60-4AUOCO$y$>#2=H3-cYgK&g9e8o3@`V30Gc_hS@_T6??h%muA zW-HGn7?`>@UmcHpNG>p1N>14;g9`pA&ctbVD>rX#+q+Jxg}p?ZZCq8NP(st>uSoG2 zS)kuKW~7TxFE9ERO^aB`69;bu<&roXbWd0hRqQ6V{v(y`VHoj34Rx@W8@`^Hne($snontQOLpogj#yW`_H!&IqW5RW1e2p6rpjvy0_-P z(f&%G?Y7#8|5s^SOHa?0)oEpc{J8FqDzuRz{BFkT{OP}d-kX5quu%hf-3NJ0;Il0p zP)AF)v#vAloYT2%8`HeXd2Vk>-Q)(|1LuP*R@CtGmXa6@e|x8JYTT5F3-K!juZ|0F z=EZRGu4lAB%N=VZ9GJ-p`Os!VqciTdZRVfYj=kgXv-PYsV+X9$^y7Zwn2OX7fQ20pQDas~K9o zBBw5gFjx{1OJ+h~9-Cez4QdF*+!}pe$9?i7EC)VTPWKMRr<*v6NOKw zHB7|*s4&dpan*iO0(nDu3ck;0z9oPq>}wAqmx^=27_X^T&#sAta5?YkMpt5URdx{G zHoKusGWc6pw+8^%uTD(@I;GB-Wj9@)nkOZJ6H1NEG&Q@N?|Xb7 zN$HvA#oMORF-2@(XDIg{fxd)06{hvGehb#2u-?hCpy{(&J@pZUvw^%zT^%FM9N-&x zX|#wap3OjB${_Sf{YZ&rxbFk4=-eC)@hT6Te^YV)-MHSxBzfzX!nIb#nF)HFVD!cCuJ@q1=8!KjYppsQ|>D;?=-DwCwYx~l(Hx-SCztF zA{_v3cNJOxCM*wszQC@tMIJnYNOaW?>|ISX0x5Fu*VdV!>J$548mU|bsWta}W&|(z>pI1?-Ybbr z{j~0%G9|796g(hv=?f`&wpOgFRufMUH_C5qolxUtXxKh{c_kVlW|M?}9C|oBQH#$D z1E35=JF+%g*u|pTgaJi#e@<*{UkWwIw9uk|cT+@22tw`OaHRF-z!xZHhCB;%j!X(4 zT_~BFh&9L9g(O>qT46K&JA36uARb2 z`u}rk(&Fizb7>dMai<5zEvwgAMX%rjZlp|)Z_Q}j@eg5GJcZv^k?h5tdmrB$aO0hG z(^tPgC28&Qb|6du70ukglTTsVUmo873)z0Cs+)g6UhC#K0*9`zgYo5MWhqzRtA-Dz z3j9T;YkYnKa~bGgERPoAxjdg3=g2*~!(}lyrFg}_#PQJaDI{

m_Fv`=GREpSw- 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 From e557b402b60b1c84929c8c50f18b2941aab67490 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Fri, 25 Feb 2022 14:46:03 -0800 Subject: [PATCH 05/17] daemon: fix PhysicalNode instantiation issues, remove old functions that are no longer use and update session to use the new variation --- daemon/core/emulator/session.py | 8 ++++++-- daemon/core/nodes/base.py | 33 +-------------------------------- daemon/core/nodes/physical.py | 26 ++++++++------------------ 3 files changed, 15 insertions(+), 52 deletions(-) diff --git a/daemon/core/emulator/session.py b/daemon/core/emulator/session.py index 46f9a04f..60d52f82 100644 --- a/daemon/core/emulator/session.py +++ b/daemon/core/emulator/session.py @@ -694,7 +694,11 @@ def add_hook( self.run_hook(hook) def add_node_file( - self, node_id: int, src_path: Path, file_path: Path, data: str + self, + node_id: int, + src_path: Optional[Path], + file_path: Path, + data: Optional[str], ) -> None: """ Add a file to a node. @@ -707,7 +711,7 @@ def add_node_file( """ node = self.get_node(node_id, CoreNode) if src_path is not None: - node.addfile(src_path, file_path) + node.copy_file(src_path, file_path) elif data is not None: node.create_file(file_path, data) diff --git a/daemon/core/nodes/base.py b/daemon/core/nodes/base.py index 3b5cd04e..fa3c063c 100644 --- a/daemon/core/nodes/base.py +++ b/daemon/core/nodes/base.py @@ -271,18 +271,6 @@ def copy_file(self, src_path: Path, dst_path: Path, mode: int = None) -> None: """ raise NotImplementedError - @abc.abstractmethod - def addfile(self, src_path: Path, file_path: Path) -> None: - """ - Add a file. - - :param src_path: source file path - :param file_path: file name to add - :return: nothing - :raises CoreCommandError: when a non-zero exit status occurs - """ - raise NotImplementedError - @abc.abstractmethod def cmd(self, args: str, wait: bool = True, shell: bool = False) -> str: """ @@ -847,28 +835,9 @@ def new_iface( self.ifup(iface_id) return self.get_iface(iface_id) - def addfile(self, src_path: Path, file_path: Path) -> None: - """ - Add a file. - - :param src_path: source file path - :param file_path: file name to add - :return: nothing - :raises CoreCommandError: when a non-zero exit status occurs - """ - logger.info("adding file from %s to %s", src_path, file_path) - directory = file_path.parent - if self.server is None: - self.client.check_cmd(f"mkdir -p {directory}") - self.client.check_cmd(f"mv {src_path} {file_path}") - self.client.check_cmd("sync") - else: - self.host_cmd(f"mkdir -p {directory}") - self.server.remote_put(src_path, file_path) - def _find_parent_path(self, path: Path) -> Optional[Path]: """ - Check if there is an existing mounted parent directory created for this node. + Check if there is a mounted parent directory created for this node. :param path: existing parent path to use :return: exist parent path if exists, None otherwise diff --git a/daemon/core/nodes/physical.py b/daemon/core/nodes/physical.py index 5c1cfe2e..0a686da8 100644 --- a/daemon/core/nodes/physical.py +++ b/daemon/core/nodes/physical.py @@ -187,21 +187,17 @@ def umount(self, target_path: Path) -> None: except CoreCommandError: logger.exception("unmounting failed for %s", target_path) - def nodefile(self, file_path: Path, contents: str, mode: int = 0o644) -> None: - host_path = self.host_path(file_path) - directory = host_path.parent - if not directory.is_dir(): - directory.mkdir(parents=True, mode=0o755) - with host_path.open("w") as f: - f.write(contents) - host_path.chmod(mode) - logger.info("created nodefile: '%s'; mode: 0%o", host_path, mode) - def cmd(self, args: str, wait: bool = True, shell: bool = False) -> str: return self.host_cmd(args, wait=wait) - def addfile(self, src_path: str, file_path: str) -> None: - raise CoreError("physical node does not support addfile") + def create_dir(self, dir_path: Path) -> None: + raise CoreError("physical node does not support creating directories") + + def create_file(self, file_path: Path, contents: str, mode: int = 0o644) -> None: + raise CoreError("physical node does not support creating files") + + def copy_file(self, src_path: Path, dst_path: Path, mode: int = None) -> None: + raise CoreError("physical node does not support copying files") class Rj45Node(CoreNodeBase): @@ -430,12 +426,6 @@ def setposition(self, x: float = None, y: float = None, z: float = None) -> None def termcmdstring(self, sh: str) -> str: raise CoreError("rj45 does not support terminal commands") - def addfile(self, src_path: str, file_path: str) -> None: - raise CoreError("rj45 does not support addfile") - - def nodefile(self, file_path: str, contents: str, mode: int = 0o644) -> None: - raise CoreError("rj45 does not support nodefile") - def cmd(self, args: str, wait: bool = True, shell: bool = False) -> str: raise CoreError("rj45 does not support cmds") From 074a2263ce1980799c2f3acc10c9d0dc0fa7b9ce Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Fri, 25 Feb 2022 15:06:14 -0800 Subject: [PATCH 06/17] daemon: updates to network base to set default behavior for abstract function --- daemon/core/nodes/base.py | 8 ++++++++ daemon/core/nodes/network.py | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/daemon/core/nodes/base.py b/daemon/core/nodes/base.py index fa3c063c..fbee291a 100644 --- a/daemon/core/nodes/base.py +++ b/daemon/core/nodes/base.py @@ -969,7 +969,15 @@ def linknet(self, net: "CoreNetworkBase") -> CoreInterface: """ raise NotImplementedError + @abc.abstractmethod def custom_iface(self, node: CoreNode, iface_data: InterfaceData) -> CoreInterface: + """ + Defines custom logic for creating an interface, if required. + + :param node: node to create interface for + :param iface_data: data for creating interface + :return: created interface + """ raise NotImplementedError def get_linked_iface(self, net: "CoreNetworkBase") -> Optional[CoreInterface]: diff --git a/daemon/core/nodes/network.py b/daemon/core/nodes/network.py index 4337daa8..262d422c 100644 --- a/daemon/core/nodes/network.py +++ b/daemon/core/nodes/network.py @@ -22,7 +22,7 @@ ) from core.errors import CoreCommandError, CoreError from core.executables import NFTABLES -from core.nodes.base import CoreNetworkBase +from core.nodes.base import CoreNetworkBase, CoreNode from core.nodes.interface import CoreInterface, GreTap, Veth from core.nodes.netclient import get_net_client @@ -436,6 +436,9 @@ def add_ips(self, ips: List[str]) -> None: for ip in ips: self.net_client.create_address(self.brname, ip) + def custom_iface(self, node: CoreNode, iface_data: InterfaceData) -> CoreInterface: + raise CoreError(f"{type(self).__name__} does not support, custom interfaces") + class GreTapBridge(CoreNetwork): """ From b085105a6b16241a9f3c8fb2e64c64d6b1e8b01c Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Mon, 28 Feb 2022 10:03:34 -0800 Subject: [PATCH 07/17] install: updated install instructions to use the right command for centos example --- README.md | 2 +- docs/install.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3cd4ae9e..8dbe4e56 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ source ~/.bashrc # Ubuntu inv install # CentOS -./install.sh -p /usr +inv install -p /usr ``` ## Documentation & Support diff --git a/docs/install.md b/docs/install.md index f25d6c6c..2f6dbce3 100644 --- a/docs/install.md +++ b/docs/install.md @@ -127,7 +127,7 @@ source ~/.bashrc # Ubuntu inv install # CentOS -./install.sh -p /usr +inv install -p /usr ``` First you can use `setup.sh` as a convenience to install tooling for running invoke tasks: From a42697ecceb4aae724e535dbaf2ede1aa96af3b7 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Mon, 28 Feb 2022 22:05:01 -0800 Subject: [PATCH 08/17] daemon: consolidated the code for CoreNode commands into the class itself --- daemon/core/nodes/base.py | 32 ++++++++--------- daemon/core/nodes/client.py | 70 ------------------------------------- daemon/tests/test_core.py | 33 ----------------- 3 files changed, 16 insertions(+), 119 deletions(-) delete mode 100644 daemon/core/nodes/client.py diff --git a/daemon/core/nodes/base.py b/daemon/core/nodes/base.py index fbee291a..34bf6601 100644 --- a/daemon/core/nodes/base.py +++ b/daemon/core/nodes/base.py @@ -16,8 +16,7 @@ from core.emulator.data import InterfaceData, LinkData from core.emulator.enumerations import LinkTypes, MessageFlags, NodeTypes from core.errors import CoreCommandError, CoreError -from core.executables import MOUNT, TEST, VNODED -from core.nodes.client import VnodeClient +from core.executables import BASH, MOUNT, TEST, VCMD, VNODED from core.nodes.interface import DEFAULT_MTU, CoreInterface, TunTap, Veth from core.nodes.netclient import LinuxNetClient, get_net_client @@ -504,7 +503,6 @@ def __init__( super().__init__(session, _id, name, server) self.directory: Optional[Path] = directory self.ctrlchnlname: Path = self.session.directory / self.name - self.client: Optional[VnodeClient] = None self.pid: Optional[int] = None self.lock: RLock = RLock() self._mounts: List[Tuple[Path, Path]] = [] @@ -546,7 +544,6 @@ def startup(self) -> None: self.makenodedir() if self.up: raise ValueError("starting a node that is already up") - # create a new namespace for this node using vnoded vnoded = ( f"{VNODED} -v -c {self.ctrlchnlname} -l {self.ctrlchnlname}.log " @@ -557,25 +554,17 @@ def startup(self) -> None: env = self.session.get_environment(state=False) env["NODE_NUMBER"] = str(self.id) env["NODE_NAME"] = str(self.name) - output = self.host_cmd(vnoded, env=env) self.pid = int(output) logger.debug("node(%s) pid: %s", self.name, self.pid) - - # create vnode client - self.client = VnodeClient(self.name, self.ctrlchnlname) - # bring up the loopback interface logger.debug("bringing up loopback interface") self.node_net_client.device_up("lo") - # set hostname for node logger.debug("setting hostname: %s", self.name) self.node_net_client.set_hostname(self.name) - # mark node as up self.up = True - # create private directories for dir_path in PRIVATE_DIRS: self.create_dir(dir_path) @@ -609,13 +598,24 @@ def shutdown(self) -> None: logger.exception("error removing node directory") # clear interface data, close client, and mark self and not up self.ifaces.clear() - self.client.close() self.up = False except OSError: logger.exception("error during shutdown") finally: self.rmnodedir() + def _create_cmd(self, args: str, shell: bool = False) -> str: + """ + Create command used to run commands within the context of a node. + + :param args: command arguments + :param shell: True to run shell like, False otherwise + :return: node command + """ + if shell: + args = f'{BASH} -c "{args}"' + return f"{VCMD} -c {self.ctrlchnlname} -- {args}" + def cmd(self, args: str, wait: bool = True, shell: bool = False) -> str: """ Runs a command that is used to configure and setup the network within a @@ -627,10 +627,10 @@ def cmd(self, args: str, wait: bool = True, shell: bool = False) -> str: :return: combined stdout and stderr :raises CoreCommandError: when a non-zero exit status occurs """ + args = self._create_cmd(args, shell) if self.server is None: - return self.client.check_cmd(args, wait=wait, shell=shell) + return utils.cmd(args, wait=wait, shell=shell) else: - args = self.client.create_cmd(args, shell) return self.server.remote_cmd(args, wait=wait) def path_exists(self, path: str) -> bool: @@ -653,7 +653,7 @@ def termcmdstring(self, sh: str = "/bin/sh") -> str: :param sh: shell to execute command in :return: str """ - terminal = self.client.create_cmd(sh) + terminal = self._create_cmd(sh) if self.server is None: return terminal else: diff --git a/daemon/core/nodes/client.py b/daemon/core/nodes/client.py deleted file mode 100644 index c3afb907..00000000 --- a/daemon/core/nodes/client.py +++ /dev/null @@ -1,70 +0,0 @@ -""" -client.py: implementation of the VnodeClient class for issuing commands -over a control channel to the vnoded process running in a network namespace. -The control channel can be accessed via calls using the vcmd shell. -""" -from pathlib import Path - -from core import utils -from core.executables import BASH, VCMD - - -class VnodeClient: - """ - Provides client functionality for interacting with a virtual node. - """ - - def __init__(self, name: str, ctrlchnlname: Path) -> None: - """ - Create a VnodeClient instance. - - :param name: name for client - :param ctrlchnlname: control channel name - """ - self.name: str = name - self.ctrlchnlname: Path = ctrlchnlname - - def _verify_connection(self) -> None: - """ - Checks that the vcmd client is properly connected. - - :return: nothing - :raises IOError: when not connected - """ - if not self.connected(): - raise IOError("vcmd not connected") - - def connected(self) -> bool: - """ - Check if node is connected or not. - - :return: True if connected, False otherwise - """ - return True - - def close(self) -> None: - """ - Close the client connection. - - :return: nothing - """ - pass - - def create_cmd(self, args: str, shell: bool = False) -> str: - if shell: - args = f'{BASH} -c "{args}"' - return f"{VCMD} -c {self.ctrlchnlname} -- {args}" - - def check_cmd(self, args: str, wait: bool = True, shell: bool = False) -> str: - """ - Run command and return exit status and combined stdout and stderr. - - :param args: command to run - :param wait: True to wait for command status, False otherwise - :param shell: True to use shell, False otherwise - :return: combined stdout and stderr - :raises core.CoreCommandError: when there is a non-zero exit status - """ - self._verify_connection() - args = self.create_cmd(args, shell) - return utils.cmd(args, wait=wait, shell=shell) diff --git a/daemon/tests/test_core.py b/daemon/tests/test_core.py index d7a83452..3fbd91cb 100644 --- a/daemon/tests/test_core.py +++ b/daemon/tests/test_core.py @@ -63,39 +63,6 @@ def test_wired_ping( status = ping(node1, node2, ip_prefixes) assert not status - def test_vnode_client(self, request, session: Session, ip_prefixes: IpPrefixes): - """ - Test vnode client methods. - - :param request: pytest request - :param session: session for test - :param ip_prefixes: generates ip addresses for nodes - """ - # create ptp - ptp_node = session.add_node(PtpNet) - - # create nodes - node1 = session.add_node(CoreNode) - node2 = session.add_node(CoreNode) - - # link nodes to ptp net - for node in [node1, node2]: - iface_data = ip_prefixes.create_iface(node) - session.add_link(node.id, ptp_node.id, iface1_data=iface_data) - - # get node client for testing - client = node1.client - - # instantiate session - session.instantiate() - - # check we are connected - assert client.connected() - - # validate command - if not request.config.getoption("mock"): - assert client.check_cmd("echo hello") == "hello" - def test_iface(self, session: Session, ip_prefixes: IpPrefixes): """ Test interface methods. From 2eef7076f40aa708d12ca51e94fa085318b09446 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Wed, 2 Mar 2022 12:42:53 -0800 Subject: [PATCH 09/17] daemon: updated how local services are loaded to leverage full core path imports, avoiding name collisions with external modules --- daemon/core/emulator/coreemu.py | 3 +-- daemon/core/services/__init__.py | 20 -------------------- daemon/core/services/coreservices.py | 27 ++++++++++++++++++++++----- 3 files changed, 23 insertions(+), 27 deletions(-) diff --git a/daemon/core/emulator/coreemu.py b/daemon/core/emulator/coreemu.py index 179faf9c..9baadb54 100644 --- a/daemon/core/emulator/coreemu.py +++ b/daemon/core/emulator/coreemu.py @@ -6,7 +6,6 @@ from pathlib import Path from typing import Dict, List, Type -import core.services from core import utils from core.configservice.manager import ConfigServiceManager from core.emane.modelmanager import EmaneModelManager @@ -92,7 +91,7 @@ def _load_services(self) -> None: :return: nothing """ # load default services - self.service_errors = core.services.load() + self.service_errors = ServiceManager.load_locals() # load custom services service_paths = self.config.get("custom_services_dir") logger.debug("custom service paths: %s", service_paths) diff --git a/daemon/core/services/__init__.py b/daemon/core/services/__init__.py index 4d9b90a2..e69de29b 100644 --- a/daemon/core/services/__init__.py +++ b/daemon/core/services/__init__.py @@ -1,20 +0,0 @@ -""" -Services - -Services available to nodes can be put in this directory. Everything listed in -__all__ is automatically loaded by the main core module. -""" -from pathlib import Path - -from core.services.coreservices import ServiceManager - -_PATH: Path = Path(__file__).resolve().parent - - -def load(): - """ - Loads all services from the modules that reside under core.services. - - :return: list of services that failed to load - """ - return ServiceManager.add_services(_PATH) diff --git a/daemon/core/services/coreservices.py b/daemon/core/services/coreservices.py index cabc93c0..8d611d4b 100644 --- a/daemon/core/services/coreservices.py +++ b/daemon/core/services/coreservices.py @@ -9,6 +9,7 @@ import enum import logging +import pkgutil import time from pathlib import Path from typing import ( @@ -23,6 +24,7 @@ Union, ) +from core import services as core_services from core import utils from core.emulator.data import FileData from core.emulator.enumerations import ExceptionLevels, MessageFlags, RegisterTlvs @@ -233,25 +235,25 @@ def add(cls, service: Type["CoreService"]) -> None: """ name = service.name logger.debug("loading service: class(%s) name(%s)", service.__name__, name) - + # avoid services with no name + if name is None: + logger.debug("not loading class(%s) with no name", service.__name__) + return # avoid duplicate services if name in cls.services: - raise ValueError("duplicate service being added: %s" % name) - + raise ValueError(f"duplicate service being added: {name}") # validate dependent executables are present for executable in service.executables: try: utils.which(executable, required=True) except CoreError as e: raise CoreError(f"service({name}): {e}") - # validate service on load succeeds try: service.on_load() except Exception as e: logger.exception("error during service(%s) on load", service.name) raise ValueError(e) - # make service available cls.services[name] = service @@ -288,6 +290,21 @@ def add_services(cls, path: Path) -> List[str]: logger.debug("not loading service(%s): %s", service.name, e) return service_errors + @classmethod + def load_locals(cls) -> List[str]: + errors = [] + for module_info in pkgutil.walk_packages( + core_services.__path__, f"{core_services.__name__}." + ): + services = utils.load_module(module_info.name, CoreService) + for service in services: + try: + cls.add(service) + except CoreError as e: + errors.append(service.name) + logger.debug("not loading service(%s): %s", service.name, e) + return errors + class CoreServices: """ From 0536747d9a11997a456664a283a7b368d2a1736f Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Fri, 4 Mar 2022 09:19:56 -0800 Subject: [PATCH 10/17] daemon/gui: adjustments to how a session instantiates, allowing the new python gui to move to a failed start state, this allows inpecting the failed nodes to see what went wrong --- daemon/core/emulator/session.py | 38 ++++++--------------------------- daemon/core/gui/toolbar.py | 17 ++++++--------- 2 files changed, 13 insertions(+), 42 deletions(-) diff --git a/daemon/core/emulator/session.py b/daemon/core/emulator/session.py index 60d52f82..219555d5 100644 --- a/daemon/core/emulator/session.py +++ b/daemon/core/emulator/session.py @@ -1177,34 +1177,30 @@ def instantiate(self) -> List[Exception]: :return: list of service boot errors during startup """ + if self.state == EventTypes.RUNTIME_STATE: + logger.warning("ignoring instantiate, already in runtime state") + return [] # write current nodes out to session directory file self.write_nodes() - # create control net interfaces and network tunnels # which need to exist for emane to sync on location events # in distributed scenarios self.add_remove_control_net(0, remove=False) - # initialize distributed tunnels self.distributed.start() - # instantiate will be invoked again upon emane configure if self.emane.startup() == EmaneState.NOT_READY: return [] - # boot node services and then start mobility exceptions = self.boot_nodes() if not exceptions: self.mobility.startup() - # notify listeners that instantiation is complete event = EventData(event_type=EventTypes.INSTANTIATION_COMPLETE) self.broadcast_event(event) - - # assume either all nodes have booted already, or there are some - # nodes on slave servers that will be booted and those servers will - # send a node status response message - self.check_runtime() + # startup event loop + self.event_loop.run() + self.set_state(EventTypes.RUNTIME_STATE, send_event=True) return exceptions def get_node_count(self) -> int: @@ -1226,28 +1222,6 @@ def get_node_count(self) -> int: count += 1 return count - def check_runtime(self) -> None: - """ - Check if we have entered the runtime state, that all nodes have been - started and the emulation is running. Start the event loop once we - have entered runtime (time=0). - - :return: nothing - """ - # this is called from instantiate() after receiving an event message - # for the instantiation state - logger.debug( - "session(%s) checking if not in runtime state, current state: %s", - self.id, - self.state.name, - ) - if self.state == EventTypes.RUNTIME_STATE: - logger.info("valid runtime state found, returning") - return - # start event loop and set to runtime - self.event_loop.run() - self.set_state(EventTypes.RUNTIME_STATE, send_event=True) - def data_collect(self) -> None: """ Tear down a running session. Stop the event loop and any running diff --git a/daemon/core/gui/toolbar.py b/daemon/core/gui/toolbar.py index faf8ab36..7392071d 100644 --- a/daemon/core/gui/toolbar.py +++ b/daemon/core/gui/toolbar.py @@ -304,16 +304,13 @@ def click_start(self) -> None: task.start() def start_callback(self, result: bool, exceptions: List[str]) -> None: - if result: - self.set_runtime() - self.app.core.show_mobility_players() - else: - enable_buttons(self.design_frame, enabled=True) - if exceptions: - message = "\n".join(exceptions) - self.app.show_exception_data( - "Start Exception", "Session failed to start", message - ) + self.set_runtime() + self.app.core.show_mobility_players() + if not result and exceptions: + message = "\n".join(exceptions) + self.app.show_exception_data( + "Start Exception", "Session failed to start", message + ) def set_runtime(self) -> None: enable_buttons(self.runtime_frame, enabled=True) From f545726ed5c76c0351c02d3688591af4e84d2353 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Fri, 4 Mar 2022 09:55:40 -0800 Subject: [PATCH 11/17] daemon: small improvements to command error reporting, as well as catching and reporting config service get text dynamic exceptions --- daemon/core/configservice/base.py | 28 ++++++++++++++++++++++------ daemon/core/errors.py | 2 +- daemon/core/utils.py | 5 +++-- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/daemon/core/configservice/base.py b/daemon/core/configservice/base.py index 6e1dc859..e74b0567 100644 --- a/daemon/core/configservice/base.py +++ b/daemon/core/configservice/base.py @@ -43,6 +43,10 @@ class ConfigServiceBootError(Exception): pass +class ConfigServiceTemplateError(Exception): + pass + + @dataclass class ShadowDir: path: str @@ -316,7 +320,13 @@ def get_templates(self) -> Dict[str, str]: elif self.templates.has_template(template_path): template = self.templates.get_template(template_path).source else: - template = self.get_text_template(file) + try: + template = self.get_text_template(file) + except Exception as e: + raise ConfigServiceTemplateError( + f"node({self.node.name}) service({self.name}) file({file}) " + f"failure getting template: {e}" + ) template = self.clean_text(template) templates[file] = template return templates @@ -340,7 +350,13 @@ def create_files(self) -> None: elif self.templates.has_template(template_path): rendered = self.render_template(template_path, data) else: - text = self.get_text_template(file) + try: + text = self.get_text_template(file) + except Exception as e: + raise ConfigServiceTemplateError( + f"node({self.node.name}) service({self.name}) file({file}) " + f"failure getting template: {e}" + ) rendered = self.render_text(text, data) self.node.create_file(file_path, rendered) @@ -429,20 +445,20 @@ def render_text(self, text: str, data: Dict[str, Any] = None) -> str: f"{exceptions.text_error_template().render_unicode()}" ) - def render_template(self, basename: str, data: Dict[str, Any] = None) -> str: + def render_template(self, template_path: str, data: Dict[str, Any] = None) -> str: """ Renders file based template providing all associated data to template. - :param basename: base name for file to render + :param template_path: path of file to render :param data: service specific defined data for template :return: rendered template """ try: - template = self.templates.get_template(basename) + template = self.templates.get_template(template_path) return self._render(template, data) except Exception: raise CoreError( - f"node({self.node.name}) service({self.name}) " + f"node({self.node.name}) service({self.name}) file({template_path})" f"{exceptions.text_error_template().render_template()}" ) diff --git a/daemon/core/errors.py b/daemon/core/errors.py index 20ffc3a9..83d252b8 100644 --- a/daemon/core/errors.py +++ b/daemon/core/errors.py @@ -11,7 +11,7 @@ class CoreCommandError(subprocess.CalledProcessError): def __str__(self) -> str: return ( - f"Command({self.cmd}), Status({self.returncode}):\n" + f"command({self.cmd}), status({self.returncode}):\n" f"stdout: {self.output}\nstderr: {self.stderr}" ) diff --git a/daemon/core/utils.py b/daemon/core/utils.py index fcc37842..c9604f08 100644 --- a/daemon/core/utils.py +++ b/daemon/core/utils.py @@ -227,6 +227,7 @@ def cmd( execute is not found """ logger.debug("command cwd(%s) wait(%s): %s", cwd, wait, args) + input_args = args if shell is False: args = shlex.split(args) try: @@ -238,13 +239,13 @@ def cmd( stderr = stderr.decode("utf-8").strip() status = p.wait() if status != 0: - raise CoreCommandError(status, args, stdout, stderr) + raise CoreCommandError(status, input_args, stdout, stderr) return stdout else: return "" except OSError as e: logger.error("cmd error: %s", e.strerror) - raise CoreCommandError(1, args, "", e.strerror) + raise CoreCommandError(1, input_args, "", e.strerror) def file_munge(pathname: str, header: str, text: str) -> None: From d684b8eb5a6bd131d3b2aa7ae2c8b139a2c18912 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Fri, 11 Mar 2022 11:04:01 -0800 Subject: [PATCH 12/17] docs: updated emane python example to use updated set_config --- docs/python.md | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/docs/python.md b/docs/python.md index fe776662..ba4b4f33 100644 --- a/docs/python.md +++ b/docs/python.md @@ -341,19 +341,11 @@ EMANE Model Configuration: ```python from core import utils -# emane network specific config -session.emane.set_model_config(emane.id, EmaneIeee80211abgModel.name, { - "unicastrate": "3", -}) - -# node specific config -session.emane.set_model_config(node.id, EmaneIeee80211abgModel.name, { - "unicastrate": "3", -}) - -# node interface specific config +# standardized way to retrieve an appropriate config id +# iface id can be omitted, to allow a general configuration for a model, per node config_id = utils.iface_config_id(node.id, iface_id) -session.emane.set_model_config(config_id, EmaneIeee80211abgModel.name, { +# set emane configuration for the config id +session.emane.set_config(config_id, EmaneIeee80211abgModel.name, { "unicastrate": "3", }) ``` From 5398cdd2d5c6e5f2fb2ee2b1d54b83fdbf8661bd Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Mon, 21 Mar 2022 15:57:13 -0700 Subject: [PATCH 13/17] core-cli: fixed xml load call to use the right parameter type --- daemon/scripts/core-cli | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/daemon/scripts/core-cli b/daemon/scripts/core-cli index fbbe6ede..365e6411 100755 --- a/daemon/scripts/core-cli +++ b/daemon/scripts/core-cli @@ -94,11 +94,11 @@ def geo_type(value: str) -> Tuple[float, float, float]: return lon, lat, alt -def file_type(value: str) -> str: +def file_type(value: str) -> Path: path = Path(value) if not path.is_file(): raise ArgumentTypeError(f"invalid file: {value}") - return str(path.absolute()) + return path def get_current_session(core: CoreGrpcClient, session_id: Optional[int]) -> int: From b94139510024c94c32ac3e2c0eeee596e7f8f851 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Mon, 21 Mar 2022 20:59:18 -0700 Subject: [PATCH 14/17] core-cli: updates to add back json output --- daemon/core/api/grpc/wrappers.py | 9 ++ daemon/scripts/core-cli | 198 ++++++++++++++++++++----------- 2 files changed, 139 insertions(+), 68 deletions(-) diff --git a/daemon/core/api/grpc/wrappers.py b/daemon/core/api/grpc/wrappers.py index ffeb6793..94a1598c 100644 --- a/daemon/core/api/grpc/wrappers.py +++ b/daemon/core/api/grpc/wrappers.py @@ -637,6 +637,15 @@ def from_proto(cls, proto: core_pb2.SessionSummary) -> "SessionSummary": dir=proto.dir, ) + def to_proto(self) -> core_pb2.SessionSummary: + return core_pb2.SessionSummary( + id=self.id, + state=self.state.value, + nodes=self.nodes, + file=self.file, + dir=self.dir, + ) + @dataclass class Hook: diff --git a/daemon/scripts/core-cli b/daemon/scripts/core-cli index 365e6411..781f64f0 100755 --- a/daemon/scripts/core-cli +++ b/daemon/scripts/core-cli @@ -1,22 +1,24 @@ #!/usr/bin/env python3 +import json import sys from argparse import ( ArgumentDefaultsHelpFormatter, ArgumentParser, ArgumentTypeError, Namespace, - _SubParsersAction, ) from functools import wraps from pathlib import Path -from typing import Optional, Tuple +from typing import Any, Dict, Optional, Tuple import grpc import netaddr +from google.protobuf.json_format import MessageToDict from netaddr import EUI, AddrFormatError, IPNetwork from core.api.grpc.client import CoreGrpcClient from core.api.grpc.wrappers import ( + ConfigOption, Geo, Interface, Link, @@ -29,6 +31,15 @@ from core.api.grpc.wrappers import ( NODE_TYPES = [x for x in NodeType if x != NodeType.PEER_TO_PEER] +def protobuf_to_json(message: Any) -> Dict[str, Any]: + return MessageToDict(message, including_default_value_fields=True, preserving_proto_field_name=True) + + +def print_json(data: Any) -> None: + data = json.dumps(data, indent=2) + print(data) + + def coreclient(func): @wraps(func) def wrapper(*args, **kwargs): @@ -140,12 +151,15 @@ def print_iface(iface: Interface) -> None: def get_wlan_config(core: CoreGrpcClient, args: Namespace) -> None: session_id = get_current_session(core, args.session) config = core.get_wlan_config(session_id, args.node) - size = 0 - for option in config.values(): - size = max(size, len(option.name)) - print(f"{'Name':<{size}.{size}} | Value") - for option in config.values(): - print(f"{option.name:<{size}.{size}} | {option.value}") + if args.json: + print_json(ConfigOption.to_dict(config)) + else: + size = 0 + for option in config.values(): + size = max(size, len(option.name)) + print(f"{'Name':<{size}.{size}} | Value") + for option in config.values(): + print(f"{option.name:<{size}.{size}} | {option.value}") @coreclient @@ -163,80 +177,102 @@ def set_wlan_config(core: CoreGrpcClient, args: Namespace) -> None: if args.range: config["range"] = str(args.range) result = core.set_wlan_config(session_id, args.node, config) - print(f"set wlan config: {result}") + if args.json: + print_json(dict(result=result)) + else: + print(f"set wlan config: {result}") @coreclient def open_xml(core: CoreGrpcClient, args: Namespace) -> None: result, session_id = core.open_xml(args.file, args.start) - print(f"opened xml: {result},{session_id}") + if args.json: + print_json(dict(result=result, session_id=session_id)) + else: + print(f"opened xml: {result},{session_id}") @coreclient def query_sessions(core: CoreGrpcClient, args: Namespace) -> None: sessions = core.get_sessions() - print("Session ID | Session State | Nodes") - for session in sessions: - print(f"{session.id:<10} | {session.state.name:<13} | {session.nodes}") + if args.json: + sessions = [protobuf_to_json(x.to_proto()) for x in sessions] + print_json(sessions) + else: + print("Session ID | Session State | Nodes") + for session in sessions: + print(f"{session.id:<10} | {session.state.name:<13} | {session.nodes}") @coreclient def query_session(core: CoreGrpcClient, args: Namespace) -> None: session = core.get_session(args.id) - print("Nodes") - print("Node ID | Node Name | Node Type") - for node in session.nodes.values(): - print(f"{node.id:<7} | {node.name:<9} | {node.type.name}") - print("\nLinks") - for link in session.links: - n1 = session.nodes[link.node1_id].name - n2 = session.nodes[link.node2_id].name - print(f"Node | ", end="") - print_iface_header() - print(f"{n1:<6} | ", end="") - if link.iface1: - print_iface(link.iface1) - else: - print() - print(f"{n2:<6} | ", end="") - if link.iface2: - print_iface(link.iface2) - else: + if args.json: + session = protobuf_to_json(session.to_proto()) + print_json(session) + else: + print("Nodes") + print("Node ID | Node Name | Node Type") + for node in session.nodes.values(): + print(f"{node.id:<7} | {node.name:<9} | {node.type.name}") + print("\nLinks") + for link in session.links: + n1 = session.nodes[link.node1_id].name + n2 = session.nodes[link.node2_id].name + print(f"Node | ", end="") + print_iface_header() + print(f"{n1:<6} | ", end="") + if link.iface1: + print_iface(link.iface1) + else: + print() + print(f"{n2:<6} | ", end="") + if link.iface2: + print_iface(link.iface2) + else: + print() print() - print() @coreclient def query_node(core: CoreGrpcClient, args: Namespace) -> None: session = core.get_session(args.id) node, ifaces, _ = core.get_node(args.id, args.node) - print("ID | Name | Type | XY") - xy_pos = f"{int(node.position.x)},{int(node.position.y)}" - print(f"{node.id:<4} | {node.name[:7]:<7} | {node.type.name[:7]:<7} | {xy_pos}") - if node.geo: - print("Geo") - print(f"{node.geo.lon:.7f},{node.geo.lat:.7f},{node.geo.alt:f}") - if ifaces: - print("Interfaces") - print("Connected To | ", end="") - print_iface_header() - for iface in ifaces: - if iface.net_id == node.id: - if iface.node_id: - name = session.nodes[iface.node_id].name + if args.json: + node = protobuf_to_json(node.to_proto()) + ifaces = [protobuf_to_json(x.to_proto()) for x in ifaces] + print_json(dict(node=node, ifaces=ifaces)) + else: + print("ID | Name | Type | XY") + xy_pos = f"{int(node.position.x)},{int(node.position.y)}" + print(f"{node.id:<4} | {node.name[:7]:<7} | {node.type.name[:7]:<7} | {xy_pos}") + if node.geo: + print("Geo") + print(f"{node.geo.lon:.7f},{node.geo.lat:.7f},{node.geo.alt:f}") + if ifaces: + print("Interfaces") + print("Connected To | ", end="") + print_iface_header() + for iface in ifaces: + if iface.net_id == node.id: + if iface.node_id: + name = session.nodes[iface.node_id].name + else: + name = session.nodes[iface.net2_id].name else: - name = session.nodes[iface.net2_id].name - else: - net_node = session.nodes.get(iface.net_id) - name = net_node.name if net_node else "" - print(f"{name:<12} | ", end="") - print_iface(iface) + net_node = session.nodes.get(iface.net_id) + name = net_node.name if net_node else "" + print(f"{name:<12} | ", end="") + print_iface(iface) @coreclient def delete_session(core: CoreGrpcClient, args: Namespace) -> None: result = core.delete_session(args.id) - print(f"delete session({args.id}): {result}") + if args.json: + print_json(dict(result=result)) + else: + print(f"delete session({args.id}): {result}") @coreclient @@ -263,14 +299,20 @@ def add_node(core: CoreGrpcClient, args: Namespace) -> None: geo=geo, ) node_id = core.add_node(session_id, node) - print(f"created node: {node_id}") + if args.json: + print_json(dict(node_id=node_id)) + else: + print(f"created node: {node_id}") @coreclient def edit_node(core: CoreGrpcClient, args: Namespace) -> None: session_id = get_current_session(core, args.session) result = core.edit_node(session_id, args.id, args.icon) - print(f"edit node: {result}") + if args.json: + print_json(dict(result=result)) + else: + print(f"edit node: {result}") @coreclient @@ -285,14 +327,20 @@ def move_node(core: CoreGrpcClient, args: Namespace) -> None: lon, lat, alt = args.geo geo = Geo(lon=lon, lat=lat, alt=alt) result = core.move_node(session_id, args.id, pos, geo) - print(f"move node: {result}") + if args.json: + print_json(dict(result=result)) + else: + print(f"move node: {result}") @coreclient def delete_node(core: CoreGrpcClient, args: Namespace) -> None: session_id = get_current_session(core, args.session) result = core.delete_node(session_id, args.id) - print(f"deleted node: {result}") + if args.json: + print_json(dict(result=result)) + else: + print(f"deleted node: {result}") @coreclient @@ -313,8 +361,13 @@ def add_link(core: CoreGrpcClient, args: Namespace) -> None: unidirectional=args.uni, ) link = Link(args.node1, args.node2, iface1=iface1, iface2=iface2, options=options) - result, _, _ = core.add_link(session_id, link) - print(f"add link: {result}") + result, iface1, iface2 = core.add_link(session_id, link) + if args.json: + iface1 = protobuf_to_json(iface1.to_proto()) + iface2 = protobuf_to_json(iface2.to_proto()) + print_json(dict(result=result, iface1=iface1, iface2=iface2)) + else: + print(f"add link: {result}") @coreclient @@ -332,7 +385,10 @@ def edit_link(core: CoreGrpcClient, args: Namespace) -> None: iface2 = Interface(args.iface2) link = Link(args.node1, args.node2, iface1=iface1, iface2=iface2, options=options) result = core.edit_link(session_id, link) - print(f"edit link: {result}") + if args.json: + print_json(dict(result=result)) + else: + print(f"edit link: {result}") @coreclient @@ -342,10 +398,13 @@ def delete_link(core: CoreGrpcClient, args: Namespace) -> None: iface2 = Interface(args.iface2) link = Link(args.node1, args.node2, iface1=iface1, iface2=iface2) result = core.delete_link(session_id, link) - print(f"delete link: {result}") + if args.json: + print_json(dict(result=result)) + else: + print(f"delete link: {result}") -def setup_sessions_parser(parent: _SubParsersAction) -> None: +def setup_sessions_parser(parent) -> None: parser = parent.add_parser("session", help="session interactions") parser.formatter_class = ArgumentDefaultsHelpFormatter parser.add_argument("-i", "--id", type=int, help="session id to use", required=True) @@ -358,7 +417,7 @@ def setup_sessions_parser(parent: _SubParsersAction) -> None: delete_parser.set_defaults(func=delete_session) -def setup_node_parser(parent: _SubParsersAction) -> None: +def setup_node_parser(parent) -> None: parser = parent.add_parser("node", help="node interactions") parser.formatter_class = ArgumentDefaultsHelpFormatter parser.add_argument("-s", "--session", type=int, help="session to interact with") @@ -402,7 +461,7 @@ def setup_node_parser(parent: _SubParsersAction) -> None: delete_parser.set_defaults(func=delete_node) -def setup_link_parser(parent: _SubParsersAction) -> None: +def setup_link_parser(parent) -> None: parser = parent.add_parser("link", help="link interactions") parser.formatter_class = ArgumentDefaultsHelpFormatter parser.add_argument("-s", "--session", type=int, help="session to interact with") @@ -455,7 +514,7 @@ def setup_link_parser(parent: _SubParsersAction) -> None: delete_parser.set_defaults(func=delete_link) -def setup_query_parser(parent: _SubParsersAction) -> None: +def setup_query_parser(parent) -> None: parser = parent.add_parser("query", help="query interactions") subparsers = parser.add_subparsers(help="query commands") subparsers.required = True @@ -477,7 +536,7 @@ def setup_query_parser(parent: _SubParsersAction) -> None: node_parser.set_defaults(func=query_node) -def setup_xml_parser(parent: _SubParsersAction) -> None: +def setup_xml_parser(parent) -> None: parser = parent.add_parser("xml", help="open session xml") parser.formatter_class = ArgumentDefaultsHelpFormatter parser.add_argument("-f", "--file", type=file_type, help="xml file to open", required=True) @@ -485,7 +544,7 @@ def setup_xml_parser(parent: _SubParsersAction) -> None: parser.set_defaults(func=open_xml) -def setup_wlan_parser(parent: _SubParsersAction) -> None: +def setup_wlan_parser(parent) -> None: parser = parent.add_parser("wlan", help="wlan specific interactions") parser.formatter_class = ArgumentDefaultsHelpFormatter parser.add_argument("-s", "--session", type=int, help="session to interact with") @@ -511,6 +570,9 @@ def setup_wlan_parser(parent: _SubParsersAction) -> None: def main() -> None: parser = ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter) + parser.add_argument( + "-js", "--json", action="store_true", help="print responses to terminal as json" + ) subparsers = parser.add_subparsers(help="supported commands") subparsers.required = True subparsers.dest = "command" From 2df8aa4379057b7a62b179c3d7056af97527ac84 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Mon, 21 Mar 2022 21:04:43 -0700 Subject: [PATCH 15/17] updated version to 8.2.0 for next release --- configure.ac | 2 +- daemon/pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index a3d61abc..78980b56 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. # this defines the CORE version number, must be static for AC_INIT -AC_INIT(core, 8.1.0) +AC_INIT(core, 8.2.0) # autoconf and automake initialization AC_CONFIG_SRCDIR([netns/version.h.in]) diff --git a/daemon/pyproject.toml b/daemon/pyproject.toml index a92cc994..9e11d3f6 100644 --- a/daemon/pyproject.toml +++ b/daemon/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "core" -version = "8.1.0" +version = "8.2.0" description = "CORE Common Open Research Emulator" authors = ["Boeing Research and Technology"] license = "BSD-2-Clause" From 6d8ae4af2e76f465ae0e3ed5df085d8d49126c86 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Mon, 21 Mar 2022 21:35:05 -0700 Subject: [PATCH 16/17] core-cli: add geo position to node output for query session and node --- daemon/scripts/core-cli | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/daemon/scripts/core-cli b/daemon/scripts/core-cli index 781f64f0..6f2c1f5b 100755 --- a/daemon/scripts/core-cli +++ b/daemon/scripts/core-cli @@ -212,9 +212,11 @@ def query_session(core: CoreGrpcClient, args: Namespace) -> None: print_json(session) else: print("Nodes") - print("Node ID | Node Name | Node Type") + print("ID | Name | Type | XY | Geo") for node in session.nodes.values(): - print(f"{node.id:<7} | {node.name:<9} | {node.type.name}") + xy_pos = f"{int(node.position.x)},{int(node.position.y)}" + geo_pos = f"{node.geo.lon:.7f},{node.geo.lat:.7f},{node.geo.alt:f}" + print(f"{node.id:<7} | {node.name[:7]:<7} | {node.type.name[:7]:<7} | {xy_pos:<9} | {geo_pos}") print("\nLinks") for link in session.links: n1 = session.nodes[link.node1_id].name @@ -243,12 +245,10 @@ def query_node(core: CoreGrpcClient, args: Namespace) -> None: ifaces = [protobuf_to_json(x.to_proto()) for x in ifaces] print_json(dict(node=node, ifaces=ifaces)) else: - print("ID | Name | Type | XY") + print("ID | Name | Type | XY | Geo") xy_pos = f"{int(node.position.x)},{int(node.position.y)}" - print(f"{node.id:<4} | {node.name[:7]:<7} | {node.type.name[:7]:<7} | {xy_pos}") - if node.geo: - print("Geo") - print(f"{node.geo.lon:.7f},{node.geo.lat:.7f},{node.geo.alt:f}") + geo_pos = f"{node.geo.lon:.7f},{node.geo.lat:.7f},{node.geo.alt:f}" + print(f"{node.id:<7} | {node.name[:7]:<7} | {node.type.name[:7]:<7} | {xy_pos:<9} | {geo_pos}") if ifaces: print("Interfaces") print("Connected To | ", end="") From d7b2c3cac3453b234aef0e6ae69612a4faab30d5 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Mon, 21 Mar 2022 21:43:24 -0700 Subject: [PATCH 17/17] updated changelog for 8.2.0 release --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce95c5fd..7a85ee34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +## 2022-03-21 CORE 8.2.0 + +* core-gui + * improved failed starts to trigger runtime to allow node investigation +* core-daemon + * improved default service loading to use a full import path + * updated session instantiation to always set to a runtime state +* core-cli + * \#672 - fixed xml loading + * \#578 - restored json flag and added geo output to session overview +* Documentation + * updated emane example and documentation + * improved table markdown + ## 2022-02-18 CORE 8.1.0 * Installation