Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

System Architecture Diagram

OVSDriver Module

The OVSDriver module is the main component of the project and has several submodules:

  • bh.c: "Bottom-halves" - queue of requests from upcall threads to the main thread.
  • fwd.c: Implements the Indigo forwarding interface.
  • kflow.c: Manages kernel flows (installation, invalidation, expiration).
  • ovs_driver.c: Initialization/cleanup.
  • translate_actions.c: Translation from OpenFlow matches and actions to openvswitch actions.
  • upcall.c: Handles upcalls from the openvswitch module.
  • vport.c: Implements the Indigo port manager interface.

The ovs_driver_int.h file defines the internal interfaces between these submodules.

Upcall Processing

"Upcalls" are messages from the openvswitch kernel module to userspace sent when the kernel does not have an exact-match flow for a packet. The main function of IVS is to handle these upcalls efficiently.

...