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.
* 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
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")
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.
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
* 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()
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.
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.
These are the existing and desired defaults -
* GUI: recalcCksum = true
* PCAP import test: recalcCksum = false
With the existing implementation, doing PCAP import in 'raw' mode twice
would lead to recalcCksum being checked in the dialog the second time.
This was because we were always forcing it to be true for the GUI case
without checking for anything.
When opening a non-PCAP file, we convert it to intermediate PCAP format.
Use nanosecond pcap format instead of standard microsec pcap format for
higher timestamp resolution.
Updates #238