

Traffic Squeezer - ChangeLog


--------initial version------------------------------------------------------------

initial version - 25th October' 06 (Kiran. K)
   * the basic framework is written and tested
   * contains no compression/decompression engine
   * the code once enabled, the box works like a transparent bridge

--------------------------------------------------------------------------------
compression supported version - 14th Jan' 07 (Kiran. K)
  * the compression APIs are stripped off from the BCL library.
  * done little bit changes so that the same can be used for traffic payload 
       compression/decompression purposes.

23rd Feb' 07
  * fixed issue in decompression process.

--------------------------------------------------------------------------------



-------Prototype version-----------------------------------------------------------

First Prototype Version 0.01, 6th May' 07 (Kiran. K)
 * GPL License information is attached to each file.
 * Code refining has done. 
 	(still restructuring is pending, proper APIs of the Traffic Squeezer have to be defined)
 * Created two independant threads and moved the 
       compression and decompression tasks to each individual thread.
 * Promiscous mode enable, through code is finally HACKED and supported ;)
 * ChangeLog file is attached

--------------------------------------------------------------------------------

Prototype Version 0.02, 7th May' 07 (Kiran. K)
 * Code restructuring is done partially.

--------------------------------------------------------------------------------
Prototype Version 0.03, 10th May' 07 (Kiran. K)
 * Traffic Squeezer Statistics data-structures are defined
 * Stats display layout is finally figured out. Looks cool :)

--------------------------------------------------------------------------------
Prototype Version 0.04, 11th May' 07 (Kiran. K)

 * Traffic Squeezer Statistics support added
      - added the new thread to show stats.
      - added messg Rx to get stats posted from Compress and Decompress Threads.
 * Added logic to capture frames which are only greater than the minimum frame size.
      - Add an extra byte to the payload contains 
        value 0x01 -> prossesed and 0x00 -> unprocessed frame

--------------------------------------------------------------------------------
Prototype Version 0.05, 12th May' 07 (Kiran. K)

 * Code restructuring is done.
      - added stats.c/message.c/compress_thread.c/decompress_thread.c

--------------------------------------------------------------------------------
Prototype Version 0.06, 13th May' 07 (Kiran. K)
 * Cli Parser have been included (cli_parser.c)
 * Analyze the Rx frame. If it is meant for the Traffic Squeezer box, 
	then discard and dont perform any process(either 
	compression/decompression).
 * Bug Fixed: If both the ingress and egress ports are the same, 
	then throw error @ create_sockets()
 * Bug Fixed: Stats shaded and unshaded portions are now in the right order.
              Shaded   => Actual Tx out of received Rx
              Unshaded => received Rx
--------------------------------------------------------------------------------
Prototype Version 0.07, 24th May' 07 (Kiran. K)
 * Stats output screen bugs resolved
   -> Compress Traffic and De-Compress Traffic Sections rather than 
      stats only w.r.t ingress and egress port
--------------------------------------------------------------------------------
Prototype Version 0.08, 26th May' 07 (Kiran. K)
 * Added the Traffic Squeezer config file parsing support
   -> Modified file parsing code reusable API Prototype code (delivered by Debaranjan)
   -> Merged the same into the Traffic Squeezer Code

--------------------------------------------------------------------------------
Prototype Version 0.09, 02nd May' 07 (Kiran. K)
 * Modified the config file parameter processing
   -> Added the dynamic config file param registration support
   -> Added the dynamic config file parameter retrieval method
 * Updated all the file headers and ready for release: trafficsqueezer_dontuse_0.10

--------------------------------------------------------------------------------
trafficsqueezer_dontuse_0.10, 02nd June' 07 (Kiran. K)

--------------------------------------------------------------------------------
trafficsqueezer_dontuse_0.11, 10th June' 07 (Kiran. K)
 * Modified the stats display bar w.r.t egress and w.r.t ingress

--------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.12, 22nd June' 07 (Kiran. K)
 * Compression thread checks each time after compression, 
   it sends frames which got only compressed after compression,
   else it sends the same source frames.
 * magic numbers are replaced with #defines :)
 * Makefile is updated to support, "make install" and subsequent "make clean"
 * Readme file is updated.

--------------------------------------------------------------------------------
trafficsqueezer_prealpha_0.13, 15th Jan' 08 (Kiran. K)
 * Added the first stub code for the Frame/Packet Coaleasing logic.
 * Year details have been updated as (2006-2008).
 
 18th Jan' 08 (Kiran. K)
 * Modules (compress_thread.c, decompress_thread.c) and their respective 
   funtions have been changed as generic ingress_thread.c, and egress_thread.c.
   Since these threads does the required WAN acceleration of the corresponding 
   traffic.

