Commit Graph

901 Commits

Author SHA1 Message Date
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
5edf9a75e5 Bump version to 1.1 2020-06-19 08:00:09 +05:30
Srivats P
910e721182 Add qt5svg package in travis 2020-06-13 22:17:40 +05:30
Srivats P
f2635acb09 Hide the SVG label at creation
When required the appropriate pixmap (error/warn) will be set and the
label will be shown.
2020-06-13 21:36:51 +05:30
Srivats P
23d855f201 Add svg module to required QT modules
MacOS seems to need svg module to show SVG icons
2020-06-13 21:35:53 +05:30
Srivats P
8547eb8bb8 Fix pcap import/replay inter packet timing
Changed to decimal precision for improved replay accuracy.

For inter packet time > 1s, the integer precision would set up rate as 0
instead of 0.x - this also gets fixed by this change.
2020-06-11 20:48:57 +05:30
Srivats P
cb9b648c71 Resolve only valid gateways
Not doing so would lead to errors showing up with host devices
2020-06-08 18:42:38 +05:30
Srivats P
1699dba1cf Change raw_input to input in generated python code 2020-06-06 12:30:53 +05:30
Srivats P
be984135ac Fix diff in pcap import of IPv4 due to ip.flags
Some Wireshark/tshark versions have ip.flags as u16 instead of u8. Code
changed to be able to handle both.

Tested with Wireshark 3.2.4 (u16) and 1.14 (u8)
2020-06-04 21:02:09 +05:30
Srivats P
2028d0f25b Start the error/warn animation from center of app
Irrespective of whether logs window is visible or not, show and
animate the icon from the center of the main window; end point is center
of logs window if visible, or the logs window tab icon if not visible.
2020-05-31 21:01:10 +05:30
Srivats P
4487da1ae6 Add URL to why pcap diff from error message 2020-05-18 20:58:39 +05:30
Srivats P
f7ace4c5c2 Name threads for easier debugging 2020-05-15 18:55:03 +05:30
Srivats P
6f7cbae2dd
Merge pull request #306 from quanterium/isnan_error
Add missing include cmath in port.cpp
2020-05-15 17:56:36 +05:30
David Mueller
f14c02b065
Add missing include cmath 2020-05-13 09:28:59 -07:00
Srivats P
1f8bfd2393 Update copyright to 2020 in About 2020-05-13 20:48:37 +05:30
Srivats P
8859a4c152 Tweak the animated error/warn GIF icons
Two frames were deleted from each end of the sequence so that the icon
never goes fully white/blank
2020-05-13 20:39:45 +05:30
Srivats P
1bc2d08fdb Reset RPC input stream after aborting the connection
Without reset, on reconnection, the input stream reads the buffered
data before abort.
2020-05-12 21:56:40 +05:30
Srivats P
75ce626532 Convert RPC channel's static vars to data members
Using static vars meant all connections were using the same static vars!
A bug that has existed since 2009!

This code is ugly, but since it is such a fundamental piece of code for
every operation, no refactoring is being done except to convert the
static vars to data members renaming where required to avoid name
conflicts. The one exception is that `cumLen` which was a per hdr.type
variable is now a single data member across all types. Since for a
single connection messages will be sequential this is expected to work
(fingers crossed!)

For the future we should look at replacing the custom RPC code with GRPC
(issue #305).

Fixes #304
2020-05-12 21:33:54 +05:30
Srivats P
f92161e755 Add XXX note about LogsWindow::isVisible_ 2020-05-10 19:19:32 +05:30
Srivats P
0e72a58dd7 Call attention to the warn/error logs using animation 2020-05-10 18:43:08 +05:30
Srivats P
dccf2042f0 Abort connection if bad data received from drone
Currently we would crash because of qFatal(). The new behaviour is
better. Error is reported in the logs window alongwith a suggestion on
what to check.
2020-05-09 09:50:32 +05:30
Srivats P
1e1e0b0c48 Clear current and selection when restoring default view
This is done for all top level windows - ports, stats, logs

At startup, the local portgroup would automatically become current with
the result that the welcome page would not be visible. Not sure why but
an explicit setFocus of ports window seems to avoid it.
2020-05-07 18:40:31 +05:30
Srivats P
f309ce99cc Set top and bottom docks to equal height at startup 2020-05-06 18:01:44 +05:30
Srivats P
2006674fc1 Print Settings path at startup for debug 2020-05-06 17:52:18 +05:30
Srivats P
ad38a60171 Fix valid count range for variable fields
To allow full range of a field, the "count" of a variable field,
 * Minimum should be 1, not 0
 * Maximum should be max value of field + 1

Fixes #301
2020-05-04 19:15:49 +05:30
Srivats P
bd20ec724f Check if interface has a link layer (mac) address
Fixes #298
2020-05-04 18:55:57 +05:30
Srivats P
0897ae6dad Fix awk not found while importing pcap on Windows
For non-Windows platforms, the default paths for awk, diff, gzip are
fixed at compile time since these are standard utilities for these
platforms. However, for Windows, we ship these utilities along with
Ostinato, so we need to set default path as the application directory
which is known only at run time. This is done as part of
Preferences::initDefaults() and therefore should be called before
setting OstProtoLib external program paths
2020-04-09 18:43:00 +05:30
Srivats P
a1582ad67b Convert pcapng and other formats to pcap for import
Any capture format supported by tshark can now be imported by Ostinato.

Fixes #83
2020-04-07 21:18:34 +05:30
Srivats P
c335f34651 Import PDML text proto as hexdump if non-text chars 2020-04-07 21:15:27 +05:30
Srivats P
5efffb0c4b Ignore http.file_data during PDML import
This field is just a combination of other http fields
2020-04-07 21:14:44 +05:30
Srivats P
79ada3315a Ignore empty value fields during PDML import 2020-04-07 21:10:39 +05:30
Srivats P
c25256bfb5 Fix STP PCAP/PDML import
As originally written it worked only with Eth encap
2020-04-07 21:08:21 +05:30
Srivats P
63e648bbfe Fix IGMPv3 group record aux data
FieldValue, FieldFrameValue, FieldTextValue were all fixed. This used to
work earlier. I think somewhere across Qt versions, QByteArray() and
QString() changed such that it broke. Or more likely I was using those
incorrectly earlier but output was still correct which is no longer
true.

Anyway, it should be ok going forward (hopefully!)
2020-04-03 20:39:14 +05:30
Srivats P
487f3e653d Fix missing packet summary line in pcap import diff
Looks like starting somewhere in Wireshark 2.x, when we give -x to
tshark, we also need to explicitly give -P to include the one-line
summary of the packet. This one-line summary is used in the diff to find
out which packets experienced a diff.
2020-04-03 20:29:18 +05:30
Srivats P
f1a962a6c4 Fix compilation error with importpcap test 2020-04-03 20:27:42 +05:30
Srivats P
8f510635a9 Use UInt128 for IPv6 address modes (inc, dec, rnd)
Fixes #283
2020-03-27 21:15:49 +05:30
Srivats P
acb8222beb Fix IPv6 stream config prefixLength not being saved 2020-03-27 21:15:49 +05:30
Srivats P
f705f7f606 Fix build break 2020-03-23 20:37:47 +05:30