Commit Graph

1132 Commits

Author SHA1 Message Date
Srivats P
cda08d9afb Bump version to 1.2.0-rc.1 2022-07-29 20:59:16 +05:30
Srivats P
97068b97e3 Use /usr/share/ostinato-controller/themes on Linux
This is because the Ostinato packaging reccomendation is to use
ostinato-agent and ostinato-controller package names. The ostinato
package is a meta package containing the aforementioned sub-packages
2022-07-29 20:54:14 +05:30
Srivats P
06ad12777f Warn if sign proto may be followed by padding
For now, we check and tell the user. The actual fix should be for
sign proto to add padding before it's content, if required

Updates #313
2022-06-30 18:24:48 +05:30
Srivats P
2970a292c6 Fix build break and warnings 2022-06-28 18:32:39 +05:30
Srivats P
701a058c7d Merge commit 'refs/subrepo/ostinato/fetch' into subrepo/ostinato
Update from master repo into turbo
2022-06-27 14:35:22 +05:30
Srivats P
2103f2c5a6 Minor editorial change for cleaning up message 2022-06-27 13:43:48 +05:30
Srivats P
4be8a2969d Create and print activation hash on request
To request, pass option -a on the command-line
2022-06-27 13:43:48 +05:30
Srivats P
46a54fd56b Define PCAP promisc flag only if not defined 2022-06-27 13:43:48 +05:30
Srivats P
d32f89d30b Enable libbpf logging when drone logs are enabled 2022-06-27 13:43:48 +05:30
Srivats P
1b647ade1b Print "Starting..." after processing command line args 2022-06-27 13:43:47 +05:30
Srivats P
789338c8e1 Add startup/shutdown console prints 2022-06-27 13:43:47 +05:30
Srivats P
898b56fc76 Add turbo license validation code
Signed up for and using keygen.sh licensing SAAS
2022-06-27 13:43:47 +05:30
Srivats P
9d42ed12cc Use a invalid GUID instead of 0 as default
If a packet does not have a sign/guid, use an invalid guid instead of 0
as the default, so that these packets get tracked against the invalid
guid which can be excluded while updating the port's stream stats.
2022-06-27 13:43:47 +05:30
Srivats P
c949dc6682 Integrate XdpPort more cleanly into port manager
* No ugly #ifdef TURBO
* Turbo ports need to be specified explicitly in drone.ini
* If a port is not a turbo port, fall back to LinuxPort
* Turbo ports set their description as 'Turbo' which shows up in GUI
* Some XdpPort creation/destruction error checks
2022-06-27 13:43:47 +05:30
Srivats P
eb2ca12f32 Reorg (part 4) - add left out file
ostinato/server/timespecops.h got left out from part 1 commit of
the reorg - because it was a new file and was ignored by a wrong
.gitignore rule
2022-06-27 13:43:46 +05:30
Srivats P
e79b61b189 Use -Werror for all code except protobuf generated
protobuf files will use -Wno-error
2022-06-27 13:43:46 +05:30
Srivats P
741202ca76 Remove compiler warning
Compiler treats literal '0' as int i.e. signed
2022-06-27 13:43:46 +05:30
Srivats P
843733567a Reoganize code using subrepo for Ostinato (part 2)
This commit includes all the new and modified files
2022-06-27 13:43:46 +05:30
Srivats P
6f4ef70dbc Add FUNDING.yml for GitHub sponsors 2022-06-24 15:46:51 +05:30
Srivats P
b296c5fddd Check duration > 0 before calculating stream rates
Avoid divide by zero error and/or inf/nan values
2022-06-22 12:56:07 +05:30
Srivats P
d9cd90a13d Clear stream stats before starting Tx on port
This is required for correct stream rate calculations
2022-06-21 18:53:35 +05:30
Srivats P
fb879d2c72 Return txDuration as 0 for ports with no streams 2022-06-21 18:51:42 +05:30
Srivats P
5e7bf77b0c
Merge pull request #350 from pstavirs/streamrates
Add average rate per GUID in stream statistics
2022-06-20 17:27:24 +05:30
Srivats P
a1d985e44b Show stream stats in GUI sorted by GUID 2022-06-16 18:14:23 +05:30
Srivats P
b8d5d9421f Show Duration 'n rates in stream stats by default
Port Pkt stats are no longer shown by default. To see them and byte
counters, use context menu option - "Show details" (renamed from the
existing "Show Byte counters")
2022-06-16 14:46:18 +05:30
Srivats P
2868806f3f GUI side changes for displaying stream rates
At the moment, the Tx duration for a GUID is taken to be the largest of
all tx duration for that GUID across all ports. In the future, we may
consider changing it to average instead of largest.
2022-06-16 12:30:13 +05:30
Srivats P
ccf5b5ca47 Add a few asserts to debug GUI client crash
The crash seems to happen in the following scenario -
 * Ostinato and drone are both running (with some devices/streams)
 * Kill and restart drone
 * Wait for GUI to reconnect to drone
 * Click on one of the ports in the port list
