blob: 279e6061dbe563812663e239e5832d838753f9ba [file] [log] [blame]
Matteo Scandolof380a972020-09-11 12:09:40 -07001BBSim Configuration
2===================
3
4BBSim startup options
5---------------------
6
7``BBSim`` supports a series of options that can be set at startup, you can see
8the list via ``./bbsim --help``
9
10.. code:: bash
11
12 $ ./bbsim --help
Matteo Scandolo53b1a372022-01-11 15:20:06 -080013 Usage of ./bbsim:
14 -api_address string
15 IP address:port (default ":50070")
16 -authRetry
17 Set this flag if BBSim should retry EAPOL (Authentication) upon failure until success
18 -bp_format string
19 Bandwidth profile format, 'mef' or 'ietf' (default "mef")
20 -ca string
21 Set the mode for controlled activation of PON ports and ONUs (default "default")
22 -config string
23 Configuration file path (default "configs/bbsim.yaml")
24 -cpuprofile string
25 write cpu profile to file
26 -delay int
27 The delay between ONU DISCOVERY batches in milliseconds (1 ONU per each PON PORT at a time (default 200)
28 -dhcpRetry
29 Set this flag if BBSim should retry DHCP upon failure until success
30 -dmi_server_address string
31 IP address:port (default ":50075")
32 -enableEvents
33 Enable sending BBSim events on configured kafka server
34 -enableperf
35 Setting this flag will cause BBSim to not store data like traffic schedulers, flows of ONUs etc..
Matteo Scandolocfedba42022-02-14 16:08:54 -080036 -injectOmciUnknownAttributes
37 Generate a MibDB packet with Unknown Attributes
Matteo Scandolo53b1a372022-01-11 15:20:06 -080038 -kafkaAddress string
39 IP:Port for kafka (default ":9092")
40 -kafkaEventTopic string
41 Ability to configure the topic on which BBSim publishes events on Kafka
42 -logCaller
43 Whether to print the caller filename or not
44 -logLevel string
45 Set the log level (trace, debug, info, warn, error) (default "debug")
46 -nni int
47 Number of NNI ports per OLT device to be emulated (default 1)
Elia Battiston420c9092022-02-02 12:17:54 +010048 -nni_speed uint
49 Reported speed of the NNI ports in Mbps (default 1000)
Matteo Scandolo53b1a372022-01-11 15:20:06 -080050 -oltRebootDelay int
51 Time that BBSim should before restarting after a reboot (default 60)
52 -olt_id int
53 OLT device ID
54 -omci_response_rate int
55 Amount of OMCI messages to respond to (default 10)
56 -onu int
57 Number of ONU devices per PON port to be emulated (default 1)
58 -openolt_address string
59 IP address:port (default ":50060")
60 -pon int
61 Number of PON ports per OLT device to be emulated (default 1)
Elia Battistonb7bea222022-02-18 16:25:00 +010062 -pon_port_config_file string
63 Pon Interfaces Configuration file path
Elia Battistonac63b112022-01-12 18:40:49 +010064 -pots int
65 Number of POTS UNI Ports per ONU device to be emulated (default 0)
Matteo Scandolo53b1a372022-01-11 15:20:06 -080066 -rest_api_address string
67 IP address:port (default ":50071")
68 -services string
69 Service Configuration file path (default "configs/att-services.yaml")
70 -uni int
71 Number of UNI Ports per ONU device to be emulated (default 4)
72
Matteo Scandolo93566702020-09-30 15:19:27 -070073
Matteo Scandolof380a972020-09-11 12:09:40 -070074
75
76``BBSim`` also looks for a configuration file in ``configs/bbsim.yaml`` from
77which it reads a number of default settings. The command line options listed
78above override the corresponding configuration file settings. A sample
79configuration file is given below:
80
81.. literalinclude:: ../../configs/bbsim.yaml
82
83.. _ConfiguringServices:
84
85Configuring RG Services
86-----------------------
87
88BBSim supports different services in the RG.
89Those services are described through a configuration file that is specified via the ``-services`` flag.
90
91Below are examples of the tree commonly used configurations:
92
93.. literalinclude:: ../../configs/att-services.yaml
94
95.. literalinclude:: ../../configs/dt-services.yaml
96
97.. literalinclude:: ../../configs/tt-services.yaml
98
99Controlled PON and ONU activation
100---------------------------------
101
102BBSim provides support for controlled PON and ONU activation. This gives you the ability
103to manually enable PON Ports and ONUs as needed.
104
105By default both PON ports and ONUs are automatically activated when OLT is enabled. This can
106be controlled using ``-ca`` option.
107
108``-ca`` can be set to one of below four modes:
109
110- default: PON ports and ONUs are automatic activated (default behavior).
111
112- only-onu: PON ports automatically enabled and ONUs activated on demand
113 On Enable OLT, IntfIndications for all PON ports are sent but ONU discovery indications are not sent.
114 When PoweronONU request is received at BBSim API server then ONU discovery indication is sent for that ONU.
115
116- only-pon: PON ports enabled on demand and ONUs automatically activated
117 On Enable OLT, neither IntfIndications for PON ports nor ONU discovery indications are sent.
118 When EnablePonIf request is received at OpenOLT server, then that PON port is enabled and
119 IntfIndication is sent for that PON and all ONUs under that ports are discovered automatically.
120
121- both: Both PON ports and ONUs are activated on demand
122 On Enable OLT, neither IntfIndication for PON ports nor ONU discovery indications are sent.
123 When EnablePonIf request is received on OpenOLT server then
124 IntfIndication is sent for that PON but no ONU discovery indication
125 will be sent.
126 When PoweronONU request is received at BBSim API server then ONU discovery indication is sent for that ONU.
127
128Pon Port and ONU on demand activation is managed via ``BBSimCtl``.
129You can find more information in the :ref:`Operations` page.
130
131Publishing BBSim Events on kafka
132--------------------------------
133
134BBSim provides option for publishing events on kafka. To publish events on
135kafka, set BBSimEvents flag and configure kafkaAddress.
136
137Once BBSim is started, it will publish events (as and when they happen) on
138topic ``BBSim-OLT-<id>-Events``.
139
140Types of Events:
141 - OLT-enable-received
142 - OLT-disable-received
143 - OLT-reboot-received
144 - OLT-reenable-received
145 - ONU-discovery-indication-sent
146 - ONU-activate-indication-received
147 - MIB-upload-received
148 - MIB-upload-done
149 - Flow-add-received
150 - Flow-remove-received
151 - ONU-authentication-done
152 - ONU-DHCP-ACK-received
153
154Sample output of kafkacat consumer for BBSim with OLT-ID 4:
155
156.. code:: bash
157
158 $ kafkacat -b localhost:9092 -t BBSim-OLT-4-Events -C
159 {"EventType":"OLT-enable-received","OnuSerial":"","OltID":4,"IntfID":-1,"OnuID":-1,"EpochTime":1583152243144,"Timestamp":"2020-03-02 12:30:43.144449453"}
160 {"EventType":"ONU-discovery-indication-sent","OnuSerial":"BBSM00040001","OltID":4,"IntfID":0,"OnuID":0,"EpochTime":1583152243227,"Timestamp":"2020-03-02 12:30:43.227183506"}
161 {"EventType":"ONU-activate-indication-received","OnuSerial":"BBSM00040001","OltID":4,"IntfID":0,"OnuID":1,"EpochTime":1583152243248,"Timestamp":"2020-03-02 12:30:43.248225467"}
Matteo Scandolo0e9fabf2020-09-30 17:19:27 -0700162 {"EventType":"MIB-upload-received","OnuSerial":"BBSM00040001","OltID":4,"IntfID":0,"OnuID":1,"EpochTime":1583152243299,"Timestamp":"2020-03-02 12:30:43.299480183"}