Overview

We implement ICIM by modifying the FreeBSD version 4.10 kernel system. If you want to use ICIM, download the following archive file and rebuild your kernel system.

icim_freebsd_4_10 archive file contains:

Download

Please visit here.

Installing ICIM

In this section, we show an example for installing ICIM in your kernel system. When installing ICIM, some source files are overwritten. So when you modify the files, be careful.

  1. # cd <$work> (ex. <$work> = ~/work/)
  2. # mkdir sys
  3. # cp -fr /usr/src/sys/* sys
  4. # tar xzvf icim_freebsd_4_10_1.0.0.tar.gz
  5. # cp -fr icim_freebsd_4_10/* sys
  6. # cd sys/i386/conf
  7. # config ICIM
  8. # cd ../../compile/ICIM
  9. # make clean
  10. # make depend
  11. # make
  12. # make install
  13. # reboot

Parameter settings

In this section, we describe parameters of ICIM. All parameters are set by sysctl, and the list of parameters is as follow.

net.inet.tcp.icim_mode
Measurement mode switch flag (Default:0)
net.inet.tcp.icim_cwnd
Congestion window size ICIM can start measuring the available bandwidth (Default:50)
net.inet.tcp.icim_nburst
Number of bursts in a measurement (Default:4)
net.inet.tcp.icim_tburst
Upper limit of intervals between packets (Default:100)
net.inet.tcp.icim_dbg_level
Debug level (Default:0)

If you use ICIM, set to the icim_mode parameter before begining data transmission.
# sysctl net.net.tcp.icim_mode=1