blob: d92d6f8274a381af87bb4571eec77f0a6ea9a16e [file] [log] [blame]
Matteo Scandolod02b79b2019-12-05 16:42:13 -08001.. _OLT State Machine:
2
3OLT State Machine
4=================
5
6In ``BBSim`` the device state is created using a state machine
7library: `fsm <https://github.com/looplab/fsm>`__.
8
9Here is a list of possible states for an OLT in BBSim:
10
11.. list-table:: OLT States
12 :header-rows: 1
13
14 * -
15 - Initialized
16 - Enabled
17 - Disabled
18 - Deleted
19 * - Data model is created for OLT, NNIs, PONs and ONUs
20 - Starts the listener on the NNI interface and the DHCP server,
21 Starts the OLT gRPC server,
22 Moves the ONUs to ``initialized`` state
23 - Sends OLT, NNIs and PONs ``UP`` indications
24 Transition the ONUs into ``discovered`` state
25 - Transition the ONUs into ``disabled`` state
26 Sends OLT, NNIs and PONs ``UP`` indications
27 - Stops the OLT gRPC Server
28
29Below is a diagram of the state machine allowed transitions:
30
31.. graphviz::
32
33 digraph {
34 rankdir=TB
35 newrank=true
36 graph [pad="1,1" bgcolor="#cccccc"]
37 node [style=filled]
38
39 created -> initialized -> enabled -> disabled -> deleted
40 disabled -> enabled
41 deleted -> initialized
42 }