Towards Software Upgrades of Click-driven Stateful Network Elements

Get Started View Source Code Find Out More

Background of CLICK-UP

The Click-driven platform has been one of the most popular vnf platforms that allow flexible composition of packet-processing functionalities. The key strength of Click is its inherent extensibility for functional components: a new feature can be easily implemented by module integration. While Click’s flexible design has satisfied many demands for rapid prototyping, its internal architecture has not caught up with the potential software upgrade.

Motivation of CLICK-UP

  • Time-consuming integration :

    The packet-processing functionalities are out-of-work during upgrade. This will bring several insufficiencies e.g. unable to quickly recover from downtime.

  • Network state loss :

    With no mechanism to reconstruct lost states for network elements, stateful functionalities are unable to correctly handle packets after upgrade, leading to service disruption.

  • Orchestration complexity :

    Development of new modules requires intimate knowledge of complex library implementation, let alone correctly deal with states. It is frustrating that the visibility of current upgrade is pretty poor and the learning curve is rather steep.


CLICK-UP, which is the effort towards software upgrades of Click-driven stateful network elements.

  • Agile integrating essential modules explicitly in a service context aware manner during upgrade.
  • Stateful recovery bootstrap by the state synchronization before upgrade and the state restruction after.
  • Friendly exoskeleton of Click modul -arization with a lightweight runtime library for upgrade.

CLICK-UP Framework

Module Integration

The module integration scheme of service context aware in CLICK-UP. The functionality-neutral modules won't be shipped with redundantly.

Learn More

State Safe

The state safe scheme of CLICK-UP. A state synchronization scheme which enforcedly integrated into modules.

Learn More

Runtime Library

The lightweight runtime library of CLICK-UP. In order to clarify service semantics, simplifying tedious orchestration and unifying api.

Learn More


The frontend dashboard of CLICK-UP. Operators can interact with the GUI and conduct upgrade intends.

Learn More