| commit | e4ad86e9db702475db06140a9fe79466a75408ba | [log] [tgz] |
|---|---|---|
| author | Matteo Scandolo <matteo.scandolo@gmail.com> | Sun Oct 06 15:11:04 2019 -0700 |
| committer | Matteo Scandolo <matteo.scandolo@gmail.com> | Sun Oct 06 15:11:43 2019 -0700 |
| tree | 10810ecef25dfb5dd9d5615d4e34c3023b2e841a | |
| parent | cbee95d35e2b922cbc771cc24187139dad7509f7 [diff] |
[SEBA-837] Releasing BBSim 2.1.1 Change-Id: I0f2a0cf2140caf70b835fa180409a09423ebf883
The BBSim (Broadband Simulator) is a software simulator for emulating the control message response (e.g. OLTInd, DHCP, EAPOL, OpenOMCI messages etc..) sent from OLT and ONUs to VOLTHA/ONOS via OpenOLT Adapter. This simulator is implemetend inside a Docker container, and acts as if it was a OLT device connected to multiple ONUs. You can use this BBSim container for a scalability test for VOLTHA, DHCP L2 relay (https://github.com/opencord/dhcpl2relay) and AAA (https://github.com/opencord/aaa) applications on ONOS. The difference from PONsim is that BBSim focuses on emulating control messages, not data-path traffic which PONsim targets.
+--------------------------------------------------+
| VOLTHA Core |
+--------------------------------------------------+
+--------------------------------------------------+
| OpenOLT Adapter |
+------------------------^-------------------------+
+------------------------|-------------------------+
|Container---------------|-----------------------+ |
| |BBSim | | |
| | +------------v---------------------+ | |
| | | gRPC Server | | |
| | +------------^---------------------+ | |
|+------+| +------------|---------------------+ | |
|| || |CoreServer | | | |
||DHCP || | +----------v-------------------+ | | |
||Server <--->| MainPktLoop | | | |
|| || | +---^--------^-------------^---+ | | |
|+------+| +-----|--------|-------------|-----+ | |
| | +-----v---++---v-----++------v-----+ | |
| | |OMCI ||EAPOL || DHCP | | |
| | |Responder||Responder|| Responder | | |
| | +---------++---------++------------+ | |
| +---------------------------------------+ |
+--------------------------------------------------+
※ You need to configure SADIS before you start to run BBSim, if you want to test AAA/DHCP (Refer to section 3).
# Build and Run Docker container
git clone https://github.com/opencord/voltha-bbsim
cd voltha-bbsim
make docker
docker run -it --rm --privileged=true --expose=50060 --network=compose_default voltha/voltha-bbsim ./bbsim -n 16
# After this, execute the following commands from VOLTHA-CLI
(voltha) health
{
"state": "HEALTHY"
}
(voltha) preprovision_olt -t openolt -H <BBSim Docker container IP>
success (device id = <deviceid>)
(voltha) enable
enabling <deviceid>
waiting for device to be enabled...
success (device id = <deviceid>)
(voltha) devices
## You can see the list of devices (OLT/ONUs) ##
You need to configure a few parameters for AAA/DHCPL2Relay app before running BBSim. You only need to set 1. device id assigned to BBSim (i.e. of:*********), 2. c/sTag and Tech Profile with BBSim ONU instance device id, in .netconf file. (Please refer to https://wiki.onosproject.org/display/ONOS/NETCONF about netconf support in ONOS)
"org.opencord.dhcpl2relay" : {
"dhcpl2relay" : {
"dhcpServerConnectPoints" : [ "<device id assigned to BBSim>/65536" ],
"useOltUplinkForServerPktInOut" : true
}
},
....
"org.opencord.sadis" : {
"sadis" : {
"entries":[
{
"id" : "BBSIMOLT000",
"hardwareIdentifier" : "de:ad:be:ef:ba:11",
"uplinkPort" : 65536
},
//BBSim generates both device id and c/stag assigned to each ONU while incrementing them by 1 from BBSM00000100, 900.
//The following lines are an example when we use for configuring 2 ONUs.
{"id" : "BBSM00000100", "cTag" : 900, "sTag" : 900, "nasPortId" : "BBSM00000100", "technologyProfileId" : 64, "upstreamBandwidthProfile":"High-Speed-Internet", "downstreamBandwidthProfile":"User1-Specific"},
{"id" : "BBSM00000101", "cTag" : 901, "sTag" : 901, "nasPortId" : "BBSM00000101", "technologyProfileId" : 64, "upstreamBandwidthProfile":"High-Speed-Internet", "downstreamBandwidthProfile":"User1-Specific"},
......
Usage of ./bbsim:
-H string
IP address:port (default ":50060")
-aw int
Wait time (sec) for activation WPA supplicants after EAPOL flow entry installed (default 2)
-d string
Debug Level(TRACE DEBUG INFO WARN ERROR) (default "DEBUG")
-dw int
Wait time (sec) for activation DHCP clients after DHCP flow entry installed (default 2)
-i int
Number of PON-IF ports (default 1)
-id int
OLT-ID
-k string
Kafka broker
-m string
Emulation mode (default, aaa, both (aaa & dhcp)) (default "default")
-n int
Number of ONUs per PON-IF port (default 1)
-s string
DHCP Server IP Address (default "182.21.0.128")
-v int
Interval each Discovery Indication, in the form of unit+suffix, such as '10ms', '1s' or '1m' (default 0)
-ia bool
Interactive activation of ONUs: if true ONUs must be activated explicitly using the management API (no ONUs are activated at startup) (default false)
-grpc int
Management API gRPC port (default 50061)
-rest int
Management API rest port (default 50062)