Commit Graph

1133 Commits

Author SHA1 Message Date
Srivats P
0a825a0aa3 Extract streamsWidget code out of portsWindow
All functionality seems to be working, so hopefully no regressions!

It does appear to me that portWidget can be extracted out of
streamsWidget
2021-11-05 15:27:37 +05:30
Srivats P
214c774fc6 Prepare to extract streamsWidget code from portsWindow 2021-11-05 13:02:19 +05:30
Srivats P
b52d1c5be3 Extract streamswidget.ui out of portswindow.ui
Only UI extraction is done. PortsWindow is still a combined class that
will be separated in the subsequent commit(s).

Although this commit builds successfully, but the stream actions don't
work because the stream widget's signals are not connected to port
window's slots
2021-11-05 13:02:19 +05:30
Srivats P
d9d68ad65c Prepare to extract streamsWidget out of portsWindow 2021-11-05 13:02:19 +05:30
Srivats P
d77074da1a Upgrade portswindow.ui to QtDesigner 5.9.4 2021-11-05 13:02:19 +05:30
Srivats P
9789d475a8 Show/hide the Next column in stream list on tx mode change 2021-10-21 21:52:54 +05:30
Srivats P
9c44bb8e12 Update stream view actions after opening a streams file
Fixes #312
2021-09-25 12:41:31 +05:30
Srivats P
5180f57202 Fix comparison of different enum types 2021-09-23 09:34:09 +05:30
Srivats P
a3f0281c30 Fix comparison of difference enum types 2021-09-23 08:31:52 +05:30
Srivats P
d5365a25d4 Add IMIX as a Frame Length mode
Use Simple IMIX as defined in Wikipedia - Frame lengths 64, 594, 1518 in
a 7:4:1 ratio
2021-09-23 08:11:22 +05:30
Srivats P
9f70f29499 Refactor ICMP/IGMP checksums
Added a new CksumTypeIcmpIgmp and implemented it in AbstractProtocol.
2021-09-05 13:04:57 +05:30
Srivats P
c710adb4d8 Remove extra travis-ci URL from README 2021-09-04 18:59:50 +05:30
Srivats P
8a3837e9c2 Fix travis-ci badge URLs 2021-09-04 18:50:41 +05:30
Srivats P
a498dbf21a Fix incorrect UDP/ICMP checksums
For UDP encaps like VxLAN or Geneve, which can contain IP as
payload, the UDP checksum was incorrect because when summing
UDP payload (i.e. IP), we skipped the IPv4 checksum field,
which should not be skipped in this case.

Similar issue, for ICMP with IP as payload, ICMP checksum was
incorrect.

Essentially, any protocol which checksums over its payload and
the payload contains protocols with checksum fields.
2021-09-04 18:16:40 +05:30
Srivats P
96b6424cae Fix comparison between different next what enum types 2021-08-15 19:22:17 +05:30
Srivats P
658d3dff31 Fix comparison between different send unit enum types 2021-08-15 19:01:10 +05:30
Srivats P
1894a633e1 Fix comparison between different ARP mode enum types 2021-08-15 18:27:13 +05:30
Srivats P
226b6cf35c Fix comparison between different length mode enum types 2021-08-15 18:16:09 +05:30
Srivats P
98f2e9fa6c Fix "" in travis command 2021-08-14 20:35:10 +05:30
Srivats P
0d3efd70ee Add Qt5 bin path to travis.yml
homebrew qt5 is keg-only, it doesn't create symlinks, so we either
need to add to $PATH or create symlinks. Let's try the former for now.
2021-08-14 20:27:00 +05:30
Srivats P
5b49a139d3 Use homebrew addon in travis.yml 2021-08-14 20:13:18 +05:30
Srivats P
c49f402e36 Merge branch 'master' into ci-dev 2021-08-14 20:01:59 +05:30
Srivats P
34d8ac2584 Migrate from travis-ci.org to travis-ci.com 2021-08-14 11:35:49 +05:30
Srivats P
1216cfbce6 Include QRegExpValidator in MacEdit to fix build break
This build break is seen only on some platform/compiler combos
2021-08-14 11:31:38 +05:30
Srivats P
e3a3e84721 Upgrade OSX image to Mojave and more recent xcode 2021-04-25 11:51:18 +05:30
Srivats P
e680cadf7f Fix invalid brew uninstall command 2021-04-25 11:21:31 +05:30
Srivats P
8c2458580f Uninstall java from brew to avoid downloading it 2021-04-25 11:03:34 +05:30
Srivats P
a1705e7619 Try to reconnect with drone after disconnect
This used to work earlier, but got broken when the incompatibility check
was added as we didn't want reconnect to be initiated if versions were
incompatible.

