This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
2022-07-05 19:48:31 +08:00
2022-07-14 15:05:18 +08:00
2022-07-27 14:17:49 +08:00
2022-07-14 15:05:18 +08:00
2022-07-05 19:48:31 +08:00
2022-07-14 15:05:18 +08:00
2022-07-27 14:17:49 +08:00

Stellar: A stateful network functions development platform

A stateful network function could be a firewall, a load balancer, or an IDS.

Architecture

The stellar components are:

  • Packet IO built an abstraction of network IO devices.
  • Session Manager has a hash table for tracking sessions. The caller feeds packets to the session manager and may return triggered session events.
  • Plugin Manager loads C/Lua plugins and manages per-plugin, per-session context. When the caller feeds an event to the plugin manager, it invokes plugin callbacks.
  • Protocol Decoders are libraries that parse and extract information from the packet payload.
  • Active Queue Management is queue management algorithm libraries that schedule packets by buffering, forwarding, marking, or dropping. A plugin creates a queue instance and enqueues packets as its needs.
    • Question: Who consumes the dequeue events?

stellar-high-level-design

Description
No description provided
Readme 1.8 MiB
Languages
C++ 67.3%
C 17.6%
Shell 11%
CMake 4.1%