Srivats P
3e3b5144aa
Process pending before fetching streamTiming delay
2023-05-26 11:31:52 +05:30
Srivats P
596df69519
Fix MacOS build break by removing unused member
...
PcapTxTtagStats::lastPcapStats_ was unused because debugStats() was moved to
PcapSession, but removing this member var was left out
2023-05-26 11:31:52 +05:30
Srivats P
680f6eb89f
Fix streamTiming garbage collection infinite loop
2023-05-26 11:31:52 +05:30
Srivats P
1b18149aaa
Delete PcapTxTtagSession::debugStats
...
debugStats() was moved to base class PcapSession earlier, but removing it
from here was missed out
2023-05-26 11:31:52 +05:30
Srivats P
bf749847e0
Rename PcapRxStats::id_ as PcapRxStats::portId_
...
Better code clarity
2023-05-26 11:31:52 +05:30
Srivats P
ab713ce043
Integrate StreamTiming with the code
...
Bugs found during integration were fixed and minor code improvements were made
such as using consts, const params, renaming members etc.
2023-05-26 11:31:52 +05:30
Srivats P
fc2d8408fa
Change StreamTiming::timing_ from QList to QHash
...
Using QList meant we need to know the port count in the constructor - which is
difficult to know because StreamTiming is designed as a singleton
2023-05-26 11:31:52 +05:30
Srivats P
39c8d6f5f3
Add initial cut of StreamTiming class
...
This singleton class will keep track of Ttag timing across all ports and GUIDs.
A bunch of FIXMEs/TODOs are pending for this class implementation; also this
class has not been hooked up to the rest of the code yet.
2023-05-26 11:31:52 +05:30
Srivats P
219ad576ad
Fix another MacOS build break
...
Break was due to following warnings (being promoted to errors) -
* id_ private member was unused
* tv_usec is int on MacOS (but long on Linux)
2023-05-26 11:31:52 +05:30
Srivats P
3060701386
Move debugStats() from PcapRx to base PcapSession
...
With this change, other classes that use PcapSession as base can also
use debugStats(), if required
2023-05-26 11:31:52 +05:30
Srivats P
47325c38b0
Ignore failures when stopping stream stats tracking
...
Stop everything irrespective of any failures
2023-05-26 11:31:52 +05:30
Srivats P
21ce331c43
Create a Tx Ttag tracker thread
...
For now we are just debug printing timestamp with T-TagId and GUID. We
need to store this tuple and compare when we Rx the same - this will be
in a upcoming commit.
2023-05-26 11:31:52 +05:30
Srivats P
fd2fae711b
Fix MacOS build break
...
For some reason udiffTimeStamp is not defined for MacOS. To be investigated
later.
2023-05-26 11:31:52 +05:30
Srivats P
2d998b3708
Add an incrementing tag id to T-Tag packets
2023-05-26 11:31:52 +05:30
Srivats P
f65aed7bb0
Add infra to update L4 checksum for T-Tag packets
...
Pending
* Calculate L4 checksum offset instead of hardcoded value
* Recalculate packet L4 checksum instead of using 0 value
2023-05-26 11:31:52 +05:30
Srivats P
fdf8c77350
Change T-Tag on the fly
2023-05-26 11:31:52 +05:30
Srivats P
429eff123d
Don't create implicit packet sets for Tx
...
As part of Turbo changes, we made changes to create explicit packet
sets, but for the base code we continued creating implicit packet
sets for some cases. With this change we don't create any implicit
packet set.
This change needs to be tested thoroughly for multiple cases.
2023-05-26 11:31:52 +05:30
Srivats P
3c98900092
Reduce vertical whitespace in sendQueueTransmit()
2023-05-26 11:31:52 +05:30
Srivats P
46b148b62b
Reformat TxThread/run {} to use less vertical space
2023-05-26 11:31:52 +05:30
Srivats P
f29d31d38a
Update comments about implict packetset
2023-05-26 11:31:52 +05:30
Srivats P
7b7ede351b
Fix build break with stream stats fix
...
The fix was validated with Windows, but not on Linux. This commit fixes
the build break for non-windows platforms.
2023-02-09 15:06:34 +05:30
Srivats P
c70811eaa4
Fix spurious stream stats drops
...
The problem happens for bidirectional flows. The sequence of events is
as follows when you start Tx on Ports p1, p2 with the current code -
1. Clear stream stats on p1
2. Start tx on p1
3. Clear stream stats on p2
4. Start tx on p2
By the time #3 is executed, it may have already rx packets from p1 which
are being incorrectly cleared, this will cause these number of packets
to show up as dropped instead - incorrectly.
The fix is to change the order like this -
1. Clear stream stats on p1
2. Clear stream stats on p2
3. Start tx on p1
4. Start tx on p2
Unidirectional flows will not see this problem - as long as startTx is
done only on the Tx port and not the Rx port.
This bug is a regression caused due to the code changes introduced for the
stream stats rates feature implemented in 1.2.0
2023-02-08 16:34:03 +05:30
Srivats P
c07d9e8691
Fix drone crash at startup on Linux
...
The crash happens if there is a default route without a gateway in
the main routing table
2022-12-23 13:14:19 +05:30
Srivats P
42091e5221
Allow user to add a port description
...
If a user description is available, that is shown in the ports window
other wise the system determined description is shown.
Updates #223
2022-09-09 12:25:17 +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
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
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
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
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
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
8ea89f2607
Retreive speed, mtu for BSD/MacOS ports
2021-11-15 22:31:11 +05:30
Srivats P
7e16004c7f
Retreive link speed and MTU for Linux ports
2021-11-15 21:29:20 +05:30
Srivats P
dd7f4a6fd0
Add load % as an input for port rate
2021-11-07 19:05:11 +05:30
Srivats P
925edb8507
Add port speed and MTU properties
...
This commit only retreives these properties for Windows. Linux and
BSD/MacOS are pending
2021-11-06 21:27:55 +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