The TOFFEE Project

DOCUMENTATION 》 TOFFEE-Mocha Documentation :: TOFFEE-Mocha-1.0.32-1-x86_64 and TOFFEE-Mocha-1.0.32-1-i386

Download TOFFEE-Mocha-1.0.32-1-x86_64 over HERE via Google Drive share.

Download TOFFEE-Mocha-1.0.32-1-i386 (Intel x86 32-bit) over HERE via Google Drive share.

Software Development Update(s) corresponds to this TOFFEE-Mocha release version:
NEWS :: TOFFEE-Mocha WAN Emulation software development - Update: 20-Oct-2016

Release Notes:
NEWS :: TOFFEE-Mocha-1.0.32-1-x86_64 and TOFFEE-Mocha-1.0.32-1-i386 Code Release

WAN Emulator within VirtualBox VM:
Video DOC :: Setting up a WAN Emulator (TOFFEE-Mocha) within VirtualBox

User Guide (Documentation)
The TOFFEE-Mocha release is highly optimized and customized for generic x86-64/i386 hardware platforms. Once you extract the downloaded tar-ball you can find the pre-compiled binary files as well the source-code as shown below.

kiran@WD-1TB2:/code/release/TOFFEE-Mocha-1.0.32-1-x86_64$ ls -l
total 56744
drwxr-xr-x  5 kiran kiran     4096 Oct 23 17:36 daemon
drwxr-xr-x  4 kiran kiran     4096 Oct 30 20:24 gui
-rw-r--r--  1 kiran kiran     2947 Jun 17 11:58 LICENSE.txt
drwxr-xr-x 29 kiran kiran     4096 Oct 30 21:45 linux-4.8.0-25-ubuntu
-rw-r--r--  1 kiran kiran  8584614 Oct 30 20:55 linux-headers-4.8.0-toffee-mocha-1.0.32_30-oct-2016_amd64.deb
-rw-r--r--  1 kiran kiran 49498850 Oct 30 20:53 linux-image-4.8.0-toffee-mocha-1.0.32_30-oct-2016_amd64.deb
-rw-r--r--  1 kiran kiran     1660 Jun 17 12:01 README.txt

and in i386 version:

kiran@ubuntu-1610-i386:/code/release/TOFFEE-Mocha-1.0.32-1-i386$ ls -l
total 54968
drwxr-xr-x  5 kiran kiran     4096 Oct 30 21:43 daemon
drwxr-xr-x  4 kiran kiran     4096 Oct 30 21:43 gui
-rw-r--r--  1 kiran kiran     2947 Jun 17 11:58 LICENSE.txt
drwxr-xr-x 29 kiran kiran     4096 Oct 30 23:48 linux-4.8.0-25-ubuntu
-rw-r--r--  1 kiran kiran  8557228 Oct 30 23:18 linux-headers-4.8.0-toffee-mocha-1.0.32_30-oct-2016_i386.deb
-rw-r--r--  1 kiran kiran 47704820 Oct 30 23:14 linux-image-4.8.0-toffee-mocha-1.0.32_30-oct-2016_i386.deb
-rw-r--r--  1 kiran kiran     1660 Jun 17 12:01 README.txt

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

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

Step 1: Install the Ubuntu 16.10 Desktop x86-64 (64-bit) on a fresh system and for 32-bit x86 install Ubuntu 16.10 Desktop i386.

NOTE: From this point onwards I am going to walk you through the steps which you can follow on a x86_64 install. You can follow the same equivalent steps for an i386 install too.

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

kiran@ubuntu-16:~/TOFFEE-Mocha-1.0.32-1-x86_64/gui$ ls
db_scripts.sql  etc  html  make_clean  make_clean.php  make_install  make_install_deps  make_install.php  toffeemochad
kiran@ubuntu-16:~/TOFFEE-Mocha-1.0.32-1-x86_64/gui$ 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 defaut password [CDN]

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

kiran@ubuntu-16:~/TOFFEE-Mocha-1.0.32-1-x86_64/gui$ sudo ./make_install
Failed to stop toffeemochad.service: Unit toffeemochad.service not loaded.
Failed to stop toffeemochad.service: Unit toffeemochad.service not loaded.
Installing TOFFEE-Mocha GUI in (/var/www/html/toffee_mocha) Apache default webroot folder ...
cp: target '/var/www/html/toffee_mocha/.' is not a directory
Done !
Setting Appropriate Permissions in (/var/www/html/toffee_mocha) Apache default webroot folder ...
chmod: cannot access '/var/www/html/toffee_mocha/*': No such file or directory
Done !

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

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

kiran@ubuntu-16:~/TOFFEE-Mocha-1.0.32-1-x86_64$ sudo dpkg -i 

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

NOTE: Ignore any warnings.

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

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

URL: http://localhost/toffee_mocha
1 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator Login [CDN]

Once you login you will get this first HOME page. Since it is not yet configured and not yet active, there are no graphs populated in the home page.
2 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator Home [CDN]

Network Ports You can check (or view) your hardware network ports here: Settings -> Ports
3 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator device ports