2022-06-09 20:32:22 +05:30
Srivats P
c03038167c Initiate ARP/NDP resolve during session open
The current implementation won't work for all cases. See the notes added
in the code.

Updates #311
2022-06-09 20:30:42 +05:30
Srivats P
de9018166d Remove extra braces 2022-06-09 15:11:55 +05:30
Srivats P
c0d860b92d Support 0 rate for interleaved streams
Fixes #297
2022-06-09 13:35:05 +05:30
Srivats P
81c975d6d1 Wait 500ms for ARP/NDP to finish in resolve RPC
Fixes #318
2022-06-06 16:30:33 +05:30
Srivats P
1854f1ab9e
Merge pull request #336 from pstavirs/gre
WIP: Add GRE protocol
2022-05-27 13:43:46 +05:30
Srivats P
5a91dc4561 Remove TODOs from GRE implementation files 2022-05-26 17:30:29 +05:30
Srivats P
3d6f39e84d Implement override checksum for GRE 2022-05-25 15:16:33 +05:30
Srivats P
60f61ed947 Add and use UIntEdit for 32-bit GRE Key/Seq fields 2022-05-23 17:04:27 +05:30
Srivats P
26d0c8ab9c Skip not-included fields in variable fields list
Optional protocol fields not included in the packet have bitSize = 0
2022-05-23 13:31:01 +05:30
Srivats P
25a91e52f6 Change GRE optional fields implementation
* frameFieldCount() always includes all frame fields whether or not
included in packet
* if an optional field is not included in packet
    - FieldName is still returned
    - FieldTextValue is returned as "<not-included>"
    - FieldBitWidth is 0
    - all remaining attributes are QVariant()
2022-05-23 13:18:18 +05:30
Srivats P
c8cc7a021f Merge branch 'master' into gre 2022-05-21 12:16:14 +05:30
Srivats P
564687ffe3
Merge pull request #348 from Benni0109/master
Update portstatswindow.ui
2022-04-22 21:05:38 +05:30
Benjamin
9d4aaa4f7b
Update portstatswindow.ui 2022-04-16 19:14:44 +02:00
Srivats P
329469dd6e Calculate port tx duration and send to controller
This commit only includes server side changes plus the .proto changes.

Client side UI changes are still pending.
2022-02-21 22:20:59 +05:30
Srivats P
7374c74b95 Increase default width of port list pane
The list and detail panes were currently set to 1:2, so that the list
pane is 1/3rd the width. But for some reason it is not working like I
expect it to work. Setting it 1:1 looks better.
2022-02-12 19:26:18 +05:30
Srivats P
6f433bb7a1 Move View menu immediately after Edit menu
This seems to be the convention and also recommended by MacOS HIG
2022-02-11 18:34:06 +05:30
Srivats P
2ee19da15c Add Stream and Device menus to main window menu bar
Stream and Device related actions from the File menu has been moved
under these new menus
2022-02-11 18:09:30 +05:30
Srivats P
22b8c405f7 Use palette colors for stream stats
Using harcoded colors leads to unexpected results in dark mode.
2022-02-11 11:37:03 +05:30
Srivats P
2ce7f0c7a0 Disconnect portgroup before removing from list
Disconnecting _during_ remove sometimes causes crash because disconnect
triggers the logs window alert which **can** lead to repainting of
other windows which access port groups which have not been synced after
the removal of one or more portgroups.

Also emit endRemoveRows after each portgroup so that begin/end signals
match.
2022-02-10 20:34:10 +05:30
Srivats P
041f500e65 Avoid crash at GUI start up
The crash can happen before mainWindow is allocated. Don't remember how
that happens, but I have seen it happen!
2022-02-09 21:30:51 +05:30
Srivats P
7dd070fd98 Fix packet dump view bg color when using dark theme
Qt already paints the background before calling the paint event, so we
don't need to repaint it.
2022-02-07 21:44:40 +05:30
Srivats P
ac52844b3f Don't stretch stream config simple protocols widget
Only avoid the vertical stretch by adding a spacer, let horizontal still
stretch
2022-02-05 21:22:32 +05:30
Srivats P
2bf2973a23
Merge pull request #347 from pstavirs/themes
Add Ostinato Themes
2022-02-05 20:51:32 +05:30