Srivats P
4ee91c1bc2
Rework sequential mode build for new ttag algo
...
The previous commit changed the algo to determine which packets were Ttag'd,
but changes were done only for interleaved mode.
This commit adds the changes required for sequential mode.
2023-05-26 11:31:52 +05:30
Srivats P
aebb609e37
Change algo to infer next Ttag pkt (interleaved mode)
...
The algo works for the following cases of interleaved streams -
* pktListDuration < ttagTimeInterval
* pktListDuration > ttagTimeInterval
* some streams have Ttag, some don't
- first stream has Ttag
- first stream does NOT have Ttag
* no streams have Ttag
Changes for sequential mode are pending
2023-05-26 11:31:52 +05:30
Srivats P
7160f724cb
Fix infinite loop in building interleaved streams
...
Incorrect timestamp comparison was leading to infinite loop
2023-05-26 11:31:52 +05:30
Srivats P
a48a11fe02
Add explicit packet set for interleaved streams
...
Interleaved mode used an implicitly added packet set in both base and Turbo
code. This has been chaned to use an explicit mode to keep things consistent.
Turbo code still has the implicit packet set related code - that needs to be
removed, once the explicit packet set code is validated and tested.
2023-05-26 11:31:52 +05:30
Srivats P
70b5e60440
Rename delay as latency in Protobuf/RPC
...
The GUI uses the term 'latency', so it's better if the API alsos use the same
term instead of 'delay'
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
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
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
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
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
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
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
6974f4016f
Replace the deprecated qSort with std::sort
2019-07-26 21:24:25 +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
8b9cceb7ed
HostDev: Return smac/dmac resolve failure via RPC
2019-02-09 17:16:31 +05:30
Srivats P
88b3c287d0
Track smac/dmac resolve failures when building packet list
2019-02-05 18:31:43 +05:30
Srivats P
bc972e4476
HostDev: Added infra and windows IPv4 implementation
2018-07-26 20:53:33 +05:30
Srivats P
016694f1fe
Use %ll instead of PRI since Windows dev env has been upgraded
2018-05-20 13:33:38 +05:30
Srivats P
e1194a1db3
Check for active stream count when building interleaved packet list
2018-05-10 21:34:51 +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
8f97a69220
sign: Refactor StreamStatsTracking methods
...
Start/StopStreamStatsTracking() methods made private helper functions
specific to PcapPort. AbstractPort::setStreamStatsTracking() virtual
function should be implemented by subclasses as required
2016-12-07 18:19:09 +05:30
Srivats P
028843c55a
sign: Refactor AbstractPort::setStreamSatsTracking
...
Move start/stop stream stats tracking inside setStreamStatsTracking. In
future, maybe convert setStreamStatsTracking to virtual function?
2016-12-06 18:30:26 +05:30
Srivats P
bf161811b4
sign: Add Stream Stats button to GUI port config
2016-11-21 18:39:55 +05:30
Srivats P
e9bdfa04ea
sign: implemented rx stream stats - loopback problem to be fixed
2016-11-17 21:44:34 +05:30
Srivats P
afcb4126b5
sign: port stream tx stats are updated when TxThread finishes; actual Tx stream stats collection by TxThread is still pending
2016-11-11 21:22:07 +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
e0bf173b39
sign: remove sign stats and remnants of signed streams
2016-11-05 19:53:01 +05:30
Srivats P
1986845bae
sign: remove streamsType and associated code
2016-11-05 19:41:02 +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
831b5c0916
Interleaved mode updatePacketList - just clear list if there are no streams. Fixes #195
2016-09-21 20:26:08 +05:30
Srivats P
10559c2a56
sign: stats infra extended for sign stats
2016-08-22 23:26:33 +05:30
Srivats P
72bab2737f
Device Emulation (contd.): 'Resolve Neighbors' will now resend ARP/NDP requests for unresolved entries
2016-03-17 20:12:13 +05:30
Srivats P
f6c852495d
Device Emulation (contd.): resolveNeighbors() now resolves the device gateway also in addition to looking at transmit packet content to figure out which IPs to resolve
2016-01-28 20:01:19 +05:30
Srivats P
c022290da1
Merge branch 'master' of https://github.com/pstavirs/ostinato into emul
...
Conflicts:
server/pcapport.cpp
2015-12-01 21:00:41 +05:30
Srivats P
bed034a08b
Merge branch 'master' into emul
2015-12-01 19:16:24 +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
06182a435c
Bugfix: Introduced RateAccuracy setting for Drone to conserve CPU at the cost of accuracy
...
Fixes #151
2015-10-12 18:11:30 +05:30
Srivats P
ab433dc22b
Feature: Device Emulation - first cut working code
2015-09-14 18:19:52 +05:30
Srivats P
449facd119
Fix PacketSet parameters' calculation when sending bursts so that actual transmit rate matches configured rate
...
Fixes issue #157
2015-09-08 18:46:56 +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