The TOFFEE Project
HOMEDOCUMENTATIONUPDATESVIDEOSRESEARCHDOWNLOADSPONSORSCONTACT


DOCUMENTATION 》 TOFFEE Documentation :: TOFFEE-1.1.24-3-rpi2

Download TOFFEE-1.1.24-3-rpi2 over HERE via Google Drive share.

Here is my VLOG Youtube video of the same which includes details about version release notes, future road-map and so on.

User Guide (Documentation)
The TOFFEE release is highly optimized and customized for hardware platforms such as x86-64 based Intel NUC and other Intel mobile computing platforms such as laptops and so on. This version (or release) is not suited and so not recommended to be used for high-end desktop and server hardware platform.

kiran@desktop-i7-5820k:/code/rpi/TOFFEE-1.1.24-3-rpi2$ ls -l
total 53356
drwxrwxr-x  2 kiran kiran     4096 Jun  8  2015 cli
drwxr-xr-x  5 kiran kiran     4096 Mar 24 11:47 daemon
drwxr-xr-x  4 kiran kiran     4096 Jun  1 23:42 gui
-rw-r--r--  1 kiran kiran     3117 Jan 24 15:58 LICENSE.txt
drwxrwxr-x 25 kiran kiran     4096 Jun  1 23:41 linux-4.5
-rw-r--r--  1 kiran kiran  8140814 Jun  1 20:11 linux-headers-4.5.0-toffee-1.1.24-3-rpi2_31-may-2016_amd64.deb
-rw-r--r--  1 kiran kiran 46461316 Jun  1 20:10 linux-image-4.5.0-toffee-1.1.24-3-rpi2_31-may-2016_amd64.deb
-rw-r--r--  1 kiran kiran     1788 Jun  1 23:44 README.txt
kiran@desktop-i7-5820k:/code/rpi/TOFFEE-1.1.24-3-rpi2$

Once you extract the downloaded tar-ball you can find the pre-compiled binary files as well the source-code as shown above.

NOTE: For more details regarding TOFFEE hardware setup and deployment kindly refer: TOFFEE deployment topology guide

NOTE: For more details regarding TOFFEE test lab setup with TOFFEE-Mocha WAN emulator kindly refer: TOFFEE-Mocha WAN emulator Lab deployment and topology guide

NOTE: For more details regarding TOFFEE Benchmarks kindly refer Documentation Section: TOFFEE Benchmarks


Installation
TOFFEE contains two parts namely web-based GUI and the custom Linux Kernel which contains TOFFEE within it. So here are the step by step instructions you can follow to install the same.

Step 1: Install the Ubuntu 16.04 LTS Desktop (64-bit) on a fresh system.

Step 2: Before installing TOFFEE GUI you have to install all the prerequisite dependencies. As a part of dependencies TOFFEE needs MySQL (now MariaDB, PHP, and other applications). So make sure it is connected to internet. The script below will install everything and configures MySQL TOFFEE GUI database and tables for you. So enter into the .../gui folder, then execute the script as shown below:

[kiran@desktop-i7-5820k ]$ sudo ./make_install_deps

After sometime it will install MySQL server and prompts the default password for the user root. Kindly enter the password "welcome" when it prompts for MySQL root password as shown below:

mysql server default password


Step 3: Now you need to install the GUI web-pages in Apache web-root (such as in /var/www/html) and install the TOFFEE Daemon. The script below does all these jobs:

[kiran@desktop-i7-5820k ]$ sudo ./make_install

NOTE: Ignore any warnings and in few cases even any errors displayed.


Step 4: TOFFEE Linux-Kernel Installation:
kindly install the following ".deb" binary files as shown below:

[kiran@desktop-i7-5820k ]$ sudo dpkg -i linux-image-4.5.0-toffee-1.1.24-3-rpi2_31-may-2016_amd64.deb 
linux-headers-4.5.0-toffee-1.1.24-3-rpi2_31-may-2016_amd64.deb

Once it is done, you can reboot the system, boot in the new TOFFEE Kernel and can configure and use the same.

NOTE: Ignore any warnings.

submit your own truebench linux cpu benchmarks

Configuration
Once you are done with Installation, you can restart the system and configure the same as shown below.

Now you can access the TOFFEE GUI via your browser as shown below. The default username is: root and the password is: welcome

TOFFEE Login


Once you login you get this first HOME page. In this case (screenshot below) already TOFFEE is configured and hence we can see the data optimization summary or in other words TOFFEE Consolidated Report.

TOFFEE_Home


You can now configure TOFFEE directly via Wizard by clicking "+ Wizard" on the side menu bar. Once you get the Wizard page, you can now select "Start" button. This button will reset everything and prepares for a fresh configuration.

TOFFEE_Wizard1


Select your LAN Port. LAN port is the port to which your local office/home network devices are connected.

