Commit graph

121 commits

Author SHA1 Message Date
Blake Harnden
cd7f1a641e daemon: initial pass to revamp how node linking and link management is done, provides a consistent way to link all wired nodes and allows them to be configured for tc for the same behavior across the board 2022-03-17 15:28:38 -07:00
Blake Harnden
074a2263ce daemon: updates to network base to set default behavior for abstract function 2022-02-25 15:06:14 -08:00
Blake Harnden
96f2408e01 daemon: fixed deadlock issue when starting/stopping nftables queue 2022-02-17 23:44:30 -08:00
Blake Harnden
efb97d1a5d daemon: updates to remove the delay for processing wlan changes along with code to support it 2022-02-05 00:39:11 -08:00
Blake Harnden
43737a42e4 daemon: update nftables bridge tables to use priority -1 to beat default inet table rules if present 2022-02-03 14:29:42 -08:00
Blake Harnden
6791269eeb daemon: refactored interfaces to store configuration options as link options, instead of using a dictionary 2022-01-25 21:39:52 -08:00
Blake Harnden
e9b83b0d28 daemon: refactored how interfaces are configured, updated link edits to allow proper bi-directional support for network to network interfaces, improved and added more unit tests for link add/edit/delete 2022-01-25 09:13:39 -08:00
Blake Harnden
871b1ae2af daemon: updates to support configuring and tracking mtu, along with over refactoring 2022-01-07 16:03:45 -08:00
Blake Harnden
0b531d7fd8 daemon: adjustments to support global configurable mtu values for node interfaces and bridges 2021-12-21 08:59:48 -08:00
Blake Harnden
5e843a7674 daemon: update to nftables update tracker to use a queue for more reactive changes 2021-05-10 23:31:11 -07:00
Blake Harnden
5286938e44 daemon: small cleanup to nftables management 2021-05-10 20:34:10 -07:00
Blake Harnden
11d8bb0674 daemon: renamed network variables to not be named in a private way, since they were being used externally 2021-05-10 15:18:15 -07:00
Blake Harnden
30291a8438 daemon: updates to switch from using ebtables to nftables for wlan linking/unlinking 2021-05-10 15:07:42 -07:00
Blake Harnden
69652ac577 updates to python based logging to use module named loggers, updated logging config file to align with these changes 2021-04-21 21:09:35 -07:00
Blake Harnden
1c970bbe00 daemon: refactoring to remove usage of os.path where possible and pathlib.Path instead 2021-03-19 16:54:24 -07:00
Blake Harnden
e7320a61a6 daemon: revert wlan mac learning change, due to undesired default behavior, there may be some cases where this behavior is desired, so the option to enable a promiscuous mode has been added and will be present in core-pygui 2020-12-10 15:16:05 -08:00
Blake Harnden
a35e91aeba daemon: added link option to configure buffer, added support in pygui to allow configuring buffer 2020-11-30 16:49:44 -08:00
Blake Harnden
380d411833 daemon: updated linkconfig to calculate a limit when bw/delay are present, updated and simplified logic as well, leveraging code from outstanding pull request, updated code to factor in the mtu of the iface being configured 2020-10-17 08:18:49 -07:00
Blake Harnden
1212e5ddf8 fix to avoid setting interface data for a mac to the string None, when not present 2020-07-16 08:59:57 -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
6dd6bc87ab daemon: renamed executable variables to be simpler 2020-06-23 09:35:11 -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
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
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
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
f4671ab2b8 daemon: refactored usages of hwaddr to mac and be consistent everywhere 2020-06-16 23:25:26 -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
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
8d48393525 daemon: updated usage of if1/2 to be consistent with interface1/2 for now 2020-06-13 21:53:09 -07:00
Blake Harnden
76305f7257 converted usages of per to loss 2020-06-12 12:49:53 -07:00
Blake Harnden
6201875b78 daemon: added class variable type hinting to core.emane 2020-06-12 09:52:01 -07:00
Blake Harnden
ccf2646c00 daemon: refactored add_link,update_link,delete_link to have more specific logic, refactored CoreNodeBase to have newnetif and for it to return the interface created 2020-06-11 13:59:29 -07:00
Blake Harnden
2965273f58 daemon: CoreNetworkBase.linkconfig now takes a LinkOptions object, removed usage of emudata.link_config 2020-06-09 13:41:31 -07:00
Blake Harnden
73a5567084 added network policy enum to avoid string usage 2020-05-29 23:22:21 -07:00
Blake Harnden
8ad3f7961a renamed netclient create_interface to set_interface_master to better describe its purpose 2020-05-29 22:07:50 -07:00
Blake Harnden
f95a8113c9 added type hinting to nodes/network.py class variables 2020-05-25 11:17:28 -07:00
Blake Harnden
964f78f06a added othernet to CoreInterface to avoid hasattr checks 2020-05-23 01:14:47 -07:00
Blake Harnden
c580e15f8e moved common variables up and localname to CoreInterface, they were being created in all subclasses and avoids type hinting errors 2020-05-23 01:05:46 -07:00
Blake Harnden
37ff989aa4 fixed bad check in linkconfig 2020-05-23 00:19:32 -07:00
Blake Harnden
26b0868f65 removed devname from linkconfig as the only usage was of it was using a parametr that was already being passed in 2020-05-23 00:00:40 -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
8186c62b19 switched core emulator data files from using namedtuples to backported dataclasses 2020-03-31 09:41:29 -07:00
Blake Harnden
33bcc24d88 cleaned up broadcast_node to use nodes directly 2020-03-22 16:38:15 -07:00