Commit graph

1709 commits

Author SHA1 Message Date
Blake Harnden
3949bd6d1b Merge branch 'develop' into enhancement/poetry-invoke 2020-07-07 19:44:41 -07:00
Blake Harnden
bb4514b93e daemon: changes to saving and restoring server used for nodes in xml 2020-07-07 15:16:17 -07:00
Blake Harnden
f1ff1a6577 pygui: only attempt to run observer commands on container nodes 2020-07-07 14:24:43 -07:00
Blake Harnden
6648dc7825 pygui: service and config service dialogs will now properly show services for default group selected 2020-07-07 08:46:47 -07:00
Blake Harnden
c761c55ebc tests: patch utils.which 2020-07-06 21:47:46 -07:00
Blake Harnden
0045c8d79c pygui: avoid trying to bring up a terminal for rj45 nodes 2020-07-06 21:37:04 -07:00
Blake Harnden
6f7e42d310 daemon: avoid command error logging when checking for emane version as validation for checking if emane is installed 2020-07-06 21:32:43 -07:00
bharnden
3590f2c370
Merge pull request #484 from coreemu/enhancement/runtime-emane-link
Enhancement/runtime emane link
2020-07-06 21:18:29 -07:00
Blake Harnden
8dc570a98d daemon: removed commented out code 2020-07-06 21:13:54 -07:00
Blake Harnden
b3a4b1cb10 daemon: updates to support running emane on the fly for a newly connected link 2020-07-05 21:56:22 -07:00
Blake Harnden
5cc4d92760 daemon: removed nem map from individual emane networks, all nems are stored and generated from the emane manager 2020-07-05 21:29:03 -07:00
Blake Harnden
fcda1f9f14 daemon: CoreInterface now defaults to a virtual transport type, added utility methods to check if an interface is virtual/raw, cleaned up all emane code using these types of checks 2020-07-03 09:08:36 -07:00
Blake Harnden
ac1c27b1c8 daemon: fixed issues when emane generated platform.xml for raw interfaces 2020-07-03 08:51:17 -07:00
Blake Harnden
ddcb0205f3 daemon: cleaned up emane stopdaemons logic 2020-07-02 23:32:59 -07:00
Blake Harnden
2b3e26b7c2 daemon: cleanup emane transport service in relation to refactoring, silenced stopdaemons for rj45 nodes 2020-07-02 23:19:40 -07:00
Blake Harnden
5f676b27ba tests: removed invalid patch due to emane refactoring 2020-07-02 22:15:12 -07:00
Blake Harnden
ce4b61d3b2 daemon: further heavy cleanup to how emane generates and runs xml files 2020-07-02 17:49:56 -07:00
Blake Harnden
bd48e14348 daemon: initial changes to rework logic to start emane for a given interface 2020-07-02 15:37:51 -07:00
Blake Harnden
e549830e33 core-cli: fix to avoid errors for querying nodes with peer to peer links, until there is a proper way to get the other ends node name 2020-07-01 15:20:53 -07:00
Blake Harnden
da9c0d0660 daemon: initial changes to breakout custom interface creation for networks that require it, without being emane specific 2020-07-01 14:40:19 -07:00
Blake Harnden
a870c15b43 pygui: fixed joining sessions with mobility players 2020-07-01 12:11:34 -07:00
Blake Harnden
08bbaf463b core-cli: updated xml command to use a flag argument to be consistent for now 2020-07-01 11:06:09 -07:00
Blake Harnden
7a6c602369 core-cli: cleaned up core client usage by way of a decorator, helps provide convenient grpc error catching 2020-07-01 11:01:44 -07:00
Blake Harnden
3477e84e9d core-cli: added wlan set/get config, fixed session option for node/link interactions 2020-07-01 09:30:05 -07:00
Blake Harnden
537291b219 core-cli: added open xml command to a session xml and optionally start it 2020-06-30 22:16:00 -07:00
Blake Harnden
f22edd1d25 grpc: fixed accidental breakage for get_session ptp links 2020-06-30 16:16:58 -07:00
Blake Harnden
4a0fdf3307 core-cli: add function for printing protobuf responses as json 2020-06-30 15:21:33 -07:00
Blake Harnden
beaebcfa24 grpc: added node_id and net2_id data to interface protos to allow querying a node to provide the node and networks an interface is associated with 2020-06-30 12:34:20 -07:00
Blake Harnden
ab17cb1053 grpc: grpc get_session will no longer return peer to peer nodes, they should be invisible to users, updated core-cli to print human readable links better 2020-06-30 09:50:28 -07:00
Blake Harnden
d480a1dd4c grpc: removed LinkOptions opaque as it was not being used 2020-06-30 09:38:22 -07:00
Blake Harnden
69721dc129 grpc: updated client edit_node to have source as last parameter to be consistent with source placement on all other functions 2020-06-30 09:32:56 -07:00
Blake Harnden
aef3fe8d50 updated core-cli to use consistent shorthand options and existing longform options 2020-06-30 09:25:36 -07:00
Blake Harnden
ec845b920c removed ip mask options from core-cli add link, combined with ip and will parse input to provide simpler interface 2020-06-30 08:27:40 -07:00
Blake Harnden
59e7395a4f initial addition of core-cli script that can be used to run commands and query information with sessions using grpc, similar in concept to coresendmsg 2020-06-29 23:00:33 -07:00
Blake Harnden
c8daeb02d8 grpc: fixed issue with not catching error in delete_node from broadcast changes 2020-06-26 22:29:17 -07:00
Blake Harnden
5eae67aac5 grpc/pygui: updated add_node source support, updated pygui to handle add_node events 2020-06-26 22:11:36 -07:00
Blake Harnden
e79645013b grpc/pygui: updated delete_node to use the source, updated pygui to support delete node events 2020-06-26 21:45:29 -07:00
Blake Harnden
f4a3fe6b7b grpc/pygui: edit_link will now broadcast link changes, pygui now handles receiving this data 2020-06-26 15:14:30 -07:00
Blake Harnden
f921fa45c5 grpc: updated client methods to allow passing source for add_link/delete_link, None by default 2020-06-26 14:44:13 -07:00
Blake Harnden
aebbff8c22 grpc/pygui: shifted source field in node events to base event message to apply to all events, updated add_link/delete_link rpc calls to broadcast events, updated pygui to handle these events 2020-06-26 14:39:12 -07:00
Blake Harnden
eac941ce72 pygui: updates to show wireless edges in details panel, increased edge thickness to be the same as normal edges for selection to be easier 2020-06-26 09:13:38 -07:00
Blake Harnden
f4224d1b80 daemon: updated ovs option to be a formal session option, will now display within gui, save to and be read from xml 2020-06-25 22:05:10 -07:00
Blake Harnden
b94d4d3507 daemon: updated open xml with start flag to set instantiation state before running instantiate to be consistent with other cases 2020-06-25 21:34:45 -07:00
Blake Harnden
3bfc299bfd daemon: fixed typo in core.configservices.securityservices 2020-06-25 16:22:56 -07:00
Blake Harnden
98e4baca04 pygui: added services to node info panel 2020-06-25 15:05:24 -07:00
Blake Harnden
f582306bb9 pygui: added support for a details pane, can be toggled on/off, can be used to quickly view details for nodes or links 2020-06-25 10:35:01 -07:00
Blake Harnden
bb2ceaf993 pygui: draw link options on edges 2020-06-23 22:53:48 -07:00
Blake Harnden
6490b5b9cb pygui: fixed and changed custom service copy to focus only on copying the current file displayed from any other nodes with a customized version 2020-06-23 16:11:39 -07:00
Blake Harnden
60d9fe2026 pygui: clear throughput labels when disabling throughput 2020-06-23 14:48:27 -07:00
Blake Harnden
7215f852b8 grpc: added check for emane pathloss when nem id is None and throw an error 2020-06-23 13:34:40 -07:00
Blake Harnden
9649337f18 daemon: updated xml to save links using consistent iface1/2 naming, still fallback to reading interface_one/two 2020-06-23 13:31:31 -07:00
Blake Harnden
14573184e0 pygui: fixed syning session location settings when not in runtime mode, for saving xml 2020-06-23 13:28:41 -07:00
Blake Harnden
8e2cfa61c9 pygui: size and scale meter width and height are no longer editable, but will dynamically update with changes to related size/scale values 2020-06-23 10:09:16 -07:00
Blake Harnden
6dd6bc87ab daemon: renamed executable variables to be simpler 2020-06-23 09:35:11 -07:00
Blake Harnden
8f19ad057c daemon: cleaned up requirement check, updated github workflow to modify correct file 2020-06-23 09:24:40 -07:00
Blake Harnden
e0c9f9c832 daemon: moved executable check to CoreEmu and separated them into their own module core.executables 2020-06-23 09:11:37 -07:00
Blake Harnden
c43dd60a42 daemon: small adjustment in sdt.py 2020-06-22 21:47:03 -07:00
Blake Harnden
1ef66181c6 daemon: moved QUAGGA_STATE_DIR from constants.py to quagga service files 2020-06-22 21:39:29 -07:00
Blake Harnden
2145c07cb7 daemon: moved FRR_STATE_DIR from constants.py to frr service files 2020-06-22 21:36:39 -07:00
Blake Harnden
f39ab1dee6 pygui: limit rj45 node to 1 link 2020-06-22 21:13:24 -07:00
Blake Harnden
27e35a5213 pygui: session options dialog is disabled during runtime 2020-06-22 19:40:42 -07:00
Blake Harnden
344f35e93e pygui: updated ConfigFrame to have a disabled display option, updated nodes to stil show emane config during runtime, updated emane dialog and config dialogs to be in a viewable but disabled state during runtime 2020-06-22 19:04:55 -07:00
Blake Harnden
527d34e374 pygui: added type hinting to class variables for core.gui.dialogs 2020-06-22 11:04:33 -07:00
Blake Harnden
11be40bc90 pygui: added class variable type hinting to core.gui.graph 2020-06-19 23:24:07 -07:00
Blake Harnden
0356f3b19c pygui: added type hinting to everything under base core.gui 2020-06-19 22:08:24 -07:00
Blake Harnden
adfce52632 daemon: removed utils.validate_mac and shifted tests to test_nodes 2020-06-19 15:41:41 -07:00
Blake Harnden
0d4a360e89 daemon: removed utils.validate_ip and shifted tests to test_nodes 2020-06-19 15:32:17 -07:00
Blake Harnden
1829a8e2f8 daemon: refactored CoreInterface.mac from a string to a netaddr.EUI object, providing more functionality 2020-06-19 15:21:45 -07:00
Blake Harnden
cfda9509a2 daemon: refactored TunTap setaddrs to set_ips to be more consistent with new naming 2020-06-19 13:52:59 -07:00
Blake Harnden
f07176dd43 daemon: provide safe fallback for emane install ifaces, in case external configuration does not exist 2020-06-19 13:51:11 -07:00
Blake Harnden
cd6083aed9 daemon: fixed issue not checking if an emane interface is a TunTap before using a specific function, fixed issue not looking for possible iface specific configuration for external 2020-06-19 13:44:28 -07:00
Blake Harnden
88fe860f97 fixed examples using IpPrefixes class 2020-06-19 13:25:47 -07:00
Blake Harnden
19af9c3f51 daemon: added proper checks for FRRService calls 2020-06-19 11:18:39 -07:00
Blake Harnden
9e4429fbbc daemon: refactored InterfaceData.get_addresses to InterfaceData.get_ips 2020-06-19 11:11:45 -07:00
Blake Harnden
20feea8f12 daemon: refactored usages of addr to ip and updated functions to align 2020-06-19 10:54:58 -07:00
Blake Harnden
d88f3a2535 daemon: refactored CoreInterface.addrlist storing strings into CoreInterface.ip4s and ip6s, stored as netaddr.IPNetwork objects 2020-06-19 08:50:36 -07:00
Blake Harnden
ca2b1c9e4c daemon: refactored all_link_data to links 2020-06-18 21:33:28 -07:00
Blake Harnden
b2ea8cbbf6 daemon: added type hinting throughout config services 2020-06-18 14:15:45 -07:00
Blake Harnden
cd74a44558 daemon: added type hinting throughout all services and made small tweaks/fixes that were ran across 2020-06-18 12:54:36 -07:00
Blake Harnden
e46a072f74 daemon: removed missing params from python docs, updated node ValueErrors to CoreErrors 2020-06-18 09:33:54 -07:00
Blake Harnden
ecc3eb1c89 daemon: refactored NodeData to reference a node instead of replicating fields as an intermediate passthrough, removed data() functions from nodes due to this change 2020-06-18 09:06:31 -07:00
Blake Harnden
3d7d775bfb daemon: removed unused variables from LinkOptions 2020-06-18 00:15:44 -07:00
Blake Harnden
5d34a2b752 daemon: removed opaque from NodeBase, since it is not used 2020-06-17 22:59:50 -07:00
Blake Harnden
b92ff0586a daemon: renamed NodeData.node_type to type, removed NodeData/NodeOptions fields that were not being used for clarity 2020-06-17 22:43:13 -07:00
Blake Harnden
a64047e221 fixed issue with xorp service depending on old MacAddress class 2020-06-16 23:27:17 -07:00
Blake Harnden
f4671ab2b8 daemon: refactored usages of hwaddr to mac and be consistent everywhere 2020-06-16 23:25:26 -07:00
Blake Harnden
a1734c3bc0 grpc: updated Interface proto fields to be more consistent with code, ip4mask to ip4_mask, ip6mask to ip6_mask, netid to net_id, flowid to flow_id 2020-06-16 22:05:36 -07:00
Blake Harnden
351b99aae0 daemon: renamed LinkData.link_type to LinkData.type and removed LinkOptions.type to remove redundant information, link_type param added to session.add_link, delete_link, and update_link functions 2020-06-16 21:53:12 -07:00
Blake Harnden
a29a7a5582 refactored LinkOptions to be used within LinkData, instead of duplicating data, removed session from LinkOptions and LinkData 2020-06-16 14:18:19 -07:00
Blake Harnden
eeca33e722 combined core.emulator.data and core.emulator.emudata, updated LinkData to leverage InterfaceData, instead of repeated interface fields, removed session from LinkData and LinkOptions 2020-06-16 12:50:24 -07:00
Blake Harnden
0725199d6d initial sweeping changes to call all usages of various interface related variables and functions (netif, interface, if, ifc, etc) to use a consistent name iface 2020-06-16 09:30:16 -07:00
Blake Harnden
0462c1b084 daemon: added usage of ABC to NodeBase, CoreNodeBase, and CoreNetworkBase to help enforce accounting for abstract functions 2020-06-14 13:35:06 -07:00
Blake Harnden
f5916fab5b daemon: added not implemented methods to CoreNodeBase 2020-06-14 12:44:51 -07:00
Blake Harnden
cf41948894 daemon: fixed error with EmaneNet startup throwing an error, updated Rj45Node and PhysicalNode to implement all abstract methods 2020-06-14 12:36:07 -07:00
Blake Harnden
c4c667bb74 daemon: removed node.startup from inside constructor, session is now responsible, providing more control and avoiding issues when using super calls where you dont want to start just yet 2020-06-14 09:37:58 -07:00
Blake Harnden
3243a69afa daemon: updated xml files to use node1 and interface1 instead of node_one and interface_one, will still fallback to parse old names 2020-06-14 00:46:11 -07:00
Blake Harnden
8587da0621 daemon: moved node instantiation into lock to guarantee id uniqueness, removed node count from environment as it also attmpts to use lock and wouldnt be accurate either 2020-06-13 23:50:08 -07:00
Blake Harnden
d94bae6b42 daemon: added class variable type hinting to core.services.coreservices 2020-06-13 22:25:38 -07:00
Blake Harnden
91f1f7f004 daemon: added global type hinting to core.emulator.session and core.api.grpc.server 2020-06-13 22:01:07 -07:00
Blake Harnden
8d48393525 daemon: updated usage of if1/2 to be consistent with interface1/2 for now 2020-06-13 21:53:09 -07:00