Table 1. Configuring and Starting up Network

USER SPACE COMMANDS                      | KERNEL SPACE (DRIVER) ACTIONS
------------------------------------------------------------------------------------------
Create a configuration file containing:  | None
1. Hardware Type: PCI or ISA             |
2. Hardware Option                       |
3. WAN Protocol                          |
4. Protocol Options                      |
5. Firmware Location                     |
6. Network Interface Name                |
7. IP addresses                          |
------------------------------------------------------------------------------------------
Load WANPIPE Driver Modules              | 1. Setup the /proc file system
modprobe wanpipe.o                       |    directories
                                         | 2. Allocate the adapter pointer array:
                                         |    size equal to the maximum number
                                         |    cards supported. This array will be
                                         |    used to store configured adapter structures.
                                         | 3. Enable the ioctl system calls
-------------------------------------------------------------------------------------------
Parse the configuration file and         | 1. Configure adapter
send the configuration data via          | 2. Allocate resources
ioctl call to the driver.                | 3. Load the correct protocol firmware
                                         | 4. Start the firmware on adapter
                                         | 5. Test interrupts
-------------------------------------------------------------------------------------------
Parse all protocol and IP data           | 1. Configure the netowork adapter
from the configuration file              | 2. Allocate a network interface
for the protocol on each                 |    (Device structure)
interface defined, and pass              | 3. Initialize and register
it to the driver via IOCTL               |    the device structure
system call.                             | 4. Allocate and configure
                                         |    device private area
-------------------------------------------------------------------------------------------
Using ifconfig(), bring each             | 1. dev->open() function will be
network interface up and set up its      |    invoked in the driver which will
Local and P2P IP addresses. Also,        |    enable communications and
set the interface as default gateway     |    interrupts on the adapter.
if such an option is selected.           |