Changes between Version 12 and Version 13 of GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/KernelModv2


Ignore:
Timestamp:
12/10/13 16:05:22 (6 years ago)
Author:
sedwards@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/KernelModv2

    v12 v13  
    2929sudo make include/generated/utsrelease.h
    3030}}}
    31   More details to handle version issues are provided at [http://tldp.org/LDP/lkmpg/2.6/html/x380.html Building modules for a precompiled kernel]. [[BR]]
    32  A Makefile for compiling the module and the source for a stub TCP congestion control module are included in [http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/Makefile Makefile]. [[BR]]
    33  The module is named tcp exp (for experimental TCP), and the congestion control algorithm is named exp. Comments in the provided source file explain the relationship between the various functions, and more information can be found in [http://lwn.net/Articles/128681/ Pluggable congestion avoidance modules]. [[BR]]
    34  The compiled module (which is built with make and called `tcp_exp.ko`) can be inserted into the kernel using `insmod`. It can be removed using the command `rmmod tcp_exp` and reloaded with `insmod` if changes are required. [[BR]]
    35  Once the module is complete and loaded into the kernel, the algorithm implemented by the module can be selected in the same manner that reno and cubic were selected in previous exercises, by placing the keyword exp in `/proc/sys/net/ipv4/tcp_congestion_control`.
     31
     32..
     33More details to handle version issues are provided at [http://tldp.org/LDP/lkmpg/2.6/html/x380.html Building modules for a precompiled kernel]. [[BR]]
     34
     35A Makefile for compiling the module and the source for a stub TCP congestion control module are included in [http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/Makefile Makefile]. [[BR]]
     36The module is named tcp exp (for experimental TCP), and the congestion control algorithm is named exp. Comments in the provided source file explain the relationship between the various functions, and more information can be found in [http://lwn.net/Articles/128681/ Pluggable congestion avoidance modules]. [[BR]]
     37The compiled module (which is built with make and called `tcp_exp.ko`) can be inserted into the kernel using `insmod`. It can be removed using the command `rmmod tcp_exp` and reloaded with `insmod` if changes are required. [[BR]]
     38Once the module is complete and loaded into the kernel, the algorithm implemented by the module can be selected in the same manner that reno and cubic were selected in previous exercises, by placing the keyword exp in `/proc/sys/net/ipv4/tcp_congestion_control`.
    3639 
    37  '''3.5.1 Algorithm Requirements''' [[BR]]
    38  The experimental congestion control module is based on Reno, but has the following modifications: [[BR]]
     40'''3.5.1 Algorithm Requirements''' [[BR]]
     41The experimental congestion control module is based on Reno, but has the following modifications: [[BR]]
    3942  • It uses a Slow Start exponential factor of 3. Reno uses 2. [[BR]]
    4043  • It cuts ssthresh to 3 × !FlightSize/4 when entering loss recovery. Reno cuts to !FlightSize/2.
    4144
    42  '''3.5.2 Hints [[BR]]'''
    43  These hints and suggestions may help you get started. [[BR]]
     45'''3.5.2 Hints [[BR]]'''
     46These hints and suggestions may help you get started. [[BR]]
    4447 * Use `wget` to download `Makefile` and `tcp_exp.c` onto your node.
    4548 * The existing congestion avoidance modules are a good start. See `net/ipv4/tcpcong.c` in the Linux source for the Linux Reno implementation.[[BR]]
     
    5053 * [http://tldp.org/LDP/lkmpg/2.6/html. The Linux Kernel Module Programming Guide] provides a good introduction to kernel module programming in general.[[BR]]
    5154
    52  '''3.5.3 Evaluation [[BR]]'''
     55'''3.5.3 Evaluation [[BR]]'''
    5356 Once you have implemented the algorithm described above, answer the following questions:
    5457  - 1. Question: Discuss the impact of these algorithmic changes in the context of traditional Reno congestion control.