You can now configure TOFFEE-Mocha 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.
4 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator wizard start [CDN]

Select your LAN Port.

IMPORTANT NOTE: Since TOFFEE-Mocha device is a WAN emulator device you can configure any port as LAN port and WAN port in general. Swapping LAN and WAN ports in your deployment will not cause any issues in most cases. However (unlike older versions of TOFFEE-Mocha) if you choose to use upload/download constant delay feature, then set your WAN/Internet port and LAN port accordingly.

5 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator set LAN port

Select your WAN Port. As suggested in the note above, you can configure any port as WAN port.
6 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator set WAN port 6 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator set WAN port [CDN]

Now your TOFFEE-Mocha basic setup is over. Now you should get the confirmation page as shown below.
7 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator wizard finish [CDN]

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-Mocha Wizard.

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

8 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator toffee-mocha bridge port [CDN]

Packet Delay Feature: As the name says you can add constant or dynamic packet delay on each packet passing through TOFFEE-Mocha. This will simulate slow speed WAN links. This will limit the rate of packets there by indirectly controlling the rate of bits-per-second data transmission. As one can understand this gives more finer and precise control over packets than the standard Linux QoS tc scripts. You can add inter-packet milliseconds and microseconds constant delay. As well you can add per-packet dynamic delay based on the size of the packet (i.e delay proportional to number of bytes per packets). Dynamic delay rate can be controlled by the dynamic delay factor variable. Dynamic delay is a unique feature through which you can simulate a kind of burst type traffic and so latency associated with the same. In any case you can use combination of both dynamic and constant delay parameters. The overall delay of the packet will be the total delay set by all these settings. You can also skip delay of few packets randomly via Random Delay feature.

NOTE: For more details kindly refer Help embedded within these individual settings pages.

NOTE: For more details of the new TOFFEE-Mocha-1.0.32 asymmetric constant packet delay feature kindly refer: TEST CASES :: TEST RESULTS :: TOFFEE-Mocha-1.0.32 asymmetric constant packet delay feature

9 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator packet delay settings

Packet Drop Feature: As the name says you can randomly drop few packets passing through TOFFEE-Mocha. This will simulate real worst-case WAN network scenarios such as mobile internet (3G/4G networks), Satellite Networks, in-flight WiFi, marine internet, etc. You can control the packet drop rate with the random packet drop factor variable as shown below. The value 1 denotes 1 in every 10 random number range. And 2 denotes 1 in every 20 and so on. So higher the drop factor lesser is the probability of packets getting randomly dropped.

NOTE: Packets dropped this way will reflect in the TOFFEE-Mocha stats. You can see the bytes and packets received vs transmitted in the stats. As well the overall stats reports in the first TOFFEE-Mocha home page.

10 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator packet drop settings

TOFFEE-Mocha Big Picture: You can view and confirm your settings via "+ Big Picture" any time. Big Picture is a neat graphical illustration of your overall TOFFEE-Mocha settings. You can view any time as a reference and even print and file it as a record if you are a Network Admin. You can assume big picture is a kind of graphical variant of a typical CISCO Device show running-config (show run) command output.
11 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator big picture [CDN]

Once your complete TOFFEE-Mocha setup is done and assume you have deployed the same within your other lab testing equipment. You can now test with live traffic and monitor the TOFFEE-Mocha run-time live performance stats as show below:

TOFFEE-Mocha Packet Bytes statistics graphs:
12 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator packet bytes stats

TOFFEE-Mocha Packet statistics (count) graphs:
13 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator packet count stats [CDN]

Here is the TOFFEE-Mocha consolidated home page report:
14 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator Home page consolidated reports [CDN]

TOFFEE-Mocha About: Any time you can check the version and other information of this specific TOFFEE-Mocha release from its About page:
15 TOFFEE-Mocha-1.0.32-1-x86_64 WAN Emulator About page [CDN]

TOFFEE-Mocha Sample Deployment and Tests: Here is my HP-Laptop and Dell-Laptop connected via TOFFEE Mocha device. I did few ping tests and wget HTTP file downloads on my HP Laptop by accessing remotely connected Dell-Laptop via TOFFEE-Mocha.
16 TOFFEE-Mocha-1.0.18-1-x86_64 WAN Emulator Ping tests [CDN]
17 TOFFEE-Mocha-1.0.18-1-x86_64 WAN Emulator wget http file download tests [CDN]
18 TOFFEE-Mocha-1.0.18-1-x86_64 WAN Emulator network activity

Suggested Topics:

TOFFEE-Mocha - WAN Emulator


💎 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.

TOFFEE (and TOFFEE-DataCenter) deployment in SD-WAN Applications ↗
Saturday' 13-Mar-2021
Software-Defined Wide Area Networking (SD-WAN) is a new innovative way to provide optimal application performance by redefining branch office networking. Unlike traditional expensive private WAN connection technologies such as MPLS, etc., SD-WAN delivers increased network performance and cost reduction. SD-WAN solution decouple network software services from the underlying hardware via software abstraction.

