Commit graph

1308 commits

Author SHA1 Message Date
Blake Harnden
5e69ea48b3 pygui: fixed tracking for throughputs when joining a session 2020-05-14 23:07:21 -07:00
Blake Harnden
3b1a9bc3e3 pygui: changes to improve grpc event handling 2020-05-14 17:57:32 -07:00
Blake Harnden
df03f1e173 pygui: improvements to handling grpc events and updating gui 2020-05-14 16:24:22 -07:00
Blake Harnden
433fe4ae58 pygui: removed undesired logging in interface manager 2020-05-13 23:59:00 -07:00
Blake Harnden
95d3a6ca8c updates to force CoreCommandError to contain string values for stderr and stdout, couple bugfixes in handling bad commands when using execute commands from tlv based api or coresendmsg, also updates to coresendmsg to display everything in lowercase to mimic previous look and feel, however coresendmg will now work regardless of casing to avoid breaking things again 2020-05-13 12:01:28 -07:00
Blake Harnden
fa163c3ed6 pygui: update file dialogs to hide hidden files by default and provide a hidden file toggle 2020-05-12 08:31:53 -07:00
Blake Harnden
22d813df63 pygui: updated validation to be wrapper classes around ttk.Entry for convenience and less code 2020-05-11 22:00:52 -07:00
Blake Harnden
150db07497 pygui: updated canvas size and scale dialog to allow negative values for lon,lat,alt 2020-05-11 16:02:23 -07:00
Blake Harnden
124d655dc6 fixed issue when sorting hook when saving to xml, due to enum refactoring, updated test case to hit this potential issue in the future 2020-05-11 12:41:57 -07:00
Blake Harnden
a36674aba9 pygui: adjustment to compensate for ip4/ip6 address not being present on joined links 2020-05-11 08:33:56 -07:00
Blake Harnden
5d99244596 removed docker service and associated documentation, was not functioning and will cause confusion with new support in the new GUI 2020-05-09 21:50:16 -07:00
Blake Harnden
0aba1aa928 pygui: updated gui home directory to ~/.coregui and changed config file name to config.yaml from gui.yaml to be more explicit 2020-05-08 09:08:01 -07:00
Blake Harnden
4379ef32e9 pygui: removed restriction on wlan nodes context linking to mdrs only, since custom nodes and other types may be configured and desired to be linked in the same way 2020-05-08 08:29:45 -07:00
Blake Harnden
32558d15d2 pygui: removed comment in appconfig 2020-05-08 00:46:02 -07:00
Blake Harnden
86ae87eafe pygui: revamped config to leverage classes mapped to yaml, removes need for using keys all over and type hinting on glasses, future changes should support defaults better 2020-05-08 00:16:25 -07:00
Blake Harnden
d9f48d14a7 pygui fixed button layout on session options dialog 2020-05-05 13:00:22 -07:00
Blake Harnden
41b46b7e7a pygui display error and link to emane docs when attempting to use emane node and it is not installed, fix dialog refactoring breaking mobility player, updated emane docs 2020-05-05 12:55:25 -07:00
Blake Harnden
1d620a0b17 pygui some cleanup for dialog constructors to avoid passing duplicate parameters in most cases 2020-05-04 22:50:59 -07:00
Blake Harnden
185c6736b3 pygui moved custom nodes dialog to menubar and small layout cleanup 2020-05-03 22:47:46 -07:00
Blake Harnden
828254dccd pygui switched netstat socket observer to use ss instead 2020-05-03 22:01:21 -07:00
Blake Harnden
0e08242128 pygui close mobility players when stopping session 2020-05-03 21:55:34 -07:00
Blake Harnden
4ec6ef25fe pygui updated progress tasks to be self contained and leverage a title value to display runtime with more context to user 2020-05-03 21:47:58 -07:00
Blake Harnden
1dd45f4424 pygui cleaned up error display by creating top level app methods for displaying exceptions and errors, logging exceptions, and making sure they work for background tasks 2020-05-03 12:42:56 -07:00
Blake Harnden
0999fabb14 pygui revamped progress bar functionality into app task calls to simplify and commonize the functionality, handle and display task exceptions 2020-05-03 10:41:36 -07:00
Blake Harnden
835675480b pygui removed unimplemented runtime node context options and moved find node to tools menu 2020-05-02 23:57:27 -07:00
Blake Harnden
b858e66c49 pygui updated main app frame to use grid layout like everything else 2020-05-02 23:51:42 -07:00
Blake Harnden
be70c5383e pygui removed manage members context from wireless node 2020-05-02 09:23:06 -07:00
Blake Harnden
ac2d60dad6 pygui improved node context to properly use tk_popup, avoiding bandage code to compensate for other issues 2020-05-02 09:20:36 -07:00
Blake Harnden
65466909d3 pygui improved edge context by properly using tk_popup 2020-05-02 08:41:10 -07:00
Blake Harnden
491f2a8e93 pygui enabled delete on link context menu, removed split/merge for now, set edge labels to bold to stand out until better solution 2020-05-01 23:47:37 -07:00
Blake Harnden
5a8984de10 pygui some delete node/link cleanup and added unlink option to node context menu for an easier unlinking 2020-05-01 23:36:33 -07:00
Blake Harnden
d158fc99c6 pygui small cleanup to layout of find dialog 2020-05-01 19:59:41 -07:00
Blake Harnden
9d1f5cfcc6 pygui most dialogs are modal, default dialogs to modal 2020-05-01 19:56:57 -07:00
Blake Harnden
ea4271d7cb changed defaultroute service to behave similarly as before and use the first interface for a default .1 address 2020-05-01 19:15:53 -07:00
Blake Harnden
0ee679d978 pygui changes to disable most widgets related to configuring a node during runtime 2020-05-01 18:05:54 -07:00
Blake Harnden
686026d9f2 improved netaddr mac dialect usage to leverage constructor parameter 2020-05-01 17:40:53 -07:00
Blake Harnden
4ae5936bdc pygui raise copied nodes above copied edges 2020-05-01 17:28:28 -07:00
Blake Harnden
2e9968c306 pygui further changes to mimic old gui behavior, parsing link data when joining and removing link data when they are removed 2020-05-01 15:35:53 -07:00
Blake Harnden
6ba065e8b6 Merge branch 'develop' into enhancement/pygui-address-creation 2020-05-01 14:23:18 -07:00
Blake Harnden
f7281459ed pygui changes to avoid deleting session and open xml race conditions, fix to reset canvas view options when creating a new session 2020-05-01 14:13:44 -07:00
Blake Harnden
1f1b1c7b65 Merge branch 'develop' of https://github.com/coreemu/core into develop 2020-05-01 13:42:39 -07:00
Blake Harnden
4a7abe71e4 removed unwanted grpc client stream log 2020-05-01 13:42:15 -07:00
Blake Harnden
9a42368221 initial changes to mimic prior address creation 2020-05-01 13:39:27 -07:00
Huy Pham
b116d525d9 Merge branch 'develop' into pygui-rmallservices-fix 2020-04-30 13:48:38 -07:00
Huy Pham
580641f5d9 remove CoreClient.modified_service_node. When a new CORE node is created, assign default services right away (instead of leaving it empty), therefore no more confusion whether [] means empty service or means CORE node with default services 2020-04-30 13:47:45 -07:00
Blake Harnden
7e0ead0766 fixed formatting for quagga fast convergence merge 2020-04-30 13:23:00 -07:00
bharnden
3c49d0676a
Merge branch 'develop' into bugfix/quagga-ipv6-only-and-fast-convergence 2020-04-30 13:13:53 -07:00
Blake Harnden
d945e7c41e formatted sdn.py after recent merge 2020-04-30 12:57:05 -07:00
Huy Pham
4037da49c2 Fix issue: node's services won't save when clearing all the services and add default services back to the node. Set core node's services to default services (instead of leaving it empty) when a new node is created. 2020-04-30 12:48:51 -07:00
bharnden
06e145f508
Merge branch 'develop' into ovs 2020-04-30 12:30:57 -07:00
bharnden
cdde6988e2
Merge pull request #439 from coreemu/pygui-findfeature
Pygui findfeature
2020-04-30 11:22:31 -07:00
Blake Harnden
47ef5ec14d avoid writing link options to xml for emane/wlan links 2020-04-30 11:19:23 -07:00
Huy Pham
1f8d16df08 touch up 2020-04-29 17:17:57 -07:00
Huy Pham
64657b20a8 add more logic to scrolling the scrollbar to get a bit nicer view 2020-04-29 17:09:17 -07:00
Huy Pham
e9ca4a5b58 Session dialog: Bold heading text so that it stands out more, allign heading text with column text 2020-04-29 16:53:06 -07:00
Huy Pham
a3a9aee7f7 Merge branch 'develop' into findfeature 2020-04-29 16:36:53 -07:00
Huy Pham
c45202e61b add type checking to class methods 2020-04-29 16:36:12 -07:00
Huy Pham
275e8f4c30 finish writing a Find tool that allows find a node based on node name 2020-04-29 16:19:40 -07:00
Blake Harnden
62c0011caa avoid configuring links for wireless networks 2020-04-28 09:35:21 -07:00
Blake Harnden
b7adbd289c pygui copy links when generating mac to avoid retaining generated macs 2020-04-23 14:04:22 -07:00
Blake Harnden
8e8ffb3ffb pygui close mac config dialog on save 2020-04-23 14:00:23 -07:00
Blake Harnden
b5f4571618 fixed edit node using a 0,0 position when not intending to move node, side effect of trying to give new nodes a default position 2020-04-23 10:26:12 -07:00
Blake Harnden
01b41b0276 pygui cleaned up node service configuration dialog directory tab layout 2020-04-23 09:06:56 -07:00
Blake Harnden
ea99b628fc pygui removed dumping commands multiple times in run window as they are included before node output 2020-04-23 08:54:43 -07:00
Blake Harnden
aa2537753e pygui small tweaks to run tool dialog to simplify text and properly resize 2020-04-23 00:11:13 -07:00
bharnden
a662fcc62c
Merge pull request #436 from coreemu/pygui-runtool
Pygui runtool
2020-04-22 23:28:47 -07:00
Blake Harnden
7054e606ae pygui implemented mac config and fixed issue with manually assigning mac addresses 2020-04-22 23:00:07 -07:00
Huy Pham
f6bd21629d Merge branch 'develop' into pygui-runtool 2020-04-22 15:41:11 -07:00
Huy Pham
03e291d215 implement run tool that allows running command on more than one node conveniently 2020-04-22 15:38:29 -07:00
Blake Harnden
3394f0240a update reading session xml options to updating these values instead of clearing out existing settings, avoids issue wiping ovs settings etc 2020-04-22 12:07:42 -07:00
Blake Harnden
6fe2845051 pygui added error dialog for duplicate observer names and cleared out values on success 2020-04-22 11:41:09 -07:00
Blake Harnden
039cf2a3b9 pygui updates to properly dynamically update the observer widgets menu as changes are made 2020-04-22 11:37:58 -07:00
Blake Harnden
f521fe4141 fixed issue where actually sending interface names to tcl gui would cause issue, no longer sending link interfave names 2020-04-22 00:20:18 -07:00
Blake Harnden
ba6a6f06b1 pygui moved observers to menu class, added initial functioning ip address tool 2020-04-21 22:56:56 -07:00
Blake Harnden
20ecdf70d0 pygui fixed emane link updates when rejoining session 2020-04-21 13:22:21 -07:00
Blake Harnden
715bae6f74 pygui avoid sending configs for empty mobility and wlan configurations 2020-04-21 13:14:33 -07:00
Blake Harnden
ec8a15794b pygui fixed wlan drawing range circles using the diameter for the radius 2020-04-21 13:11:00 -07:00
Blake Harnden
b04da98f44 pygui updated config services to be associated with nodes directly and copyable 2020-04-21 11:13:41 -07:00
Blake Harnden
d7ebb90329 pygui updated node service configurations to be self contained and copyable 2020-04-21 10:31:20 -07:00
Blake Harnden
85b4a81f8a updated wlan/mobility configs to be directly associated with a node and allow them to be copied 2020-04-21 09:34:30 -07:00
Blake Harnden
bd30d0d9ff changes to support nodes containing their configurations, starting with emane, making copying easier and reducing code 2020-04-21 00:38:36 -07:00
Blake Harnden
54eab4576d pygui add in cut functionality, currently not including configurations 2020-04-20 23:20:39 -07:00
Blake Harnden
efa5506c80 fix issue when tcp handlers has no other clients for a session 2020-04-20 15:56:25 -07:00
Blake Harnden
b4de016a24 pygui cleanup sessions dialog 2020-04-19 23:02:25 -07:00
Blake Harnden
3233d8ab58 pygui simplify show/hiding annotations 2020-04-19 15:57:59 -07:00
Blake Harnden
d26c4fc4ab pygui initial implementation for supporting the view menu for showing and hiding canvas elements 2020-04-19 15:47:07 -07:00
Blake Harnden
f45a11076f pygui implemented auto grid layout, to auto distance node icons with padding based on canvas size in rows and columns 2020-04-18 09:02:15 -07:00
Blake Harnden
7da7ea5d62 pygui consolidated menubar and menuaction code into one file, small updates to observer widgets to avoid using ifconfig 2020-04-18 00:33:22 -07:00
Blake Harnden
c43afa4b40 pygui removed unwanted buttons from run toolbar 2020-04-17 23:28:45 -07:00
Blake Harnden
c09e3e90d6 pygui pass at removing disabled menu items, small reorg and cleanup 2020-04-17 23:18:11 -07:00
Blake Harnden
1117522c21 reverting node service change until protobuf changes are in place 2020-04-16 12:31:48 -07:00
Blake Harnden
5dcf2f45c5 updates to allow building python docs again, also added checks for requirements to build the python docs 2020-04-16 11:32:50 -07:00
Blake Harnden
78d442b574 add service file content to xml as cdata to avoid escaping 2020-04-16 10:44:33 -07:00
Blake Harnden
9bd13dce1e updates to allow setting 0 services for a node, but old gui does not send data in a way that can be compatible 2020-04-16 09:19:50 -07:00
Blake Harnden
7e7bf8c7b7 fix p2p upstream link data not using enum, consolidated grpc logic for getting link protobufs 2020-04-15 16:36:03 -07:00
Blake Harnden
e2490dee4a modified wireless links to obtain colors based on connected network from the session, LinkData will no provide a color itself 2020-04-15 15:41:37 -07:00
Blake Harnden
42979f1bb3 pygui edge code cleanup for node label drawing 2020-04-15 13:39:11 -07:00
Blake Harnden
0203d4178d pygui removed unused throughput tag 2020-04-15 12:57:01 -07:00
Blake Harnden
6f87986364 pygui cleanup of edge code to use position tuples instead of individual params 2020-04-15 12:51:35 -07:00
Blake Harnden
23562cd294 updates for working label drawing on wireless links in pygui, will display sinr values on emane links 2020-04-15 12:41:09 -07:00
Blake Harnden
86b0c07764 fixed issue when reading xml file and not associating node with emane model, causing error for grpc 2020-04-15 11:44:14 -07:00
Blake Harnden
2b97b311ab pygui ignore adding/removing duplicate wireless link events, ignore wireless link events for node to itself 2020-04-14 17:08:42 -07:00
Blake Harnden
3c4a908fd5 updates to support multiple links between nodes in pygui, initially handling multiple wireless links 2020-04-14 15:51:28 -07:00
Blake Harnden
cd8157eff7 renamed python gui to be more similar to other core scripts and specific to it being python, some cleanup to pygui edge drawing and updates to allow for edges to have an arc to support multiple links between the same nodes 2020-04-14 10:47:42 -07:00
Blake Harnden
a5c412b594 updates to sdt integration to use different colors for each network of wireless links 2020-04-09 11:42:27 -07:00
Blake Harnden
3a45e9ec7a fix for ipsec service reading file as bytes 2020-04-07 21:03:45 -07:00
bharnden
c3224251b7
Merge pull request #424 from smvoigt/coreemu#423
Add IS-IS to FRR service #423
2020-04-06 17:06:17 -07:00
bharnden
41451c29cf
Merge pull request #422 from smvoigt/coreemu#421
Fix for IPv6 Addresses disappear with FRR #421
2020-04-06 17:01:20 -07:00
Blake Harnden
0aa7c6f1f2 cleaned up how grpc creates node protobuf data for grpc interfaces, cleaned up route monitor script slighly 2020-04-06 16:09:01 -07:00
Blake Harnden
0742c08b59 added session/node dir to grpc responses and node channels, updating route monitor to use grpc for getting session/node information 2020-04-06 15:46:47 -07:00
Shaun Voigt
6c9c2cbeb0 resolve isort 2020-04-07 07:50:26 +09:30
Shaun Voigt
8dfdd6171d check for ipv6 address using netaddr.valid_ipv6 2020-04-07 07:44:23 +09:30
Shaun Voigt
29fea7e572 Add IS-IS support to FRR Service #423 2020-04-06 18:26:29 +09:30
Shaun Voigt
ba18853509 resolve black formatting 2020-04-06 18:03:27 +09:30
Shaun Voigt
953bd80e2e isort - sort imports 2020-04-06 17:54:42 +09:30
Shaun Voigt
b6fbedf471 Fix for IPv6 Addresses disappear with FRR #421 2020-04-06 17:36:32 +09:30
Blake Harnden
d0c4d4b935 fixed issue where the udp handler would no broadcast node/link changes from coresendmsg 2020-04-02 21:14:08 -07:00
Blake Harnden
7d392c43ac improve default route service to detect connected routers and use the addresses of the first one found 2020-04-02 15:12:07 -07:00
Blake Harnden
72189a5c28 fix configdata issue, since most corehandler code did not account for using flags directly 2020-04-01 10:56:09 -07:00
Blake Harnden
b29f640547 modified emane link monitor to send labels containing sinr values to sdt 2020-03-31 21:09:20 -07:00
Blake Harnden
091131fe5c tweak to session.exception to default node_id to None when not provided 2020-03-31 16:39:27 -07:00
Blake Harnden
3165bddc92 updates to allow emane to throw an exception when emane python bindings are not present and emane is attempted to be ran 2020-03-31 16:21:04 -07:00
Blake Harnden
71196004c8 improved sdt deletion of links by using the id properly 2020-03-31 15:20:34 -07:00
bharnden
eccd1f1695
Merge pull request #418 from coreemu/enhancement/dataclasses
switched core emulator data files from using namedtuples to backporte…
2020-03-31 14:32:24 -07:00
Blake Harnden
13ef701b6e ignore reading emane global config from xml when not present 2020-03-31 10:08:08 -07:00
Blake Harnden
8186c62b19 switched core emulator data files from using namedtuples to backported dataclasses 2020-03-31 09:41:29 -07:00
Blake Harnden
16764c702b updated emane link monitor to not run when there is nothing to monitor, added better logging about what is being monitored 2020-03-30 12:26:08 -07:00
Blake Harnden
7e0efa7020 updated sdt plugin to support layering core nodes and links as well as wireless links into network layers, also using linkid to support multiple links between nodes 2020-03-30 12:00:22 -07:00
Blake Harnden
7b29f6bb82 change to account for importing slightly older bindings for emane link monitor 2020-03-30 10:46:05 -07:00
Blake Harnden
16cc73c070 import change to help isort pass 2020-03-30 10:36:39 -07:00
Blake Harnden
1efa1284bb merged latest from develop 2020-03-28 13:18:25 -07:00
Blake Harnden
6c5c2c5674 fixed core xml to properly write and read emane global configurations 2020-03-28 13:06:46 -07:00
Blake Harnden
0b30289879 emane link monitor clear complete links during shutdown 2020-03-27 22:47:16 -07:00
Blake Harnden
3d59cd0ad8 initial logic for working emane links based on emane stats 2020-03-27 17:22:44 -07:00
Blake Harnden
fc40c8d7bb enabled node context delete/copy and edit menu delete in python gui 2020-03-26 22:24:23 -07:00
Blake Harnden
66e5be7576 updates to basic range model configuration settings to allow 0 values as well as empty values for None, that work in old and new guis 2020-03-26 11:21:47 -07:00
Blake Harnden
6a41012857 updates to break up core.proto into separate logical files 2020-03-22 22:57:50 -07:00
Blake Harnden
38f9f44cdf fixed type hinting and bad return value 2020-03-22 21:15:11 -07:00
Blake Harnden
14e708681c small tweak to corehandlers logic 2020-03-22 21:08:12 -07:00
Blake Harnden
33bcc24d88 cleaned up broadcast_node to use nodes directly 2020-03-22 16:38:15 -07:00
Blake Harnden
39499a4ab4 moved ConfigShim to being under tlv, updated RegisterTlvs to use enums directly in non tlv code 2020-03-22 14:59:42 -07:00
Blake Harnden
7a5a0f34ea broke out tlv specific enums into their own module 2020-03-22 14:09:38 -07:00
Blake Harnden
c264634b5f merged latest from develop 2020-03-22 13:52:26 -07:00
Blake Harnden
3f17706c28 small cleanup for interface position hooks, updates to support using a provided altitude when sending emane events based on position hooks 2020-03-19 16:40:43 -07:00
Blake Harnden
102fa410fe make wlan nodes start with a ebtables change event to trigger default rules when all nodes are disconnected 2020-03-12 23:21:48 -07:00
Blake Harnden
a7790185d4 updates to use message flags enum directly 2020-03-12 23:12:17 -07:00
Blake Harnden
5cdfd8d8b9 updated NodeTypes to be used directly 2020-03-10 23:11:37 -07:00
Blake Harnden
f277e96c9a revert logging back to info, removed Rj45Models enum as it was not being used, updated linktypes enum to be used directly 2020-03-10 22:48:05 -07:00
Blake Harnden
1e8d1ecd9f changes for sessions to use EventTypes for state/hooks directly 2020-03-06 22:35:23 -08:00
Blake Harnden
0e299d5af4 update to make use of shutil.which for executable searching 2020-03-06 16:41:26 -08:00