# Copyright 2019-present Open Networking Foundation
#
# 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.

# Sample override values for 3-nodes cluster with SR-IOV configured on DP node.
cassandra:
  config:
    cluster_size: 3

config:
  sriov:
    resourceList:
      vfio:
        pfNames:
          - eth2
      netDevice:
        pfNames:
          - eth2
        drivers:
          - i40evf
          - ixgbevf
  mme:
    cfgFiles:
      config.json:
        mme:
          mcc:
            dig1: 7
            dig2: 3
            dig3: 2
          mnc:
            dig1: 1
            dig2: 1
            dig3: 1
  hss:
    bootstrap:
      enabled: true
      users:
        - imsi: "732111000000420"
          msisdn: "1122334455"
          apn: apn1
          key: "000102030405060708090a0b0c0d0e0f"
          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
        - imsi: "732111000000421"
          msisdn: "1122334455"
          apn: apn1
          key: "000102030405060708090a0b0c0d0e0f"
          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
      mmes:
        - id: 1
          isdn: "19136246000"
          unreachability: 1
  spgwu:
    cpComm:
      addr: 10.90.0.151
      port: 30021
    dpComm:
      nodePort:
        enabled: true
        port: 30020
  spgwc:
    cpComm:
      nodePort:
        enabled: true
        port: 30021
    dpComm:
      addr: 10.90.0.131
      port: 30020
    cfgFiles:
      adc_rules.cfg: |
        [GLOBAL]
        NUM_ADC_RULES = 5

        [ADC_RULE_1]
        ADC_TYPE = 1
        IP = 13.1.1.111

        [ADC_RULE_2]
        ADC_TYPE = 2
        IP = 13.1.1.0
        PREFIX = 24

        [ADC_RULE_3]
        ADC_TYPE = 1
        IP = 13.1.1.112
        PREFIX = 24

        [ADC_RULE_4]
        ADC_TYPE = 0
        DOMAIN = www.example.gov

        [ADC_RULE_5]
        ADC_TYPE = 0
        DOMAIN = www.drop_example.com
      meter_profile.cfg: |
        [GLOBAL]
        NUM_OF_IDX = 7

        [ENTRY_1]
        ;Committed Information Rate (CIR). Measured in bytes per second.
        ;MBR is mapped into CIR, convert MBR from bits to Bytes and set CIR.
        CIR = 2342400
        ;Committed Burst Size unit = Bytes
        CBS = 5856
        ;Excess Burst Size unit = Bytes
        EBS = 11712
        ;Meter profile index. Refer this index in static_pcc.cfg to set AMBR/MBR
        MTR_PROFILE_IDX = 3

        [ENTRY_2]
        ;1200 = 1756800
        ;1400 = 2049600
        ;1600 = 2342400
        CIR = 2342400
        CBS = 5856
        EBS = 11712
        MTR_PROFILE_IDX = 4

        [ENTRY_3]
        ; QCI5,QCI7 15.571kbps = 1947 B
        CIR = 2342400
        CBS = 5856
        EBS = 11712
        MTR_PROFILE_IDX = 5

        [ENTRY_4]
        ; QCI1, 44kbps = 5500 B
        CIR = 2342400
        CBS = 5856
        EBS = 11712
        MTR_PROFILE_IDX = 6

        [ENTRY_5]
        ; QCI9, 31.143kbps = 3893 B
        CIR = 2342400
        CBS = 5856
        EBS = 11712
        MTR_PROFILE_IDX = 7

        [ENTRY_6]
        ; 128B, 7pps
        CIR = 2342400
        CBS = 512
        EBS = 1024
        MTR_PROFILE_IDX = 8

        [ENTRY_7]
        ; 128B, 2pps
        CIR = 2342400
        CBS = 512
        EBS = 1024
        MTR_PROFILE_IDX = 9

      pcc_rules.cfg: |
        [GLOBAL]
        NUM_PCC_FILTERS = 9
        ;To config AMBR/MBR values refer meter_profile.cfg. specify only the
        ;meter profile index to be set here.
        UL_AMBR_MTR_PROFILE_IDX = 3
        DL_AMBR_MTR_PROFILE_IDX = 4

        ;default filter - must be first for now (until DP doesn't install any filters)
        ;associated with default adc rule
        [PCC_FILTER_1]
        RULE_NAME = DefaultRule
        RATING_GROUP = 9
        SERVICE_ID = 0
        RULE_STATUS = 0
        GATE_STATUS = 1
        SESSION_CONT = 0
        REPORT_LEVEL = 1
        CHARGING_MODE = 0
        METERING_METHOD = 0
        MUTE_NOTIFY = 0
        MONITORING_KEY = 0
        SPONSOR_ID = 0
        REDIRECT_INFO = 0
        PRECEDENCE = 254
        DROP_PKT_COUNT = 0
        ;Specify the meter profile index from meter_profile.cfg
        UL_MBR_MTR_PROFILE_IDX = 7
        DL_MBR_MTR_PROFILE_IDX = 7
        ;List of ADC filter indices
        SDF_FILTER_IDX = 99998

        [PCC_FILTER_2]
        RULE_NAME = sdf_rule_1
        RATING_GROUP = 5
        SERVICE_ID = 0
        RULE_STATUS = 0
        GATE_STATUS = 1
        SESSION_CONT = 0
        REPORT_LEVEL = 2
        CHARGING_MODE = 0
        METERING_METHOD = 0
        MUTE_NOTIFY = 0
        MONITORING_KEY = 0
        SPONSOR_ID = 0
        REDIRECT_INFO = 0
        PRECEDENCE = 1
        DROP_PKT_COUNT = 0
        UL_MBR_MTR_PROFILE_IDX = 5
        DL_MBR_MTR_PROFILE_IDX = 5
        ;List of SDF filter indices
        SDF_FILTER_IDX = 1

        [PCC_FILTER_3]
        RULE_NAME = sdf_rule_2
        RATING_GROUP = 1
        SERVICE_ID = 0
        RULE_STATUS = 0
        GATE_STATUS = 1
        SESSION_CONT = 0
        REPORT_LEVEL = 3
        CHARGING_MODE = 0
        METERING_METHOD = 0
        MUTE_NOTIFY = 0
        MONITORING_KEY = 0
        SPONSOR_ID = 0
        REDIRECT_INFO = 0
        PRECEDENCE = 18
        DROP_PKT_COUNT = 0
        UL_MBR_MTR_PROFILE_IDX = 6
        DL_MBR_MTR_PROFILE_IDX = 6
        ;List of SDF filter indices
        SDF_FILTER_IDX = 2

        [PCC_FILTER_4]
        RULE_NAME = adc_rule_1
        RATING_GROUP = Zero-Rate
        SERVICE_ID = Internet
        RULE_STATUS = 0
        GATE_STATUS = 1
        SESSION_CONT = 0
        REPORT_LEVEL = 8
        CHARGING_MODE = 0
        METERING_METHOD = 0
        MUTE_NOTIFY = 0
        MONITORING_KEY = 0
        REDIRECT_INFO = 0
        SPONSOR_ID = Example
        PRECEDENCE = 15
        DROP_PKT_COUNT = 0
        UL_MBR_MTR_PROFILE_IDX = 7
        DL_MBR_MTR_PROFILE_IDX = 7
        ;List of SDF filter indices
        ADC_FILTER_IDX = 1

        [PCC_FILTER_5]
        RULE_NAME = adc_rule_2
        RATING_GROUP = 0
        SERVICE_ID = CIPA
        RULE_STATUS = 0
        GATE_STATUS = 1
        SESSION_CONT = 0
        REPORT_LEVEL = 9
        CHARGING_MODE = 0
        METERING_METHOD = 0
        MUTE_NOTIFY = 0
        MONITORING_KEY = 0
        SPONSOR_ID = Example
        REDIRECT_INFO = 0
        SPONSOR_ID = Example
        REDIRECT_INFO = 0
        PRECEDENCE = 4
        DROP_PKT_COUNT = 0
        UL_MBR_MTR_PROFILE_IDX = 0
        DL_MBR_MTR_PROFILE_IDX = 0
        ;List of SDF filter indices
        ADC_FILTER_IDX = 2

        [PCC_FILTER_6]
        RULE_NAME = sdf_rule_3
        RATING_GROUP = 7
        SERVICE_ID = 0
        RULE_STATUS = 0
        GATE_STATUS = 1
        SESSION_CONT = 0
        REPORT_LEVEL = 4
        CHARGING_MODE = 0
        METERING_METHOD = 0
        MUTE_NOTIFY = 0
        MONITORING_KEY = 0
        SPONSOR_ID = 0
        REDIRECT_INFO = 0
        PRECEDENCE = 17
        DROP_PKT_COUNT = 0
        UL_MBR_MTR_PROFILE_IDX = 5
        DL_MBR_MTR_PROFILE_IDX = 5
        ;List of SDF filter indices
        SDF_FILTER_IDX = 3

        [PCC_FILTER_7]
        RULE_NAME = adc_rule_3
        RATING_GROUP = Zero-Rate
        SERVICE_ID = Internet
        RULE_STATUS = 0
        GATE_STATUS = 1
        SESSION_CONT = 0
        REPORT_LEVEL = 5
        CHARGING_MODE = 0
        METERING_METHOD = 0
        MUTE_NOTIFY = 0
        MONITORING_KEY = 0
        SPONSOR_ID = Example
        REDIRECT_INFO = 0
        PRECEDENCE = 210
        DROP_PKT_COUNT = 0
        UL_MBR_MTR_PROFILE_IDX = 7
        DL_MBR_MTR_PROFILE_IDX = 7
        ;List of SDF filter indices
        ADC_FILTER_IDX = 4

        [PCC_FILTER_8]
        RULE_NAME = adc_rule_4
        RATING_GROUP = Zero-Rate
        SERVICE_ID = Management
        RULE_STATUS = 0
        GATE_STATUS = 1
        SESSION_CONT = 0
        REPORT_LEVEL = 6
        CHARGING_MODE = 0
        METERING_METHOD = 0
        MUTE_NOTIFY = 0
        MONITORING_KEY = 0
        SPONSOR_ID = Example
        REDIRECT_INFO = 0
        PRECEDENCE = 200
        DROP_PKT_COUNT = 0
        UL_MBR_MTR_PROFILE_IDX = 7
        DL_MBR_MTR_PROFILE_IDX = 7
        ;List of SDF filter indices
        ADC_FILTER_IDX = 12

        [PCC_FILTER_9]
        RULE_NAME = adc_rule_5
        RATING_GROUP = Zero-Rate
        SERVICE_ID = Provisioning
        RULE_STATUS = 0
        GATE_STATUS = 1
        SESSION_CONT = 0
        REPORT_LEVEL = 7
        CHARGING_MODE = 0
        METERING_METHOD = 0
        MUTE_NOTIFY = 0
        MONITORING_KEY = 0
        SPONSOR_ID = Example
        REDIRECT_INFO = 0
        PRECEDENCE = 220
        DROP_PKT_COUNT = 0
        UL_MBR_MTR_PROFILE_IDX = 7
        DL_MBR_MTR_PROFILE_IDX = 7
        ;List of SDF filter indices
        ADC_FILTER_IDX = 3
      sdf_rules.cfg: |
        [GLOBAL]
        NUM_SDF_FILTERS = 4

        [SDF_FILTER_1]
        DIRECTION = downlink_only
        IPV4_REMOTE = 13.2.1.113
        IPV4_REMOTE_MASK = 255.255.255.0
        PROTOCOL = 17
        LOCAL_LOW_LIMIT_PORT = 0
        LOCAL_HIGH_LIMIT_PORT = 65535
        REMOTE_LOW_LIMIT_PORT = 0
        REMOTE_HIGH_LIMIT_PORT = 65535

        [SDF_FILTER_2]
        DIRECTION = uplink_only
        IPV4_LOCAL = 16.255.255.0
        IPV4_LOCAL_MASK = 255.255.255.0
        PROTOCOL = 17
        LOCAL_LOW_LIMIT_PORT = 0
        LOCAL_HIGH_LIMIT_PORT = 65535
        REMOTE_LOW_LIMIT_PORT = 0
        REMOTE_HIGH_LIMIT_PORT = 65535

        [SDF_FILTER_3]
        DIRECTION = downlink_only
        IPV4_REMOTE = 130.10.0.0
        IPV4_REMOTE_MASK = 255.255.0.0
        PROTOCOL = 17
        REMOTE_LOW_LIMIT_PORT = 5060
        REMOTE_HIGH_LIMIT_PORT = 5060

        [SDF_FILTER_4]
        DIRECTION = uplink_only
        IPV4_REMOTE = 103.1.0.0
        IPV4_REMOTE_MASK = 255.255.0.0
        PROTOCOL = 17
        LOCAL_LOW_LIMIT_PORT = 17000
        LOCAL_HIGH_LIMIT_PORT = 17010

# Accelleran configuration values
mme:
  nodeport_ip_addr: 10.90.0.151
cu:
  accelleran:
    node_ip: 10.90.0.151
    progran:
      enabled: true
      ip: 10.90.0.151

# CDN configuration values
  cdnRemotes:
  - name: remote-1
    ip: 10.90.0.151
    port: 30935
    streams:
    - name: 360p
      value: 360
    - name: 480p
      value: 480
    - name: 720p
      value: 720

# cord-platform values
etcd-operator:
  enabled: false

# comac-platform values
residentialService:
  enabled: false
progran:
  enabled: true
comac:
  residentialService:
    enabled: false
  progran:
    enabled: true
