---

# Copyright 2020-2023 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.

# override ONOS config
onos-classic:
  config:
    netcfg: >
      {
        "apps" : {
          "org.opencord.igmpproxy" : {
            "igmpproxy":{
              "FastLeave":"true",
              "LastQueryInterval":1,
              "MaxResp":1,
              "enableIgmpProvisioning":"false",
              "globalConnectPointMode":"true",
              "globalConnectPoint" : "of:0000000000000001/3",
              "sourceDeviceAndPort":"of:0000000000000001/3",
              "outgoingIgmpVlanId":550,
              "outgoingIgmpInnerVlanId":55,
              "outgoingIgmpWithV3":"true",
              "IgmpCos":5,
              "IgmpUniCos":5,
              "PeriodicQuery":"true",
              "KeepAliveInterval":60,
              "KeepAliveCount":5,
              "requestDsIgmpPackets":false
            }
          },
          "org.opencord.dhcpl2relay" : {
            "dhcpl2relay" : {
              "useOltUplinkForServerPktInOut" : true
            }
          },
          "org.opencord.kafka": {
            "kafka" : {
              "bootstrapServers" : "{{ .Release.Name }}-kafka.{{ .Release.Namespace }}.svc:9092"
            }
          },
          "org.opencord.sadis": {
            "sadis": {
              "integration": {
                "url": "http://bbsim-sadis-server.{{ .Release.Namespace }}.svc:58080/subscribers/%s",
                "cache": {
                  "enabled": true,
                  "maxsize": 50,
                  "ttl": "PT1m"
                }
              }
            },
            "bandwidthprofile": {
              "integration": {
                "url": "http://bbsim-sadis-server.{{ .Release.Namespace }}.svc:58080/profiles/%s",
                "cache": {
                  "enabled": true,
                  "maxsize": 50,
                  "ttl": "PT1m"
                }
              }
            }
          }
        }
      }
    componentConfig:
      "org.opencord.olt.impl.OltFlowService": >
        {
          "enableDhcpOnNni": "true",
          "defaultTechProfileId": "64",
          "enableIgmpOnNni": "true",
          "enableEapol": "false",
          "enableDhcpV6": "false",
          "enableDhcpV4": "true"
        }

# override BBSim config
servicesConfig:
  workflow: tt
  services:
    - name: hsia
      uni_tag_match: 35
      c_tag: 900
      c_tag_allocation: unique
      s_tag: 900
      s_tag_allocation: shared
      tp_id: 64
    - name: voip
      uni_tag_match: 65
      c_tag: 444
      c_tag_allocation: shared
      s_tag: 333
      s_tag_allocation: shared
      needs_dhcp: true
      tp_id: 65
      configure_mac_address: true
      us_pon_c_tag_priority: 7
      us_pon_s_tag_priority: 7
      ds_pon_c_tag_priority: 7
      ds_pon_s_tag_priority: 7
    - name: vod
      uni_tag_match: 55
      c_tag: 55
      c_tag_allocation: shared
      s_tag: 555
      s_tag_allocation: shared
      needs_dhcp: true
      needs_igmp: true
      tp_id: 66
      configure_mac_address: true
      us_pon_c_tag_priority: 5
      us_pon_s_tag_priority: 5
      ds_pon_c_tag_priority: 5
      ds_pon_s_tag_priority: 5
    # NOTE: the multicast service must be called MC unless you set
    # multicastServiceName to something else in org.opencord.olt.impl.Olt
    - name: MC
      c_tag: 55
      c_tag_allocation: shared
      s_tag: 550
      s_tag_allocation: shared
      tp_id: 66
      ds_pon_c_tag_priority: 5
      ds_pon_s_tag_priority: 5
