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
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.
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
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
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
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.
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