---

# 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
      enable_mac_learning: 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
      enable_mac_learning: 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
