The TOFFEE Project
The TOFFEE Project

Documentation :: TOFFEE Documentation :: TOFFEE-1.1.24-3-rpi2

Written by: Kiran Kankipati - Published: 01-Jun-2016


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.

VLOG - My First TOFFEE Code Release - TOFFEE-1.1.24-3-rpi2

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

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

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 

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

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


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.


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.


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


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


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


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.


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.


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:

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


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.

Suggested Topics:

TOFFEE - WAN Optimization
TOFFEE Download :: TOFFEE-1.1.70-1-portable
VPN Network Optimization via TOFFEE WAN Optimization
TOFFEE Benchmarks :: TOFFEE-1.1.28
TOFFEE with Hardware Compression and Decompression Accelerator Cards
DIY TOFFEE WAN Optimization Device with Intel Celeron Mini PC
TOFFEE Documentation :: TOFFEE-1.1.24-3-rpi2
TOFFEE deployment topology guide
TOFFEE hardware selection guide
TOFFEE License

TOFFEE-DataCenter - WAN Optimization
TOFFEE - WAN Optimization
TOFFEE-Mocha - WAN Emulator
TOFFEE-Butterscotch - Save and Optimize your Internet/WAN bandwidth

The TOFFEE Project - v5.28 :: Updated: 06-Sep-2017 :: © 2017 :: Author: Kiran Kankipati