TOFFEE_Wizard2


Select your WAN Port. WAN port is the port to which your external network such as Internet or WAN Network is terminated.

TOFFEE_Wizard3


Now your TOFFEE basic setup is over. Now you should get the confirmation page as shown below.

TOFFEE_Wizard4


You can now view and confirm your settings via "+ Big Picture". Big Picture is a neat graphical illustration of your overall TOFFEE settings. You can view any time as a reference and even print and file it as a record if you are a Network Admin.

TOFFEE_BigPicture


Optionally you can now check various tabs under the Settings tab. For example the "+ Ports" tab shows the status of various network ports and its corresponding Direction (such as LAN and WAN) and other generic port related information. Sometimes you can directly set port direction via this page, but it is highly recommended to use the TOFFEE Wizard.

NOTE: TOFFEE works within Linux based Layer-2 bridging module. And hence once TOFFEE is configured via Wizard you should able to see the bridging port name as "toffee" as shown below. This bridging interface is created by the user-space TOFFEE daemon automatically so that the Kernel-space TOFFEE hooks, intercepts and optimizes the packets passing through standard Linux kernel bridge.

TOFFEE_Ports


You can now configure similarly the remote end TOFFEE Device too. For more details kindly refer TOFFEE deployment topology guide.

Once your complete setup is done, you can now monitor the TOFFEE run-time live performance stats as show below:
TOFFEE_Stats


At any point of time to refer the version and release details (such as release notes) kindly refer the "+ About" page.

TOFFEE About

TOFFEE Filters:
TOFFEE Filters is a feature quite similar to a Network packet firewall. But there are multiple benefits it provides other than just acting like a firewall filtering protocols. With this feature if enabled (or set) for specified protocols, then TOFFEE completely drop these packets. And beyond that it also saves unwanted packet optimization of these packets within TOFFEE as well packets passing on to WAN Router(s) once it leaves the TOFFEE device.
Lets say for example if you have a Windows file share systems (can be desktops and NAS servers and so on). And assume you do not want to share this across WAN. In that case you can enable this filter. This will prevent TOFFEE to intercept (or catch) the SMB broadcasts and even preventing these packets reaching onto your WAN routers. As one can understand by enabling this feature your local Windows File share will still continue to work, but it will filter (or drop) all SMB broadcasts within the TOFFEE device.

The Linux Channel

In another case lets say if you want to block completely Torrent file share traffic. With this option TOFFEE should drop most of the common Torrent traffic packets. And so blocking the access. Peer-to-Peer Torrent technology uses multiple range of ports. TOFFEE filter can block majority of these well known (or defined) commonly used Torrent protocol port packets.

So TOFFEE filters works as a Firewall sometimes. But most importantly than just acting as a firewall it is an optimization tool to reduce the load on your TOFFEE device as well your WAN Routers.

TOFFEE Filters


TOFFEE Compatible Hardware:
For more details on Hardware compatibility and configuration information kindly refer the TOFFEE hardware selection guide.


Coming up, the new upcoming TOFFEE-DataCenter:



Suggested Topics:


TOFFEE - WAN Optimization


Categories

💎 TOFFEE-MOCHA new bootable ISO: Download
💎 TOFFEE Data-Center Big picture and Overview: Download PDF


Recommended Topics:

TOFFEE (and TOFFEE-DataCenter) deployment with web-proxy cache ↗
Saturday' 13-Mar-2021
If you want to deploy TOFFEE along with a web-proxy cache (such as Squid Proxy) you can deploy the same as shown below. TOFFEE does not cache files. TOFFEE does packet level network optimization. So if you want caching your web content you can use transparent mode web-proxy cache intercepting your WAN links. A web-proxy may reduce amount of data being processed (optimized) within these TOFFEE devices and so reduce the CPU overheads and improve its performance.

Moon Base and Space Colonization - First we need fast InterPlanetary Internet ↗
Saturday' 13-Mar-2021

Building my own CDN - Minify Script files - Update: 23-July-2016 ↗
Saturday' 13-Mar-2021
One of the suggestions Google PageSpeed Insights tool suggested for The TOFFEE Project website is to minify the css and java script files. Minify Script files: When you read online about minification of your web script files, often they highlight file size savings and thus resulting faster download time and better website performance.

WAN Optimization Network Stack Architecture - Linux Kernel vs Intel DPDK vs Custom Packet Forward ↗
Saturday' 13-Mar-2021

TOFFEE (and TOFFEE-DataCenter) deployment with VPN devices ↗
Saturday' 13-Mar-2021
In case if you need to deploy TOFFEE along with your existing VPN devices you can deploy the same as shown below. This will allow your VPN devices to encrypt your TOFFEE WAN Optimized network data. NOTE: Make sure about the VPN deployment topology done in the right order. Else TOFFEE (LAN side) may get VPN encrypted packets which may not be possible (and or difficult) to further optimize. Hence always make sure to deploy them in a topology suggested below so that TOFFEE devices are out of VPN tunnel.

