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
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
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
81c975d6d1
Wait 500ms for ARP/NDP to finish in resolve RPC
...
Fixes #318
2022-06-06 16:30:33 +05:30
Srivats P
7cf323202f
Add new build() RPC
...
Make build an explicit RPC so that clients can call resolveNeighbor
before build
2019-05-28 18:46:58 +05:30
Srivats P
44357178c4
Rename var 'fail' as 'error'
...
This better reflects the following -
RPC fail : complete failure of the RPC; no changes were made
RPC error: partial failure of the RPC; some changes were made, some had
errors
2019-02-21 20:57:24 +05:30
Srivats P
fcca47e652
Rename kRpcFail as kRpcError
...
Distinguish RPC Failure and RPC Error - the latter is in case of partial
failures
Also make Ack.status required - missed out in last commit
2019-02-16 20:54:11 +05:30
Srivats P
7ea8c96543
Populate Ack for every RPC
...
Also make error strings in Ack and RPC failure consistent
2019-02-16 20:38:25 +05:30
Srivats P
8b9cceb7ed
HostDev: Return smac/dmac resolve failure via RPC
2019-02-09 17:16:31 +05:30
Srivats P
6dd6511269
Merge branch 'master' into sign
2017-12-03 12:59:26 +05:30
Srivats P
81e7e735bc
sign: Resolve a few FIXMEs
...
* Rename track_stream_stats to is_tracking_stream_stats for consistency
with other bool params
* Change signature magic value to CODA
* Resolve notify memory leak
2017-12-03 11:26:09 +05:30
Srivats P
a2b349e5b7
Inform user about Drone version incompatibility
2017-09-25 21:26:57 +05:30
Srivats P
cffada4c07
sign: server rpc implementation of stream stats; actual collection of stream stats pending
2016-11-10 18:18:27 +05:30
Srivats P
bf92ea09df
sign: TDD test script for stream stats
2016-11-06 21:28:31 +05:30
Srivats P
e0bf173b39
sign: remove sign stats and remnants of signed streams
2016-11-05 19:53:01 +05:30
Srivats P
9de3f96b20
sign: Do not allow port TxMode/StreamsType to be changed while tx is on
2016-10-27 21:44:08 +05:30
Srivats P
a79bbb1fcd
sign: signed tx stats infra; actual tx signing pending
2016-10-23 17:24:23 +05:30
Srivats P
10559c2a56
sign: stats infra extended for sign stats
2016-08-22 23:26:33 +05:30
Srivats P
4a2c0066b9
Use explicit Recursive ReadWrite lock (needed by Qt >= 4.4); fixes #186
2016-06-03 18:54:14 +05:30
Srivats P
2acfb3f25a
Fix warnings introduced by recent feature development
2016-06-01 20:51:29 +05:30
Srivats P
3040c72181
Device Emulation (contd.): Optimize getDeviceMac() and getNeighborMac() to return 0 if no devices are configured
2016-01-28 21:21:24 +05:30
Srivats P
3a5396c865
Feature (contd.): Device Emulation - Got rid of a bunch of FIXMEs and all trailing whitespace (in the code added for this feature)
2015-11-14 17:06:43 +05:30
Srivats P
7daf75c95a
Feature (contd.): Device Emulation - added getDeviceList() RPC
2015-11-11 13:05:15 +05:30
Srivats P
492a207ede
Feature (contd.): Device Emulation - reorganized/renamed some emulation RPCs and messages
2015-11-11 10:52:29 +05:30
Srivats P
280d4bedaa
Feature (contd.): Device Emulation - Mac protocol can now 'resolve' src/dst mac corresponding to the packet from the Device Emulation infra
2015-11-10 19:40:32 +05:30
Srivats P
9302e5f17c
Feature (contd.): Device Emulation - added resolveNeighbors() and related RPC code and implementation to send out ARP Requests and build the ARP Table on each device
2015-11-04 18:50:08 +05:30
Srivats P
246bc95c74
Feature (contd.): Device Emulation - user now configures a device group instead of a single device for easier creation of multiple devices; refactored and redistributed functionality between DeviceManager and Device; external functionality wise same as last commit; added initial code for vlans but not tested
2015-09-20 17:49:15 +05:30
Srivats P
ab433dc22b
Feature: Device Emulation - first cut working code
2015-09-14 18:19:52 +05:30
Srivats P.
25ef8dd1e4
Infra: Added code to disable notifications for python-ostinato scripts since python-ostinato does not expect and hence does not know how to deal with notifications
...
Updates issue 144
2015-05-01 21:41:04 +05:30
Srivats P.
fbaf6edcdf
Bugfix: Use 'smart' pointer to refcount and auto-destruct to avoid notification memory leaks
...
Updates issue 144
2015-04-28 18:45:35 +05:30
Srivats P.
ad6baea4af
Infra: On a port modify, all clients are sent notifications of the same - they can request for port config again to get latest config
...
Updates issue 144
2015-04-24 20:53:00 +05:30
Srivats P.
a9da643fb2
Feature: Reserve Ports for cooperative use of shared drone. If a port is reserved the GUI will display the username of the owner but others can still view and control the port; in other words, we just potentially prevent unintentional usage of other people's ports, users still need to play nice with each other!
...
Fixes issue 144
2015-04-16 22:20:07 +05:30