--------------------------------------------------------------------------------------
trafficsqueezer_prealpha_0.14.1, 20th Jan' 08 (Kiran. K)
 * Added the first web-interface support for the Traffic Squeezer through
   SWILL-0.2 Open Source Library.

--------------------------------------------------------------------------------------
trafficsqueezer_prealpha_0.14.2, 29th Jan' 08 (Kiran. K)
 29th Jan' 08 (Kiran. K)
 * Added the Java Script Library: Flot for Performance Graph capabilities.
   Now the stats can include any detailed graphs. 

 * Added some more web-pages so that Traffic Squeezer shows the intro, stats, 
   help screens.

---------------------------------------------------------------------------------------


trafficsqueezer_prealpha_0.14.3, 28th Feb' 08 (Kiran. K)
 * BUG-FIXED: Small frames (whichever has padded zeros) are not properly getting 
	un-compressed and leaving the final remote traffic squeezer box.
	To fix the same temporarly all the zero padded frames are not compressed 
	or in other words a frame which is around >150-200 bytes are only 
	considered for compression.

 * First end-to-end configuration of the two traffic squeezer boxes successfully 
	worked. The trafficsqueezer boxes perfectly behaved as L2-Switch and started
	forwarding traffic irrespective of their interface ip-addresses !!!!


01st Mar' 08 (Kiran. K)
 * SWILL-Integration:
   -> Refined the SWILL-0.2 code. Removed all the example/sample code. Changed
      the directory structure and names. Finally renamed this modified "swill-0.2"
      code-base to "trafficsqueezer-swill-1.0".
   -> Integrated SWILL-0.2 Library within the Traffic Squeezer 	code-base.
   -> Traffic Squeezer Makefile is updated so that the Makefile will now 
      automatically compile the SWILL and installs the same before compiling the 
      actual Traffic Squeezer code itself.

 * Updated Makefile with proper dependencies. Also added warnings in the compilation.

 * Updated the Web resources directory. Upon installation of traffic squeezer this 
   directory will get copied from the local path to the /usr/share/trafficsqueezer/web.

 * Updated the Web Help Page.

 * Updated the Traffic Squeezer README.

