Commit Graph

1448 Commits

Author SHA1 Message Date
Robert Chacón
20e69d2415 Merge pull request #332 from LibreQoE/fixUispAPoffPtMP
Handle sites branched off PtMP Access Points
2023-04-11 16:14:31 -06:00
Robert Chacón
f3bcf61475 Update integrationUISP.py 2023-04-11 16:13:26 -06:00
Robert Chacón
b00f99beec Update integrationUISP.py 2023-04-11 15:30:28 -06:00
Robert Chacón
27c5ce59bf Merge pull request #329 from LibreQoE/allowOverrideNetworkJSON
Offer toggle to overwrite Network.json on each integration reload. Disabled by default.
2023-04-11 10:41:40 -06:00
Robert Chacón
ddc30894cf Update integrationUISP.py 2023-04-11 10:39:30 -06:00
Robert Chacón
19928a5e5e Update ispConfig.example.py 2023-04-11 10:38:00 -06:00
Robert Chacón
88cfdd9da4 Merge pull request #328 from LibreQoE/uisp_integration_enhancements
Uisp integration enhancements: Topology
2023-04-11 09:57:42 -06:00
Robert Chacón
8c6e973b19 Merge pull request #327 from LibreQoE/more_unit_tests
More unit tests & documentation
2023-04-11 09:57:15 -06:00
Robert Chacón
f70c4ca639 Merge pull request #326 from LibreQoE/format_preserving_toml
Format-preserving TOML editing
2023-04-11 09:57:00 -06:00
Herbert Wolverson
cb63968e81 Allow integrationUISProutes.csv to override default costs in UISP route determination.
Requested by D. Denson.

Now that the UISP network tree is built as a spanning tree, with 10
cost per hop we can reliably flip the tree from A->B->C to C->B->A
depending upon root positioning.

This addition allows you to specify additional routes (that MUST
exist!) e.g. A->C and specify a cost to use instead of the default
10. This allows for topologies in which A-B-C is actually faster
than a direct A-C route (for example, becuase of short 60ghz
hops).
2023-04-11 15:30:47 +00:00
Herbert Wolverson
ff4df61d54 Build complete spanning tree for data links and use it to orient tree
Rather than obeying the "parent" field, which leads to wrong-way up
graphs when building from a non-root site - instead build a complete
cost-based spanning tree from the specified root node. Then use
the generated tree - falling back on parent if nothing is found -
to populate the tree in order.

Tested on Herbert's network, correctly generates topology from several
different locations.

Still to come: adding a mechanism for providing parenting overloads
to allow for cases where a long path is actually optimal, but we
have no way of knowing that.
2023-04-06 16:22:01 +00:00
Herbert Wolverson
d33cd0d3e6 Use dot renderer for PDF 2023-04-05 20:34:32 +00:00
Herbert Wolverson
5f9655b529 Add a couple of 'is none' checks to remove crashes I experienced. 2023-04-05 20:16:57 +00:00
Herbert Wolverson
415f939715 Add documentation headers for Queue Tracker. 2023-04-05 19:21:39 +00:00
Herbert Wolverson
bcb4a8a53a Add documentation headers for Heimdall. 2023-04-05 16:58:19 +00:00
Herbert Wolverson
bb53be9bfc Add some unit tests and documentation to the crate. No functional changes. 2023-04-05 16:51:15 +00:00
Herbert Wolverson
c9a443f77b Add a couple of unit test. 2023-04-05 16:36:10 +00:00
Herbert Wolverson
eb9b32ef65 Format-preserving TOML editing
Restore the automatic generation of a node_id if one isn't present,
based on a hash of /etc/machine_id. Switch from the "toml" crate
to the "toml_edit" crate, and use its Document type to preserve
the user's comments and formatting when editing the configuration
file for saving.
2023-04-05 15:00:35 +00:00
Herbert "TheBracket
f4991fcb95 Merge pull request #323 from LibreQoE/displayed_plans
Fix displayed plans in Top/Worst N tables
2023-04-03 11:11:04 -05:00
Herbert Wolverson
01433160ac Fix displayed plans in Top/Worst N tables
A value was transposed in the IPStats to IPStats transit
conversion. The UI now displays (max download/max upload)
correctly.

Fix an accidental inclusion of a console.log statement
logging needlessly.
2023-04-03 16:09:53 +00:00
Herbert Wolverson
54d8acc7c1 Merge branch 'develop' of https://github.com/LibreQoE/LibreQoS into develop 2023-04-03 15:34:43 +00:00
Herbert Wolverson
ebfcde2618 Fix a missing break - switch fallthrough by mistake - in dissector.h. This fixes a problem with misidentifying traffic as TCP when it is't. 2023-04-03 15:34:32 +00:00
Herbert Wolverson
34e3381af4 Add file missing from previous commit 2023-04-03 15:34:32 +00:00
Herbert Wolverson
16721208e6 Add DNS resolution to displayed flow IP addresses 2023-04-03 15:34:32 +00:00
Herbert Wolverson
9fce5d51de Adds "client throughput" to the queue tree tab of circuit_queue
Also moves all the circuit graphs to use the same graphing
system as the other graphs on the plot.

