OKTET Labs


Network Drivers  |  Service provision process  |  Estimate provision
Services

Service Provision Process

Agreement on goals and requirements

At first, we need to know:

  • What kind of hardware does The Customer have (i.e. Ethernet, WiFi, ATM, etc).

  • Which hardware features are to be supported by the driver (VLAN, checksumming, etc).

  • Which Operation Systems (OSes) should be supported by the driver.

  • Are we going to write a new driver or modify an existing one. If we are asked to modify existing driver, we should understand what kind of modifications are to be done.

  • What kind of support (if any) does The Customer need after the driver is written.

  • Should we communicate with OS manufacturer to approve this driver?

  • Who is the copyright owner of the driver code developed by OKTET Labs. If copyright owner is The Customer, we’d like to know the license to be applied to this work.

With all this information available, we provide Project Definition with our understanding of all the items above. Project Definition includes estimations of efforts for each phase and milestone dates of each phase. After all the requirements from The Customer are available, it should take 2-3 days to create a Project Definition.

Design Document Development

Based on the PD and the data sheet, Design Document is developed. Design Document (DD) includes:

  • internal data structures used in the driver;

  • function prototypes;

  • data flows for:

    • receive

    • transmit

    • control operations

In some cases (bugfixing of existing driver, simple cases of one-OS network driver) this phase may be omitted.

Driver Implementation

Based on the DD, OKTET Labs implements the driver. At the end of this phase, driver code should be compiled without errors or warnings. The driver should be loadable into OS without any unresolved symbols.

Driver Debugging and Testing in OL

Driver is debugged. If OKTET Labs engineers find a problem in hardware and/or firmware, we contact with The Customer engineers about this issue.

OKTET Labs has test suites for various kinds of network drivers. This test suite is enhanced to test new features of the particular driver, if necessary.

Driver Approval by The Customer

The Customer may review our code and use our test suite or any other tests to verify our work.

If The Customer finds defects in the driver, these defects are fixed by OKTET Labs engineers. The Customer should provide a way to reproduce the problem, if necessary. When necessary, OKTET Labs engineers can visit The Customer’s site to investigate any problems together with The Customer engineers.

Discussions with OS manufacturer

When ordered by customer, OKTET Labs works on inclusion of the driver into the OS (for Open Source OSes, such as Linux), or asks OS manufacturer to sign this driver (for some proprietary OSes), or seeks for any other manufacturer approval depending by the OS.

If necessary, OKTET Labs changes the driver code to comply to the manufacturer requirements. In such cases, The Customer is informed about the new versions of the driver as soon as this version is ready.

Support

There are 3 ways to provide support for the network driver:

  • Free support for obvious bugs.
    We believe that our drivers are free of such bugs. But if is not true, we are ready to fix them free of charge.

  • Pre-ordered support for the driver.
    If you feel you’ll need such support, you can just order it at the first phase, when PD is written. In such a case, OKTET Labs provides a dedicated engineer to support the driver after it was developed. This engineer is ready to solve following problems with the driver after the end of driver development (depending on your needs):

    • Modify the driver to support new OS versions or new hardware versions.

    • Perform complicated bugfixing of hardly-reproducible race conditions, implement driver workarounds for hardware issues, etc.

    • Help your hardware engineers to find issues in firmware and/or hardware.

  • Driver modifications as separate project.
    In this case, all the process described here is applied to this new task of the driver modification.

Risks

From our experience in this area, there are following risks to be taken into account by both OKTET Labs and The Customer:

  • Customs can significantly delay hardware delivery.

  • Hardware and/or firmware issues may delay driver debugging.

  • Discussions with OS manufacturer may be difficult and non-predictable. I.e. the OS manufacturer may ignore any communication attempts, be busy with other issues, etc.


Service details
Processes
Service Provision Process


Search
Search OKTET Labs site:


For users
Users can login
Others may register