Srivats P
d5365a25d4
Add IMIX as a Frame Length mode
...
Use Simple IMIX as defined in Wikipedia - Frame lengths 64, 594, 1518 in
a 7:4:1 ratio
2021-09-23 08:11:22 +05:30
Srivats P
9f70f29499
Refactor ICMP/IGMP checksums
...
Added a new CksumTypeIcmpIgmp and implemented it in AbstractProtocol.
2021-09-05 13:04:57 +05:30
Srivats P
a498dbf21a
Fix incorrect UDP/ICMP checksums
...
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.
2021-09-04 18:16:40 +05:30
Srivats P
64d4b38f41
Add protocol error checks to preflight check
...
Also commented out stream transmit duration check that was causing false
positives
2019-06-05 11:39:09 +05:30
Srivats P
90d93d52e1
Merge branch 'master' into hostdev
2019-02-05 20:34:00 +05:30
Srivats P
88b3c287d0
Track smac/dmac resolve failures when building packet list
2019-02-05 18:31:43 +05:30
Srivats P
495b99beda
Use streamIndex in PseudoIpCksum calculation
...
This bug was introduced while fixing #271
2018-09-17 17:26:51 +05:30
Srivats P
488a2ea730
Bugfix: Fix incorrect cksums
...
Presence of IPv6 Extension Headers was causing incorrect TCP/UDP/ICMP
cksums. Verified that with these changes, cksums are correct for all
combinations of L3 and L4 headers with/without options/extHdrs
Fixes #271
2018-09-13 12:32:36 +05:30
Srivats P
f801982830
Port common, rpc and client code to Qt5
...
Still pending
* server port to Qt5
* verify/test the port
2018-03-14 21:58:56 +05:30
Srivats P
2f9769d0ed
sign: rename byteswap.h to avoid name clash with the standard one on Linux
2016-11-05 11:33:47 +05:30
Srivats P
46449a02a3
sign: fix PayloadCksum for odd boundary between protocols
2016-11-01 16:30:13 +05:30
Srivats P.
384fd6e172
Feature (contd.): Variable Fields - fixed errors and warnings reported by gcc4 in the code added for this feature
2015-06-01 19:05:43 +05:30
Srivats P.
022fac534c
Feature (contd.): Variable Fields - fixed 2nd protocol of combo protocols not being listed and offset/mask not being calculated correctly for them via the GUI
2015-05-31 20:47:25 +05:30
Srivats P.
6bb64a3b26
Feature (contd.): Variable Fields - renamed variable_fields as singular; this makes it consistent with other repeated variables in protocol.proto and in any case the C++/Python generated code "sounds" better with a repeated field named in its singular form, rather than plural
2015-05-31 20:14:32 +05:30
Srivats P.
641a4f3c89
Feature (contd.): Variable Fields - defined a template function varyCounter to avoid duplicating code for different counter sizes
2015-05-31 19:46:16 +05:30
Srivats P.
77f5b124e7
Feature (contd.): Variable Fields - fixed the code to use 'step' while varying fields which was missed out earlier. Updated the test suite and made sure all test cases pass
2015-05-31 18:02:06 +05:30
Srivats P.
60c47c34a1
Feature (contd.): Variable Fields - AbstractProtocol now caches fieldFrameBitOffset unless the subclass says not to
2015-05-27 22:41:31 +05:30
Srivats P.
4f2abcb789
Feature (contd.): Variable Fields - AbstractProtocol now caches the frameVariableCount (of variableFields)
2015-05-27 21:28:40 +05:30
Srivats P.
7a1f791a37
Feature (contd.): Variable Fields - removed protocol subclass implementations of isProtocolFrameValueVariable() since the updated implementation in the base abstract class is now sufficient. Updated subclass implementations of protocolFrameValueVariableCount() to query the base class and use the return value in its calculation
2015-05-27 20:36:49 +05:30
Srivats P.
df24cf8b15
Feature: Variable Fields - any field of any protocol can now be varied by specifying it as a generic 8/16/32 bit field at a specified offset (relative to the protocol frame value) with a certain mask and a (initial) value alongwith count and step; this is working code - but incomplete. Bunch of FIXME/TODOs and testing pending
2015-05-26 21:43:37 +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