- ✅ work item complete
- 🦀 work item in progress
- 💤 work item not started yet
- ↑ updated version
RELEASED
rotonda 0.1 rotonda-fsm 0.1 roto 0.2 routecore 0.4 rotonda-store 0.3 rotoro -
- ✅ BMP listener
- ✅ BMP proxy
- ✅ single-threaded RIB implementation
- ✅ lock-free, multi-threaded RIB implementation
- ✅ client-specific runtime application with BMP ingress and RIBs
- ✅
roto
filtering language - ✅ BGP passive speaker
- ✅ limited systemd functionality
- 🦀
BGP limited active speakerPOSTPONED - ✅ Documentation
- ✅ Packaging
NEXT RELEASE
↑ rotonda 0.1.x rotonda-fsm 0.1 ↑ roto 0.2.x routecore 0.4 rotonda-store 0.3 rotoro -
- 🦀 implement FilterMap (user-defined rx/tx and RIB storage type)
- 🦀 implement passive external data source: RIBs
NEXT RELEASES
- 💤 support more AFI/SAFIs, e.g. FlowSpec, L2VPN, MPLS
- 💤 emit BGP packets as events on OutputStream
- 💤 egress modified/created BGP packets (on peering sessions)
- 💤 RIB split over in-memory and on-disk
- 💤 refactor configuration: dynamic units reconfiguration with RESTCONF/yang+json
- 💤 implement active external data sources: RTR
- 💤 more ingress connectors (e.g. Kafka, MQTT, mrt)
- 💤 more egress connectors (e.g. Kafka, Parquet, mrt)
- 💤 create plugin system
- 💤 query engine over (split) RIBs.
- 💤 Rotonda shell
- 💤 Distributed
rotonda
-rotonda
setup withrotoro
(experimental)
RELEASED 0.2
- ✅ language lay-out
- ✅ EBNF scheme
- ✅ create experimental parser
- ✅ create experimental compiler
- ✅ create experimental virtual machine
- ✅ implement all methods on
roto
types - ✅ integrate into
rotonda
- ✅ implement FilterMap (user-defined rx/tx)
- 💤
create user-friendly error messaging - 🦀 ~extensive stress testing
- 🦀 create manual-like docs
- ✅ create high-level overview documentation
UNRELEASED 0.2.x
- 🦀 complete passive external data sources for RIBS
NEXT RELEASES
- 💤 implement more passive external data sources
- 💤 implement active external data sources: RTR
- 🦀 create reference-level documentation
- 💤 create namespaces / modules system
- 💤 create user-configurable graph DSL for units
- 💤 create user-configurable query DSL
- 💤 create dev documentation
RELEASE 0.1
- ✅ BMP state machine
- ✅ BGP state machine
- ✅ BGP passive speaker (session management)
UNRELEASED 0.2
- 🦀 BGP active speaker
RELEASE 0.4
- ✅ prefix types
- ✅ route record example types
- ✅ BGP/BMP types for parsing
UNRELEASED 0.5
- 🦀 create BGP packet builder
- 💤 partial FlowSpec parser
NEXT RELEASES
- 💤 BGPsec parser
RELEASE 0.1
- ✅ setup
tokio
skeleton with logging etc. - ✅ setup BMP listener
- ✅ REST API setup
- ✅ MQTT OutputConnector
- ✅ integrate BGP passive listener (BGP EventSource)
- ✅ virtual RIB experimental implementation
- ✅ installation and usage documentation
- ✅ limited packaging
- ✅ limited
systemd
integration
UNRELEASED 0.1.x
- 🦀 passive external data sources: RIBs
- 🦀 implement FilterMap (user-defined rx/tx and RIB storage type)
NEXT RELEASES
- 💤 emit BGP packets as events on OutputStream
- 💤 egress modified/created BGP packets (on peering sessions)
- 💤 improved daemon functionality: drop privileges
- 🦀 refactor configuration: dynamic units reconfiguration with RESTCONF/yang+json
- 🦀 implement tracing
- 💤 RIB split over in-memory and on-disk
- 💤 namespaces / modules support
- 💤 more ingress connectors (e.g. Kafka, mrt)
- 💤 more egress connectors (e.g. Kafka, Parquet, mrt, (timescale) RDBMS)
- 🦀 BMP proxy
- 💤 create experimental global registry
- 💤 snapshot/restore functionality
- 💤 RIB diff functionality
- 💤 create experimental distributed units
MVP
- 🦀 design wire protocol and select a layout (AVRO?)
- 💤 create experimental de/serialization
- 💤 experimental integration in
rotonda-runtime
0.3
- ✅ stabilize single-threaded store
- ✅ stabilize multi-threaded store
- ✅ robust error handling (get rid of all the unwraps)
NEXT RELEASES
- 🦀 stabilize API
- 🦀 benchmarks matrix IPv4/IPv6
local_array
/local_vec
- 🦀 unit tests & acceptance tests matrix
- 💤 optimizations: implement QSBR (replace Ref Counting on update)
- 💤 optimizations: better hashing, cache padding, etc.
- 💤 fuzzer IPv4/IPv6