-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.14.4, 01th Mar' 08 (Kiran. K)
 * Flot Integration (JAVA Library to support graphs on web-interface):
   -> Flot integration is finally completed. The whole flot code is moved into a new 
      directory web/flot/****.js and updated its references in the trafficsqueezer files.
   -> Added the License details provided by the FLOT Team.

02nd Mar' 08 (Kiran. K)
 * Java stats graphs are finally done for both ingress and egress. Displays all the four 
   graphs. 
 * The traffic squeezer logs are now stored in /var/log/trafficsqueezer/clf.log from which 
   the graphs are pulled.
 * Added logic to parse the egress performance graphs too.
 * Auto-scaling option is added for all the performance graphs.
 * README text mode is updated according to the Web-interface README

03rd Mar' 08 (Kiran. K)
 * Fixed the make install issue with libswill which it is supposed to do copy of libswill.*
   files in /lib/. folder.
-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.14.5, 03th Mar' 08 (Kiran. K)
 * Bucket module, added code.

06th Mar' 08
 * Added CPU load to the intro web-page. Since in future its an important measure which
   shows the amount of load taken by the CPU w.r.t to the traffic flow accross the
   trafficsqueezer enabled box.

 * Updated the bucked code populated couple of more APIs. Also the code for the bucked 
   header is completed.

 * Web-Interface: 
   -> Added the basic logic to accept the runtime trafficsqueezer configuration in the home 
      page.
   -> Whichever configuration set shown as "Settings" and there is a new configuration tab
      called as "Configure".
   -> This is yet to be cleaned and yet to be supported for all the features of the traffic 
      squeezer which it is going to provide.

-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.14.6, 07th Mar' 08 (Kiran. K)
 * Started using IN, OUT convention with every parameter of the function API to represent
   whether the parameter is an input or output value of that function.
   To represent any updation of the existing parameters the convention INOUT is used.

 * Completed the whole code of the bucket module APIs. Which is yet to be tested and
   integrated with the operational TS code. 

 * Added logic so that Globally Traffic Squeezer Compression feature on incomming traffic can 
   be enabled or disabled. Or in other words the conditional traffic compression feature is 
   enabled. Any time the user can turn on or off the traffic compression from the Web-Interface.

-----------------------------------------------------------------------------------------


trafficsqueezer_prealpha_0.14.7, 08th Mar' 08 (Kiran. K)
 * Globally Coalescing feature enable or disable option is supported in the Web-Interface.
   (Though the actual internal operation is yet to be supported)

 * Integration of the bucket/coalescing logic in the ingress thread module is partially
   complete. 

 * Also fixed some minor bugs in the bucket APIs.

-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.14.8, 12th Mar' 08 (Kiran. K)
 * Instead of packet prosessed byte as "SET" and "RESET" all the other combinations are also
   included. Like NONE, COMP, COAL, COAL_COMP, etc. Changed the ingress/egress thread code
   respectively.

 * Web configuration bugs have been removed. So now the settings can be configurable runtime
   using the new setting page. These configurations are stored only if the user checks the 
   confirm save option.
 
 * Fixed some formating issues in the last reference page icons of the web-pages.


-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.14.9, 13th Mar' 08 (Kiran. K)
 * Fixed the formatting of the Settings page.

 * For the code release the coalescing feature is temporarly disabled. 


-----------------------------------------------------------------------------------------


trafficsqueezer_prealpha_0.15.0, 17th Mar' 08 (Kiran. K)
 * Extended the stats page to show stats about each optimization feature in 
   Traffic Squeezer

-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.15.1, 19th Mar' 08 (Kiran. K)
 * Refined the stats code.

 * Changing modules ingress_thread and egress thread to handle coalescing with and without
   compression enabled.

20th, 21st Mar' 08 (Kiran. K)
 * few bugs containing bucket code has been finally fixed to accomodate the egress_thread flow.
 * the fully functional egress thread is finally done with coalescing, compression or 
   none enabled.

 * Finally the Traffic Squeezer works bit with all combinations of compression/coalescing
   in both machines. But the current release cant work if the both features are enabled
   together.
   (i.e.)
	Machine A     Machine B
	NONE	      NONE
	Compression   NONE
	Compression   Compression
	Coalescing    NONE
	Coalescing    Compression
	Coalescing    Coalescing
	...           ...
   (but not Coalescing, Compression both enabled in one machine)

-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.15.2, 23rd Mar' 08 (Kiran. K)
 * Added new stats pages for coalescing, qos and modified the basic stats datastructure
   to accomodate the added coalescing feature.

 * Added the not display coalescing/compression/qos stats if disabled.

 * Added the hook in the ingress thread if both compression and coalescing is enabled.

26th Mar' 08 (Kiran. K)

 * Added the code to support both Coalescing and Compression enabled together in the 
   in the ingress_thread.

-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.15.3, 26th Mar' 08 (Kiran. K)

 * Added the code to support both Coalescing and Compression enabled together in the
   in the egress_thread.

 * Fixed the updation of coalesedPkts count bug in egress_thread.

-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.15.4, 30th Mar' 08 (Kiran. K)

 * Changing the log formats:
   -> including the frame rx/tx count too for packet coalescing feature
   -> changed the log parsers accordingly.


 * Updated the Coalesced stats page. 

 * Fixed the bugs in operation coalescing+compression both ingress and egress threads
 * Fixed the bugs in coalescing alone both ingress and egress threads
 * Fixed the bug issue in increamenting pointer's position in bucket code


-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.15.5, 31st Mar' 08 (Kiran. K)

 * Added the stub qos.c/qos.h files


01st Apr' 08 (Kiran. K)
 * Fixed the Coal-Stats graphs with the Rx vs Tx Packets.

02st Apr' 08 (Kiran. K)
 * Just commented enable qos and added the warning message in the enable Coalescing feature since 
   this is going to get released.


-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.15.6, 03rd Apr' 08 (Kiran. K)

 * Updated the stub qos module code. Added the stub qos APIs.

11th Apr' 08 (Kiran. K)
 * Tested the Coal-Stats graphs.
 * Tested the Traffic Squeezer with both Comp+Coal enabled with a realtime Microsoft
   Netmeeting (audio only) conference and posted the results in the website.


-----------------------------------------------------------------------------------------

trafficsqueezer_prealpha_0.15.7, 19th Apr' 08 (Kiran. K)

 * Included/Copied the wz_jsgraphics (JavaScript Graphics Library)

 * Added a new coalescing feature configuration web-page
   -> Added support to change the global bucket_size dynamically through web-interface

 * Changed the Traffic Squeezer New LOGO in the code.

**** Need to populate all the configuration(s)(like coalescing/compression) 
	in the configuration file ****
-----------------------------------------------------------------------------------------