TOFFEE-Mocha WAN Emulator Jitter Feature ↗
Saturday' 13-Mar-2021

Watch on Youtube - [889//1] 280 WAN Optimization - Animated demo of Packet Optimization in TOFFEE-DataCenter ↗


TOFFEE-DataCenter - First Live Demo and software development - Update: 26-Aug-2016 ↗
Saturday' 13-Mar-2021
Today I have done a test setup so that I can able to connect my Android Samsung Tab via TOFFEE DataCenter. Below is my complete test topology of my setup. For demo (and research/development) context I configured TOFFEE DataCenter in engineering debug mode. So I do not need two devices for this purpose.

TEST CASES :: TEST RESULTS :: Raspberry Pi WAN Emulator TOFFEE-Mocha-1.0.14-1-rpi2 ↗
Saturday' 13-Mar-2021

TOFFEE-Mocha WAN Emulation software development - Update: 1-July-2016 ↗
Saturday' 13-Mar-2021
Today I got a feature request from Jonathan Withers. Jonathan is from a company called MultiWave Australia. He said he is able to get the TOFFEE-Mocha Raspberry Pi setup up and with that he is able to emulate geostationary satellite link. But he requested me is there a way to extend the constant packet delay from 40mS to 500mS. So as a part of his request I supported the same in the current ongoing development version of TOFFEE-Mocha.

Introducing TOFFEE-DataCenter ↗
Saturday' 13-Mar-2021
TOFFEE TOFFEE Data-Center is specifically meant for Data Center, Cluster Computing, HPC applications. TOFFEE is built in Linux Kernel core. This makes it inflexible to adapt according to the hardware configuration. It does sequential packet processing and does not scale up well in large multi-core CPU based systems (such as Intel Xeon servers, Core i7 Extreme Desktop systems,etc). Apart from this since it is kernel based, if there is an issue in kernel, it may crash entire system. This becomes a challenge for any carrier grade equipment (CGE) hardware build.



Featured Educational Video:
Watch on Youtube - [1836//1] x257 tp-link UE300 Linux Kernel Realtek Driver Codewalk rtl8153a-3 r8152 USB 3.0 to Gigabit - Part1 ↗

TOFFEE-Butterscotch Bandwidth saver software development - Update: 28-Oct-2016 ↗
Saturday' 13-Mar-2021
Here is my first software development update of TOFFEE-Butterscotch. In my first TOFFEE-Butterscotch news update I have introduced about TOFFEE-Butterscotch research, project specifications, use-cases, etc. Introducing TOFFEE-Butterscotch Alerts: These are simple packet counters which corresponds to the filter type. For example if the incoming TCP-SYN packets are blocked then its corresponding alert counter will increment whenever such a packet arrives and gets filtered (dropped).

TOFFEE (and TOFFEE-DataCenter) deployment with VPN devices ↗
Saturday' 13-Mar-2021
In case if you need to deploy TOFFEE along with your existing VPN devices you can deploy the same as shown below. This will allow your VPN devices to encrypt your TOFFEE WAN Optimized network data. NOTE: Make sure about the VPN deployment topology done in the right order. Else TOFFEE (LAN side) may get VPN encrypted packets which may not be possible (and or difficult) to further optimize. Hence always make sure to deploy them in a topology suggested below so that TOFFEE devices are out of VPN tunnel.

TOFFEE-DataCenter a TOFFEE variant for Data Center applications ↗
Saturday' 13-Mar-2021

Network Latency and Bandwidth Assessment - for Network Admins and Infrastructure Architects ↗
Saturday' 13-Mar-2021




First TOFFEE-Butterscotch Code Release ↗
Saturday' 13-Mar-2021
TOFFEE-Butterscotch is a variant of TOFFEE can be used to save and optimize your Home/SOHO Internet/WAN bandwidth. Unlike TOFFEE (and TOFFEE-DataCenter) TOFFEE-Butterscotch is a non peer-to-peer (and asymmetric) network optimization solution. This makes TOFFEE-Butterscotch an ideal tool for all Home and SOHO users.



Research :: Optimization of network data (WAN Optimization) at various levels:
Network File level network data WAN Optimization


Learn Linux Systems Software and Kernel Programming:
Linux, Kernel, Networking and Systems-Software online classes [CDN]


Hardware Compression and Decompression Accelerator Cards:
TOFFEE Architecture with Compression and Decompression Accelerator Card [CDN]


TOFFEE-DataCenter on a Dell Server - Intel Xeon E5645 CPU:
TOFFEE-DataCenter screenshots on a Dual CPU - Intel(R) Xeon(R) CPU E5645 @ 2.40GHz - Dell Server