This fix will always try to reconnect, except for following cases -
 * Compatibility check is false
 * Bad data received from drone
 * User triggered disconnect

Fixes #333
2021-04-25 10:52:42 +05:30
Srivats P
d2d5db7df4 Remove brew update and try rebuild with Travis CI 2021-04-25 10:50:04 +05:30
Srivats P
df17547c1b Merge branch 'master' into ci-dev 2021-04-25 10:42:51 +05:30
Srivats P
c2c52d1e6d Fix incorrect display of STP Mac addresses
Use MacEdit instead of QLineEdit to fix and simplify. MacEdit is what
the Mac protocol uses.

Fixes #340
2021-04-24 20:30:30 +05:30
Srivats P
5f10014c23
Add code of conduct 2021-01-17 16:47:40 +05:30
Srivats P
48c00537ac
Minor formatting change to CONTRIBUTING 2021-01-17 16:41:23 +05:30
Srivats P
0adc81eb92 Add contributing guidelines
Inform about copyright assignment
2021-01-17 16:32:24 +05:30
Srivats P
73dd198069 Add GRE protocol 2021-01-09 13:15:26 +05:30
Srivats P
bcc21ccded Gracefully handle portgroup disconnect during Apply
Fixes #326
2020-12-27 17:00:28 +05:30
Srivats P
33dbc42ecb Add Ctrl-C cleanup for Drone on Windows 2020-12-27 12:54:57 +05:30
Srivats P
4ae6b564d3 Close existing RPC connections at exit
Fixes #314
2020-12-27 12:52:47 +05:30
Srivats P
c97a359f85 Warn about retreiving stream stats from a transmitting port
Tx stream stats are available only after transmit is finished.

Fixes #334
2020-12-27 11:28:18 +05:30
Srivats P
ea31cf30fb Select previous tab when a stream stats tab is closed
The default behaviour was to select the tab to the right of the
closed tab which is not very useful for us since the right tab
will be the Logs tab.

Fixes #331
2020-12-27 11:16:39 +05:30
Srivats P
631f0982fe Fix wrong stream getting disabled in interleaved mode
When building packets in interleaved mode, we do 2 passes over the
streams.

In the first pass, we build a number of lists of variables for each
**enabled** stream. One of these variables is the pktBuf content.

In the second pass, we use these lists to build the packets. If the
stream is not variable, we just use the packet content built in the
first pass. However, if the stream is variable we call frameValue to get
the packet content, but we index with the wrong value into stream list
 if we have some disabled streams before us.

Fixes #328
2020-11-13 21:48:36 +05:30
Srivats P
640e7029b9 Fix port reservation getting cleared incorrectly
This would happen when other port config properties were modified but
the reserve checkbox itself was not modified.

Fixes #317
2020-10-23 13:21:02 +05:30
Srivats P
43fe3964f9 Fix unknown GUID 4294967295 in stream statistics
4294967295 (0xffffffff) is actually used internally by Ostinato for the
Total or Aggregate stats. When stream stats are fetched from more than
one portgroups, a kAggrGuid entry was added for each portgroup in the
GUID list. However, the GUI only tags the last row with the kAggrGUID as
the "Total" row.

Fix is to ensure we add kAggrGuid only once to _guidList.
2020-10-23 12:42:57 +05:30
Srivats P
a352ff3ed1 Fix frame variable count when varying frame lengths
The frame variable count should be minimum of frame count and frame
length range size.

Unrelated, in case of random payload pattern, reuse
StreamBase::frameCount() which does the same calculation.

Fixes #325
2020-10-22 20:28:26 +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