FIXES #315
2023-04-03 15:34:32 +00:00
Herbert Wolverson
3bc2c16328 Last 5 minutes of throughput data are stored server-side on node_manager
A server-side ringbuffer retains just the last 5 minutes of throughput.
When the dashboard first loads, it collects all 5 minutes of data,
so nothing appears skipped. Subsequent updates query the latest
value in the buffer.

FIXES #317
2023-04-03 15:34:32 +00:00
Robert Chacón
33ece34df6 Fix bug pertaining to https://github.com/LibreQoE/LibreQoS/pull/320 2023-04-03 15:34:32 +00:00
Matthew McTague
691a1d9e6d Check that priorQuery exists before using it 2023-04-03 15:34:32 +00:00
Matthew McTague
5d36828b35 replaceRootNote should be replaceRootNode 2023-04-03 15:34:32 +00:00
Robert Chacón
f38553c72b Fix error when multiple airFibers at site 2023-04-03 15:34:32 +00:00
Robert Chacón
52a961181e Use airfiber backhaul capacities to limit site bandwidths 2023-04-03 15:34:32 +00:00
Robert Chacón
ec9a7e71b8 Clean up excessive comments 2023-04-03 15:34:32 +00:00
Robert Chacón
ebc980c782 When network.json is created by integration, node bandwidth will be capped by parent nodes 2023-04-03 15:34:32 +00:00
Herbert Wolverson
1b73c3765c Backlog is in bytes 2023-04-03 15:34:32 +00:00
Herbert Wolverson
3f4ee288ae Use base delay (which is sparse delay) rather than average delay, and use log y values on the delays chart. 2023-04-03 15:34:32 +00:00
Herbert Wolverson
53acf90600 Add pause button and fast/slow modes to circuit_queue page
FIXES #303

Adds a pause button to freeze a snapshot of the current circuit
queue page.

Adds a "fast mode" and "slow mode" toggle. Slow mode continues
at a 1s update cadence. Fast mode uses animation frame support
to update at a good speed, at the expense of CPU usage.

Stores the preference in local storage, so it will resume the
same mode next time you visit the page.
2023-04-03 15:34:32 +00:00
Herbert Wolverson
7321c00234 Change units on backlog graph to packets. FIXES #304 2023-04-03 15:34:32 +00:00
Herbert Wolverson
536d165f9b Fix loss of context when clicking zoom in/out buttons. 2023-04-03 15:34:32 +00:00
Herbert Wolverson
869f97ff3b Packet analysis page has a lot more options
See ISSUE #302

* Filter by FlowID
* Pagination is a select/drop-down
* Filtering is a select/drop-down
* Graph type is selectable from:
   * Packet size (the previous view)
   * Piano Roll (flows plotted by time)
   * TCP Window (differntiated by flow)
2023-04-03 15:34:32 +00:00
Herbert Wolverson
182dbcf8d9 IP Dump supports flow filtering
Every packet is assigned a "flow id", and the UI allows you to
filter displayed packet data by flow id.
2023-04-03 15:34:32 +00:00
Robert Chacón
0f01c199b9 Merge pull request #322 from LibreQoE/issue_315_individual_usage_on_tree
Circuit page improvements
2023-03-31 12:31:23 -06:00
Herbert Wolverson
7b571213d9 Fix a missing break - switch fallthrough by mistake - in dissector.h. This fixes a problem with misidentifying traffic as TCP when it is't. 2023-03-31 17:31:59 +00:00
Herbert Wolverson
28e1b020af Add file missing from previous commit 2023-03-31 17:12:18 +00:00
Herbert Wolverson
aa7cf1fc68 Add DNS resolution to displayed flow IP addresses 2023-03-31 17:10:43 +00:00
Robert Chacón
d2edfd8c1c Merge pull request #321 from LibreQoE/displayed_plans
Displayed plans fix
2023-03-31 10:47:56 -06:00
Herbert Wolverson
e6cb58bc65 Adds "client throughput" to the queue tree tab of circuit_queue
Also moves all the circuit graphs to use the same graphing
system as the other graphs on the plot.

FIXES #315
2023-03-31 16:20:56 +00:00
Herbert Wolverson
2574e40790 Fix displayed plans in Top/Worst N tables
A value was transposed in the IPStats to IPStats transit
conversion. The UI now displays (max download/max upload)
correctly.

Fix an accidental inclusion of a console.log statement
logging needlessly.
2023-03-31 14:36:43 +00:00
Robert Chacón
d253e1f518 Merge pull request #319 from LibreQoE/issue_317_five_minute_reset
Last 5 minutes of throughput data are stored server-side on node_manager
2023-03-30 18:26:16 -06:00
Robert Chacón
6552e8ec29 Fix bug pertaining to https://github.com/LibreQoE/LibreQoS/pull/320 2023-03-30 18:22:38 -06:00
Robert Chacón
41b86b6a87 Merge pull request #320 from vettagroup/vettacontrib
Fix replaceRootNote and circuit stats priorQuery
2023-03-30 18:21:26 -06:00