First TOFFEE-Mocha Code Release ↗
Saturday' 13-Mar-2021
TOFFEE-Mocha is my dream project which I thought working on it since several years. I want to make a WAN emulation software which is straight forward and simple to use. I used tc scripts along with iptables for testing my TOFFEE (and TrafficSqueezer before TOFFEE) and I am not quite satisfied with the same. As one can understand these scripts are not meant for WAN emulation.

Benchmark Raspberry Pi and other embedded SoC with TrueBench ↗
Saturday' 13-Mar-2021
TrueBench is an unique open-source benchmarking system in which the core system performance and efficiency parameters are measured at extreme high resolution in the order of several million/billion ยต-seconds for a given specific task. TrueBench is a part of The TOFFEE Project research. With TrueBench Raspberry Pi 3, Raspberry Pi 2B and Raspberry Pi 2 are benchmarked and you can do a comparative analysis with standard mainstream x86 devices.

Communication data network standards and data transfer speeds :: Chart ↗
Saturday' 13-Mar-2021
Here is a complete chart comprising popular communication data network standards and their respective transfer rates. I hope this reference chart will help network engineers and network software developers while performing networking tests and experiments, building WAN/network products, building WAN simulated networks of a specific standard and so on. This may also helps us to track technological advancements of communication data networks.

TOFFEE (and TOFFEE-DataCenter) optimized Satellite (inflight/marine/defense) ISP Networks ↗
Saturday' 13-Mar-2021
TOFFEE Optimized Satellite ISP Network: TOFFEE/TOFFEE-DataCenter can be used to optimize Satellite Networks (Satellite based Internet Networks, VoIP, Data, private leased-links) as shown. Ground station transponders can be connected via array of TOFFEE Devices and in the remote CPE can have dedicated or inbuilt TOFFEE with which you can establish a WAN Optimized Satellite Network Tunnel as shown.

My sample Wireshark packet capture files for research ↗
Saturday' 13-Mar-2021
I have a huge repository (or collection) of sample Wireshark packet capture files for reference. I use them extensively for research and development of TOFFEE as well to understand various protocol PDUs and protocol standards. I personally collected various test captures via Wireshark during my test and experimental research setup during the course of TOFFEE development. Say if you are a student and learning Networking and or say VoIP data and VoIP packets, you can analyse my VoIP sample Wireshark captures. Or in other case assume you are doing some quick research (or development) and want to refer few handful of VoIP packets then you can download and analyse my sample packet capture files.

TOFFEE-Butterscotch a TOFFEE for Home/SOHO Internet/WAN bandwidth ↗
Saturday' 13-Mar-2021
TOFFEE-Butterscotch a TOFFEE for Home/SOHO Internet/WAN bandwidth

Recording Lab Monthly off-grid power-consumption readings for research ↗
Saturday' 13-Mar-2021

Recording Lab Monthly power-consumption readings for Research ↗
Saturday' 13-Mar-2021
Here is my home lab monthly power-consumption readings for research. This will help to measure and monitor the overall power usage and assess the power requirements. This will help me in future purchases such as UPS, battery upgrades and so on. And as well remove replace old obsolete hardware with new less power-consuming devices.

Featured Educational Video:
Watch on Youtube - [17445//1] 294 - VRF - Virtual Routing and Forwarding - Introduction ↗

TOFFEE Download :: TOFFEE-1.1.70-1-portable ↗
Saturday' 13-Mar-2021

TOFFEE-DataCenter :: Features Supported ↗
Saturday' 13-Mar-2021
Here is a list of TOFFEE-DataCenter features supported. TOFFEE-DataCenter currently supports some of the important features such as loss-less network data compression, Packet Deduplication (protocols/applications supported), Application Acceleration, TCP Acceleration, dynamic MTU optimization, data packaging, hardware offload support, etc.

TOFFEE Documentation :: TOFFEE-1.1.24-3-rpi2 ↗
Saturday' 13-Mar-2021
Here is my VLOG Youtube video of the same which includes details about version release notes, future road-map and so on. 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.

TOFFEE-Mocha WAN Emulation software development - Update: 19-July-2016 ↗
Saturday' 13-Mar-2021
Today I refined the first page consolidated report graphs. TOFFEE-Mocha (unlike TOFFEE) is a WAN Emulator, so the graphs are supposed to highlight this purpose and should display the overall network activity. Unlike TOFFEE, the TOFFEE-Mocha report should contain in general what is received versus what is sent across the wire. In case if the packet drop feature is enabled, you should see few missing bytes and packets. Similarly in future I may support packet duplication feature, in that case you may see more packets/bytes sent versus the packets/bytes actually received.

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

Network Packet Queue or Buffer - Packet Flow Control, Fragmentation and MTU ↗
Saturday' 13-Mar-2021
Network Packet Queue or Buffer - Packet Flow Control, Fragmentation and MTU

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

Hardware Compression and Decompression Accelerator Cards:
TOFFEE Architecture with Compression and Decompression Accelerator Card

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