Commit graph

271 commits

Author SHA1 Message Date
bharnden
6fa67f8844
Merge pull request #313 from coreemu/feature/check-ifc-before-flush
Feature/check ifc before flush
2019-12-20 09:58:13 -08:00
Blake Harnden
95c57bbad6 changes to allow node container commands to leverage shell parameter when needed 2019-12-20 09:57:34 -08:00
Blake Harnden
8eb4df7b1d updated linkconfig to support asymmetric links, updated grpc start session to provide asymmetric links, since they currently depend on being processed as a link edit 2019-12-18 22:09:00 -08:00
Blake Harnden
45a23a6c14 updated usage of time.time to time.monotonic or time.perf_counter due to time.time possibly rolling backwards 2019-12-06 09:42:41 -08:00
Blake Harnden
d1db5e4b4e added some data for node events to have a source field to help distinguish what originates from the gui or not 2019-11-27 12:55:39 -08:00
Blake Harnden
97cb1444f3 updates to emane model config storage, fixes to reconnecting to a wlan session 2019-11-21 16:41:38 -08:00
Jeff Ahrenholz
2d9cf81d0b remove shell=True from run command 2019-11-07 11:38:31 -08:00
Jeff Ahrenholz
ddcce82af4 address PR comments and fix pre-commit 2019-11-07 09:01:01 -08:00
Jeff Ahrenholz
5db05aad13 fix black pre-commit errors (formatting) 2019-11-07 08:57:46 -08:00
Jeff Ahrenholz
6be1e19d98 don't flush IPv6 address if interface is absent 2019-10-31 13:20:28 -07:00
Jeff Ahrenholz
85c926ff47 create ebtables chains as needed
* otherwise every switch gets a chain, causing problems with simultaneous running Python scripts
2019-10-31 13:00:46 -07:00
bharnden
711104df64 update to move mac learning disable into wlan and hub node startup 2019-10-23 10:56:01 -07:00
bharnden
440c8ed565 updated interface.py to use python3 super() 2019-10-23 10:40:40 -07:00
bharnden
b185c3c679 updated network.py to leverage super() 2019-10-23 10:16:35 -07:00
bharnden
68be311c7a updated usages of super to use python3 variation 2019-10-23 09:51:52 -07:00
bharnden
6a0a9e7698 updated all classes to be created without using (object), in python3 all classes are new style classes 2019-10-23 09:31:34 -07:00
bharnden
39c40d2a8c updated netif function to remove net parameter, since it was not used 2019-10-23 09:15:27 -07:00
bharnden
3dccd073f2 updated newveth and newtuntap function to remove the net parameter, since it was not being used 2019-10-23 09:02:24 -07:00
bharnden
28d1803af6 added netifi to CoreInterface, so it is defined up front 2019-10-22 23:03:03 -07:00
bharnden
cb81095b64 refactored NodeData and NodeOptions to use server instead of emulation_server 2019-10-22 20:50:01 -07:00
Blake Harnden
b703ad11c6 updating command logging back to debug 2019-10-22 12:19:37 -07:00
Blake Harnden
78f981463d renamed utils.check_cmd to utils.cmd, updated host_cmd to allow for shell commands for output redirection 2019-10-21 10:32:42 -07:00
Blake Harnden
104ac4cdc7 Merge branch 'develop' of https://github.com/coreemu/core into develop 2019-10-21 09:37:26 -07:00
Blake Harnden
d056578e9d modified ctrlnets to use an id starting at 9001, to avoid string based ids 2019-10-21 09:36:07 -07:00
bharnden
6006710c32 changed net_cmd to host_cmd and node_net_cmd to cmd, for simpler more logical naming 2019-10-18 23:28:09 -07:00
Blake Harnden
18e5598203 fixed node data reporting emulation server host instead of name 2019-10-18 16:28:13 -07:00
Blake Harnden
83c408359a set flow id logging to debug 2019-10-18 14:56:21 -07:00
Blake Harnden
c5ce85b235 added net client get ifindex and mac functions 2019-10-18 14:22:37 -07:00
Blake Harnden
bab5c75cb9 removed unwanted logging of container env 2019-10-18 13:20:05 -07:00
Blake Harnden
5633d4d18b converted format strings to f strings 2019-10-18 12:55:35 -07:00
Blake Harnden
07b4408076 f string updates to all but services complete 2019-10-18 12:44:13 -07:00
Blake Harnden
7d2a615716 more updates to using f string 2019-10-18 10:33:31 -07:00
Blake Harnden
c9326b6a97 initial changes to use f strings 2019-10-17 18:59:50 -07:00
Blake Harnden
da946f1f56 removing builtins imports 2019-10-17 15:02:24 -07:00
Blake Harnden
e94a6d1afa separated distributed session logic into its own class to help reduce session.py size as it is already too big 2019-10-17 11:10:59 -07:00
Blake Harnden
b7dd8ddb66 fix for docker/lxd based nodes to use remote servers and example for lxd 2019-10-17 09:09:03 -07:00
Blake Harnden
009ce8143e removed lock for distributed commands and limited usage to uploads 2019-10-16 20:19:51 -07:00
Blake Harnden
8aef9f273f updates to clear broker from physical node 2019-10-16 17:11:21 -07:00
Blake Harnden
61a4e228a1 updated ctrlnets to assign unique addresses per server, fixed ovs command issue for interface specific commands 2019-10-16 10:14:36 -07:00
Blake Harnden
b2d2705849 removed broker from session, updated most places using broker to use alternative logic to compensate where needed 2019-10-15 14:13:42 -07:00
Blake Harnden
6570f22ccf refactor fabric distributed to use a class and update sessions to create and provide these to nodes 2019-10-14 15:43:57 -07:00
Blake Harnden
5f282bb695 updates to lxd/docker to work with net_cmd/node_net_cmd 2019-10-14 14:28:18 -07:00
Blake Harnden
82bdbd776b removed parameter conversion for creating GreTap commands 2019-10-14 12:31:41 -07:00
bharnden
2bfd050880 updated missed commands to be string based 2019-10-11 22:37:33 -07:00
bharnden
5b3308a231 updated linkconfig to use string commands, fixed issues for wlan configuration 2019-10-11 22:27:04 -07:00
Blake Harnden
02ef91242e initial changes to convert all commands to be string based for consistency 2019-10-11 16:36:57 -07:00
Blake Harnden
69772f993c removed VnodeClient.icmd and VnodeClient.term 2019-10-11 13:55:06 -07:00
Blake Harnden
b5d71bab82 removed VnodeClient.popen 2019-10-11 13:36:00 -07:00
Blake Harnden
fc7a161221 updated utils.check_cmd to accept the same parameters as other commands and be leveraged for node cmds 2019-10-11 13:15:57 -07:00
Blake Harnden
d326f246a7 removed node based check_cmd, updated to use appropriate function 2019-10-11 12:57:37 -07:00
Blake Harnden
4a6d69bb09 removing cmd_output function from utils and nodes 2019-10-11 09:34:49 -07:00
Blake Harnden
c3d27eb8a5 removed utils.cmd and related node functions 2019-10-10 23:01:16 -07:00
Blake Harnden
f6cdeb23de changes to update commands to leverage either node_net_cmd/net_cmd 2019-10-10 15:25:12 -07:00
Blake Harnden
bc58693339 updated emane config files to be generated for remote servers, fixed services not using node remote server compatible commands 2019-10-10 11:53:52 -07:00
Blake Harnden
a4b6b8be51 updated link config to work distributed, added crude locking for fabric 2019-10-09 15:44:45 -07:00
Blake Harnden
859f473ba9 updated ebtables to use net_cmd 2019-10-09 12:13:26 -07:00
Blake Harnden
7e45168e77 distributed example for ptp 2019-10-08 21:17:15 -07:00
Blake Harnden
c8d68c332a updates for testing using examples 2019-10-08 21:06:22 -07:00
Blake Harnden
b7b0e4222c updates for basic working distrbuted network using fabric 2019-10-08 15:09:26 -07:00
Blake Harnden
212fec916b updated how distributed servers are added and connections are created to reduce duplicate connections 2019-10-07 11:58:27 -07:00
bharnden
4eacd815d1 updated to use fabric scp for copying files to remote nodes 2019-10-06 00:06:29 -07:00
bharnden
cca57bba47 updated other node system commands to be ran in such a way that should work if local or remote using shell commands 2019-10-05 16:10:01 -07:00
bharnden
95296988c5 updates to Pipefile.lock and for nodes to add server to constructor 2019-10-05 11:16:57 -07:00
bharnden
931ee65235 added remote_cmd func for nodes to avoid duplication 2019-10-05 09:48:30 -07:00
Blake Harnden
f83f98262f some initial remote node commands using fabric 2019-10-04 17:33:44 -07:00
Blake Harnden
031517ba56 fixed base.py imports with isort 2019-10-04 09:29:10 -07:00
bharnden
7aa013d351 start to wrapping commands to support remote ssh 2019-10-03 20:38:32 -07:00
bharnden
6d0d183788 fixed returning output from NodeBase.net_cmd 2019-10-03 11:59:45 -07:00
bharnden
0fe8bea25b added net_cmd to NodeBase for encapsulating network configuration commands 2019-10-01 21:06:11 -07:00
bharnden
4079df9739 added pydocs for netclient 2019-10-01 15:38:23 -07:00
bharnden
af7faa85df removed redircmd, shcmd, shcmd_result, getaddr, netifstats from VnodeClient 2019-10-01 14:40:24 -07:00
bharnden
223590c8fb removed vnode client netif stats, since was not being used 2019-10-01 12:52:25 -07:00
bharnden
d3d70ecc54 removed getaddr from node clients, since it was not being used 2019-10-01 12:30:32 -07:00
bharnden
e4bb315c14 updates to netclient, providing commonly used network commands in more convenient functions 2019-10-01 12:14:37 -07:00
bharnden
503fa754a9 updates to fail early for required executables that are not in PATH 2019-09-27 23:29:15 -07:00
Blake Harnden
1277ae4686 fleshed out documentation for netclient.py and removed openvswitch.py 2019-09-27 10:48:24 -07:00
bharnden
0c002bb491 implemented net client for linux and ovs 2019-09-26 22:04:29 -07:00
bharnden
b449729a31 added net client to consolidate bridge and interface creation 2019-09-26 15:20:32 -07:00
bharnden
b14012e5e9 removed node map file and utilities, added formal class methods to session objects and added checks for specific classes where needed 2019-09-26 13:00:12 -07:00
bharnden
939203aa46
Merge pull request #280 from coreemu/pydocupdates
Pydocupdates
2019-09-17 11:56:04 -07:00
Huy Pham
22189122e6 add text to markdown table headers, fix some return types, fix emane link 2019-09-17 09:33:55 -07:00
bharnden
b6d5f23201
Merge pull request #275 from NvanAdrichem/master
Disable MAC learning on Wlan networks
2019-09-16 21:55:34 -07:00
Huy Pham
1843b5f709 further updates to python docs and docs files 2019-09-13 11:07:04 -07:00
Huy Pham
2bfcc9ef24 Merge branch 'develop' into pydocupdates 2019-09-12 10:24:23 -07:00
Huy Pham
b43a686d6b initial documentation improvements 2019-09-12 10:23:46 -07:00
bharnden
89fe61f312 fix for wlan configuration not getting set by default 2019-09-11 21:54:07 -07:00
bharnden
0d5692e7e8 updates to try and clean up info logging, moved some statements to debug 2019-09-11 15:05:05 -07:00
bharnden
3776e1dda7 moved emane dependent tests into subdir, moved pytest config into setup.cfg, added CoreError and made use of in session.py 2019-09-11 13:12:42 -07:00
Niels van Adrichem
09896b008e Disable MAC learning on Wlan networks 2019-09-11 15:27:55 +02:00
bharnden
dee91e97bf changes to fix flake8 issues 2019-09-10 21:01:51 -07:00
bharnden
1fc8d647c3 added flake8/black, pre-commit integration for flake8/black, and black formatting changes 2019-09-10 15:10:24 -07:00
bharnden
d5055f85d3 pass over files using isort 2019-09-10 14:20:51 -07:00
bharnden
527a44748d avoid bad check that prevents reverting link configuration to 0 2019-07-05 19:06:27 -07:00
bharnden
802379d763
Merge pull request #267 from coreemu/feature/new-nodes
Adds Docker/LXD support
2019-07-05 16:36:16 -07:00
bharnden
ae5d718737 revert loss pack to using floats in all related places 2019-07-03 23:09:55 -07:00
Blake Harnden
913ca51b1c cleanup for docker/lxd code being used, tweaks to running container commands 2019-07-02 16:05:45 -07:00
Blake Harnden
9e273c2d8f small tweaks to cleanup lxd from commented out code 2019-07-02 09:51:56 -07:00
Blake Harnden
e83b38d96a initial lxd based node working from simple scripts 2019-07-02 07:48:43 -07:00
Blake Harnden
2397cd58ee integrated creation into the standard session.add_node call, currently requires an extra check due to the need for being able to specify an image 2019-06-28 15:41:55 -07:00
Blake Harnden
0e7464d419 fixed cmd to leverage wait similar to standard nodes and avoid throwing its own exceptions 2019-06-28 14:24:36 -07:00
Blake Harnden
6ab8368f1c updates to attempt to support trying to run traditional services in some manner within the context of a docker node 2019-06-28 12:58:08 -07:00
Blake Harnden
5971950523 changes to have DockerNode based off a CoreNode instead, elminating the need for a lot of boiler plate 2019-06-28 08:17:11 -07:00
Blake Harnden
9825706e03 initial commit with some docker nodes integrating with core at a basic level 2019-06-27 15:45:35 -07:00
Blake Harnden
d724ee289b added dependency and usage of ethtool to disable rx/tx checksums, since they will never be valid from a veth. also lowered some noisy logging and removed other logging 2019-06-12 12:41:01 -07:00
Blake Harnden
fca79fcf94 small change for possibility of runtime mobility configuration 2019-06-11 15:55:11 -07:00
Blake Harnden
e0dcb194cc removed duplicate code updating basic range model updates 2019-06-11 13:23:19 -07:00
Blake Harnden
38c58d9603 fixed tlv api changing wlan config during runtime, fixed for grpc as well and added grpc test 2019-06-11 13:11:36 -07:00
bharnden
10df7d35ee fixed saving bidirectional params for ptp networks, storing to xml and loading back into running environment 2019-06-08 21:46:07 -07:00
bharnden
191d392c46 updated grpc node x,y types, added new grpc session position type, grpc updated link options to use int, fixed corehandlers handling of dup, fixed corexml type handling for link options, updated mobility config types to correlate with link options 2019-06-08 16:56:39 -07:00
Blake Harnden
db7bfe12bd pass on updated pydocs to reflect path changes 2019-06-07 08:59:16 -07:00
Blake Harnden
4381615f1d fixed issue for link data not including per/loss when it is a ptp node, for host to host links 2019-06-05 09:54:11 -07:00
Blake Harnden
597bd21994 updated logging.warn to logging.warning due to deprecation in python3, fixed python 2/3 filter issue in tests, fixed utf decoding for some missed popen commands 2019-06-03 14:36:21 -07:00
Blake Harnden
bb5e68ad8b 2/3 fixes for ip address and mac byte handling 2019-06-03 11:49:43 -07:00
bharnden
db9d13aff8 update to setparams check to avoid python3 errors, and fix to ipprefix 2019-06-02 22:53:39 -07:00
bharnden
7a0edd5927 fixed bad logic introduced into interface setparams, fixed grpc edit link test 2019-06-02 22:20:00 -07:00
bharnden
ecc63f4abb updates to support 2/3 along with not using vcmd c extension 2019-06-02 19:06:25 -07:00
bharnden
1e98175e35 refactored usages of iteritems, itervalues, and iterkeys to be 2/3 compliant 2019-05-05 21:23:43 -07:00
bharnden
8d6bf54a16 removed usage of longs, updated int instance checking and octal constants to be 2/3 compliant 2019-05-05 17:11:07 -07:00
bharnden
b42b5b1a5a fixed updated raised exceptions to be 2/3 compatible 2019-05-05 16:56:18 -07:00
bharnden
e58cbe9421 added future library to support python2/3, updated xrange calls to leverage builtins range 2019-05-05 16:19:12 -07:00
bharnden
66e603906a updates to layout core module packages in a more logical way, including renaming methods from objects to nodes and nodes.objid to nodes.id 2019-04-29 23:31:47 -07:00