---

# Copyright 2017-2024 Open Networking Foundation (ONF) and the ONF Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Automated deployment configuration for systems running BBSim

# Change default values in tests
workflow: DT
has_dataplane: false
external_libs: false
teardown_device: true
ONOS_REST_PORT: 8181
ONOS_SSH_PORT: 8101
OLT_PORT: 50060

nodes:
  -
    ip: '127.0.0.1'

olts:
  -
    ip: bbsim0.voltha.svc
    serial: BBSIM_OLT_10
  -
    ip: bbsim1.voltha.svc
    serial: BBSIM_OLT_11

hosts:
  src:
    -
      onu: 'BBSM000a0001'
      c_tag: '4096'
      s_tag: '900'
      olt: 'BBSIM_OLT_10'
      uni_id: '1'
    -
      onu: 'BBSM000a0002'
      c_tag: '4096'
      s_tag: '904'
      olt: 'BBSIM_OLT_10'
      uni_id: '1'
    -
      onu: 'BBSM000a0101'
      olt: 'BBSIM_OLT_10'
      c_tag: '4096'
      s_tag: '908'
      uni_id: '1'
    -
      onu: 'BBSM000a0102'
      olt: 'BBSIM_OLT_10'
      c_tag: '4096'
      s_tag: '912'
      uni_id: '1'
    -
      onu: 'BBSM000b0001'
      c_tag: '4096'
      s_tag: '900'
      olt: 'BBSIM_OLT_11'
      uni_id: '1'
    -
      onu: 'BBSM000b0002'
      c_tag: '4096'
      s_tag: '904'
      olt: 'BBSIM_OLT_11'
      uni_id: '1'
    -
      onu: 'BBSM000b0101'
      olt: 'BBSIM_OLT_11'
      c_tag: '4096'
      s_tag: '908'
      uni_id: '1'
    -
      onu: 'BBSM000b0102'
      olt: 'BBSIM_OLT_11'
      c_tag: '4096'
      s_tag: '912'
      uni_id: '1'
  dst:
    - ip: null
    - ip: null
    - ip: null
    - ip: null
    - ip: null
    - ip: null
    - ip: null
    - ip: null
