From 717f52e4c1f96f49475722f4dd747ad532d7c034 Mon Sep 17 00:00:00 2001 From: zhengchao Date: Wed, 27 Jul 2022 11:14:49 +0800 Subject: [PATCH] Add readme.md --- docs/imgs/stellar-high-level-design.png | Bin 0 -> 16669 bytes readme.md | 16 ++++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 docs/imgs/stellar-high-level-design.png create mode 100644 readme.md diff --git a/docs/imgs/stellar-high-level-design.png b/docs/imgs/stellar-high-level-design.png new file mode 100644 index 0000000000000000000000000000000000000000..b9815d9c7454faca326672162b8068e3a0a6576d GIT binary patch literal 16669 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∓pkb;_>p4VgI|FEPD`psWNIb-?WT=mI54ueUUJ(@On=f zMpxK1^fo}>UDThZc&hat8<7q;Z-+EVE;ioTD!6!@u3b6v%SpP}_pPpzS)R`JTg%MA z?n|<{n`!t*{YvmzJ}@SFCTbbiol3Lv{=SF_(3eUmKS?kE&;Q9_CriFcvqkEqq4awD zckCpyN2{t8sJNZ4#PSdI6EZWY%yuRVXXiJl)|c4Lml+nXUyEfiAY-_Hl=MDE8~5I& zJQu%#)~f>JZJqX))D@u%xohjLc8|0-6$P`@Zl-L`oioYsac}U|PE8$_odanRG2-7E z(Hk<^Ew`Z$4<&GMffzSF@O;Po-lKxJbD3z$C9TrX{ov7#iE2gnm)jK^vL>!*TW3Ly zt&8>{FfS|8!9J~$gyEAGi=Jt+Th?X!ePr%Q8v2m=jELq7An z@yB7zML0Z3RZh~^iV_ja6p5C6&-_jt<&R%Sxqj4N-jE6`75$f}_)`1vcHWNy^Tg)~ zn{S)}BLXr2K)5JkLoXlY-CqtZuKNaqlvrFRNm)IUjetykodDS|Hn$*f70$h5~F(dcpL_?O2E%S z;x3%jeLI*3$Q*n9hYS4MKvuDy3Ua)me-%Oiy9ks_c&0{kHA<1t5zDl8fYOu)L|5}i z&^Vb-@rR%a`XqPU{=0e^NCQ=#1SRVMI}Y>k*aW*1fALN%#5R1Urltn`4nPnn&H^6C zfSOAcK(+wscYyI@fNbUE#}$e@bJ_3=QN!|z<_eYa+?$4#-{(KzC9fguWz~H8DvaCR z-Thq?7BV?({|*36v;5OHMMU@ByO|3Df=jnS^E0U3CW&4Xh43m+NJXqtf1&`UNq?~& z_5Ryu_}&61oHv}ZBXO>Klju*Y<8T4|kzW!ZJSRrx+FKWb%@;CO_U2hDf>3x^_(O`|f=3qMx%$ZIu&sux^ z2Aq|X!8(@kK=p%g2KlN}(2dzNo> literal 0 HcmV?d00001 diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..49278c0 --- /dev/null +++ b/readme.md @@ -0,0 +1,16 @@ +# 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](./docs/imgs/stellar-high-level-design.png) \ No newline at end of file