Commit graph

52 commits

Author SHA1 Message Date
Blake Harnden
921bfdf527 daemon: updated core.services to avoid using deprecated type hinting, also updated string formatting to f strings 2023-04-13 15:39:40 -07:00
Blake Harnden
7440c1d949 daemon: removed node.linktype as it is not needed, updated the one usage to align with other cases 2022-04-05 13:57:49 -07:00
Blake Harnden
440c06c040 daemon: updates to refactor and clean up SessionConfig to contain its own logic 2022-04-04 15:13:31 -07:00
Blake Harnden
84acb82c18 daemon/grpc/gui: further updates for a new working wireless node, added grpc support for control and additions to gui for creation 2022-03-30 21:13:28 -07:00
Blake Harnden
c2a40dbb6b daemon: removed usages of getattr and hasattr where possible 2021-01-12 21:30:48 -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
0d2dd70727 daemon: changes usage of running scripts using /bin/sh to bash to help provide consistency in what could be ran, added bash as a dependency in installation scripts, added bash as an executable check during startup 2020-07-28 16:13:37 -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
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
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
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
7e4ef0b280 changes to make rj45 maintain the interface information, instead of trying to be 2 classes at once 2020-05-25 23:18:20 -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
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
9aafc8e44f updates to zebra service to remove deprecated configurations 2020-01-09 15:34:54 -08:00
Blake Harnden
f431254e15 initial changes towards removing ipaddress and using netaddr 2020-01-07 14:08:29 -08:00
bharnden
52c6f2f31c fixed issue with services identifying ip4/ip6 addresses 2019-11-22 14:52:46 -08:00
bharnden
050297587d consolidated EmaneNode and EmaneNet, renaming EmaneNode to EmaneNet 2019-09-27 22:31:56 -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
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
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
bharnden
9517740704 initial refactor for all variables named objid 2019-04-26 22:07:51 -07:00
bharnden
12cc40d3d3 cleaned up core.emane, core.services, core.xml, fixed bug introduced in coreobj.py 2018-10-11 17:26:34 -07:00
Jeff Ahrenholz
9399218123 enable OSPFv2 fast convergence, and fix router-id for IPv6-only nodes 2018-10-10 09:58:18 -07:00
Blake J. Harnden
bb533406a6 refactored service methods to be shorter, updated some logging to debug, added some more service tests 2018-06-22 15:47:02 -07:00
Blake J. Harnden
37517c45f4 changed some logging from info to debug, removed startindex and depends from services 2018-06-22 08:16:59 -07:00
Blake J. Harnden
0aca9d7809 changes to remove the need to pass services separately, when the node has access to them directly, also made a couple CoreServices methods more consistent to have the node as first param and service second 2018-06-21 14:56:30 -07:00
Blake J. Harnden
b868454b5e updates to use dependency based startup logic 2018-06-21 11:20:08 -07:00
Blake J. Harnden
e80736061f refactored service interaction use names with a _, and cleanup up some of the CoreServices methods 2018-06-15 14:03:27 -07:00
Blake J. Harnden
eb415aa4d4 merged session config/options together 2018-06-12 08:37:39 -07:00
Blake J. Harnden
c65baa9298 update to add a way to avoid loading parent service classes, that inherit from CoreService that should not be loaded on their own 2018-04-20 21:40:55 -07:00
Blake J. Harnden
f3863ead73 removed service load methids, since they are no longer used, added way for custom service load code to facilitate the unique docker service case 2017-08-07 16:40:39 -07:00
Blake J. Harnden
05ce19b0c0 fixed refactoring issues in mobility.py, fixed issue with parsing config files in a tuple string format 2017-08-02 14:07:56 -07:00
Blake J. Harnden
dced47b588 fixed emane version checks, fixed emane config message handling, added initial emane test cases 2017-07-10 09:25:33 -07:00
Blake J. Harnden
613e550e8a merged latest code from rodolfos merge from the latest github pull 2017-07-06 15:10:50 -07:00
Rod A Santiago
55a6e2dcef merged cleanup branch with master 2017-06-19 18:09:28 -07:00
cspiker
46baca85d9 Add OVS and Ryu Services to CORE for SDN support 2017-06-08 08:31:50 -07:00
Blake J. Harnden
00f4ebf5a9 initial commit after bringing over cleaned up code and testing some examples 2017-04-25 08:45:34 -07:00
Jeff Ahrenholz
0b0557e008 fix /var/run/quagga permissions for Ubuntu 16.04 2017-03-31 10:59:58 -07:00
Gabriel Somlo
b1ea0574e5 daemon: start Quagga with default user/group names
Allow native distribution packages to run with their default user
and group names by no longer forcing "-u root -g root" on any of
the Quagga daemons' command lines.

This should continue to allow hand-compiled and/or "side-loaded"
Quagga software to run as root, if configured to do so at build
time.

Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
2017-02-02 11:25:53 -05:00
Gabriel Somlo
33906aae9f daemon: remove Quagga 'vtysh' service
Since all Quagga daemons are configured from a consolidated
location (the 'zebra' service), there is nothing left to do
for a dedicated service such as 'vtysh'. This patch removes
the service, along with all references to it from the rest
of the source tree (sample *.imn files, examples, etc.)

Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
2017-02-01 09:55:58 -05:00
Gabriel Somlo
6609d2c394 daemon: streamline Quagga startup
Currently, all Quagga daemons are started concurrently by their
respective CORE services, using "quaggaboot.sh" generated by the
'zebra' service. However, all routing services depend on 'zebra'
already running, and 'vtysh' depends on ALL other Quagga services
before it can push configuration from the common "Quagga.conf" to
all running daemons (see "waitforvtyfiles()" in "quaggaboot.sh").

The spinwait+timeout based implementation of "waitforvtyfiles()"
may, depending on load, give up too early and fail to configure
all Quagga daemons.

This patch streamlines the way Quagga daemons are started, by
launching them all from the 'zebra' service. The correct sequence
is to first launch the 'zebra' daemon itself, then proceed with
all routing daemons, and finish with a call to "vtysh -b" which
configures all running daemons.

The list of all applicable daemons to launch is obtained using
'grep' from Quagga.conf, in the same way "waitforvtyfiles()" used
to discover which *.vty files to look for in /var/run/quagga/.

The startup command for all services other than 'zebra' becomes
empty, and "quaggaboot.sh" issues a warning on attempts to have
it launch any other daemon.

Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
2017-01-12 16:40:45 -05:00
Tom Goff
d4d2f36481 daemon: Fix typo. 2016-02-18 17:23:10 -05:00
Tom Goff
85a3eee5b7 daemon: Have the xpimd service enable IGMP by default. 2016-02-18 15:35:17 -05:00
Tom Goff
360de10e1e daemon: Add IPv4 multicast routing using xpimd as a Quagga service. 2016-02-17 13:33:19 -05:00
Tom Goff
1787d9e42c services: Add a terminating newline. 2016-01-06 13:42:17 -05:00