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

images:
  tags:
    init: docker.io/omecproject/pod-init:1.0.0
    bess: registry.central.aetherproject.net/upf-epc-bess:0.1.0-dev
    cpiface: registry.central.aetherproject.net/upf-epc-cpiface:0.1.0-dev
  pullPolicy: Always

nodeSelectors:
  enabled: false
  spgwu:
    label: omec-upf
    value: enabled

resources:
  enabled: true
  bess:
    requests:
      hugepages-1Gi: 2Gi
      cpu: 2
      memory: 256Mi
    limits:
      hugepages-1Gi: 2Gi
      cpu: 2
      memory: 256Mi
  routectl:
    requests:
      cpu: 256m
      memory: 128Mi
    limits:
      cpu: 256m
      memory: 128Mi
  web:
    requests:
      cpu: 256m
      memory: 128Mi
    limits:
      cpu: 256m
      memory: 128Mi
  cpiface:
    requests:
      cpu: 256m
      memory: 128Mi
    limits:
      cpu: 256m
      memory: 128Mi

config:
  coreDump:
    enabled: false
    path: /tmp/coredump
  # Provide UPF interface driver.
  # Available options are dpdk, af_xdp, af_packet.
  mode: "dpdk"
  spgwu:
    name: "dp-staging"
    workers: 1
    maxSessions: 50000
    maxIpDefragFlows: 1000
    # Provide the S1U and SGI networks facing device name and IP address
    s1u:
      device: s1u
      ip: 192.168.252.7/24
    sgi:
      device: sgi
      ip: 192.168.250.7/24
    zmq:
      recvPort: 20
      spgwc:
        addr: spgwc-headless.omec.svc.staging.central
        port: 21
  bess:
    web:
      nodePort: 36000

networks:
  sriov:
    enabled: true
  cniPlugin: vfioveth
  # Dynamic IP allocation is not supported for the user plane interfaces
  ipam: static
  enb:
    subnet: 192.168.251.0/24
  ue:
    subnet: 10.250.0.0/16
  sgi:
    subnet: 192.168.250.0/24
    gateway: 192.168.250.1
  s1u:
    subnet: 192.168.252.0/24
    gateway: 192.168.252.1
