Commit Graph

18 Commits

Author SHA1 Message Date
Srivats P.
c2fac2db70 Added streams save/restore; Ostinato file format specified; Protocol Field Numbering scheme changed - existing protocol field numbers changed accordingly 2010-07-13 20:36:35 +05:30
Srivats P.
59c9ae8baa - Added Copyright and License (GPLv3) notifications to all source files viz. *.h, *.cpp, *.proto
- Also added a "License" tab to the 'About Ostinato' dialog box.
2010-03-27 18:38:57 +00:00
Srivats P.
2581562ec5 Fixes
- Queued RPC calls would cause crashes due to invalid pointers to request/response and/or controller; this has been fixed
    - PbRpcController now takes ownership of request and response messages and
      will delete them when it itself is being deleted
    - This design mandates that request and response messages for each RPC call
      have to be allocated on the heap.
    - The convention for the Closure 'done' call now is to allocate and pass a
      pointer to the controller object to it which will delete it after use;
      this requires that controller itself be also allocated on the heap
      (NOTE: this is just a convention - not mandatory)
    - All existing RPC calls (in portgroup.cpp) have been changed to follow the
      above convention
- Reordering of queued RPC calls has been fixed
- PortManager is now destroyed at exit; because of this fix the per port temporary capture files are auto-removed at exit
- WinPcapPort destructor no longer deletes the monitor threads because the parent class PcapPort already does it
- Capture does not automatically (and incorrectly) stop after one packet if started immediately after a View Capture operation
- User is prompted to stop transmit on a port first if he tries to apply configuration changes on a port in 'transmit' state
2010-02-17 15:26:42 +00:00
Srivats P.
b28bcd3055 Implemented "exclusive control" for a port using bindconfig (Win32 only). Following changes done for the same -
- OstProto service has a new method "modifyPort()"
- At port init port.isExclusive is now set using a bindconfig query (Win32 only)
- AbstractPort interface has 2 new pure virtual methods - hasExclusiveControl() and setExclusiveControl()
- PcapPort does not support this functionality (yet) so these methods return false
- WinPcapPort suppots this new functionality using bindconfig
- Port's notes (specifying Rx/Tx limitations) are now set and updated based on hasExclusiveControl()
- Presence of 'notes' on a port is indicated using a '*' after the port name in the port stats window
- The tabwidget has been removed from Port Window | Stream View Pane
- Ostinato Client has a new action in the port window's context menu for the same
- Port Icon in the Port Window is decorated based on exclusive control
2010-02-09 15:21:52 +00:00
Srivats P.
70ca42fbb3 Enhancements
- Server now updates the "packet list" after every "apply" rather than before a "start transmit" (if dirty) - this better reflects user's expectation from these operations
- Client disables the entire application and changes to a "Busy" cursor when "applying" stream configuration

Fixes
- UDP checksum no longer is zero but a valid value
- Order of streams no longer gets messed up across a "apply"
2010-01-10 14:40:33 +00:00
Srivats P.
c97ae3bc55 Fixed a bunch of memory leaks - thanks to the superb Valgrind! 2010-01-08 15:18:55 +00:00
Srivats P.
c5bcc2e0c2 Converted all EOLs to unix-style '\n' only 2009-12-28 10:05:42 +00:00
Srivats P.
c7d90ff1ab - All tabs converted to spaces in all files
- .vimrc added to reflect settings used in the project
2009-12-28 08:31:28 +00:00
Srivats P.
3602d24767 Fixes
- LinkState is now updated in PortWindow as soon as a change is detected; the required minimal refactoring of the Port class usage has been done
	- Fixed a compiler warning in portgrouplist.cpp


Others
	- PortStatsFilter: Ui change - added left and right arrow icons
2009-11-14 15:09:19 +00:00
Srivats P.
ade8c119d9 Features
- Port State (Link/Transmit/Capture) now updated alongwith port stats
    - On link state change, the port window is not updated - partial changes have been done under #if 0; needs refactoring of Port Class implementation/usage before a signal/slot for the same can be implemented

Fixes
  - Fixed crash in client when connection to server is broken
  - Packet Capture and Capture Buffer Retrieval now works correctly and consistently (I think!)

Others
  - Minor visual changes in Ports Window
  - Port Stats Window now has 'right' alignment for stats data and 'center' for state data
2009-11-08 08:20:34 +00:00
Srivats P.
2ec7fb30c2 Protocol Framework basic code in place now. Cleanup pending.
- New Classes:
  o ProtocolManager - singleton with which all protocols register
  o ProtocolCollection - Aggregates all registered protocols; exports methods to work on all protocols
  o StreamBase - aggregates ProtocolCollection with Stream Core and Control; the client/server side stream classes now derive from StreamBase leading to major reduction in their code (more cleanup pending)
- AbstractProtocol now supports the additional methods
  o createInstance()
  o protocolFrameSize()
  o protocolFrameOffset(), protocolFramePayloadSize()
  o protocolId(), payloadProtocolId()
  o protocolFrameCksum(), protocolFramePayloadCksum()
  0 constructor takes an extra param - frameProtoList
- Specific protocols - eth2, llc, snap, ip4, udp, tcp now return length, protocol id and cksums correctly (tcp/udp cksum pending)
- StreamConfigDialog - protocol controls for length, cksum and protocolid are automatically updated (not fully working yet)
2009-05-10 06:27:17 +00:00
Srivats P.
2d856012cb New Protocol Framework - initial checkin; not yet complete 2009-04-27 16:51:44 +00:00
Srivats P.
62a82dfb80 Stream creation (various modes etc.) done except for Rate Control.
PortStats done - need to find solution for txRates
2008-09-28 18:01:52 +00:00
Srivats P.
4cf80d4ee4 Demo code for stats being checked in 2008-09-14 12:03:53 +00:00
Srivats P.
c7f4c1dec9 - StreamModel no longer a friend of Stream
- PacketModel refactored by moving protocol specific stuff into Stream and xxxProtocol classes
2008-08-24 04:39:08 +00:00
Srivats P.
f220482876 Added Google Protocol Buffers as the serialization format between client and server.
Initial Checkin. PB related code not yet complete
2008-08-09 03:22:13 +00:00
Srivats P.
8251383351 - added PortStatsFilter
- added PacketDump (test code)
- added PacketTree (not complete)
- Protocol stuff (not complete)
2008-05-25 11:30:30 +00:00
Srivats P.
7e8d8308e3 Initial Import 2008-05-03 14:37:10 +00:00