# Copyright 2018-present Open Networking Foundation
# Copyright 2018 Intel Corporation
#
# 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
    omecCni: docker.io/omecproject/omec-cni:1.0.0
    spgwu: docker.io/omecproject/ngic-dp:central-cp-multi-upfs-latest-debug
    depCheck: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
  pullPolicy: IfNotPresent

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

resources:
  enabled: true
  spgwu:
    requests:
      cpu: 4
      memory: 8Gi
    limits:
      cpu: 4
      memory: 8Gi

config:
  coreDump:
    enabled: false
    path: /tmp/coredump
  sriov:
    enabled: true
  spgwu:
    # Provide the S1U and SGI networks facing device name and IP address
    s1u:
      device: s1u-net
      ip: 192.168.251.3/24
    sgi:
      device: sgi-net
      ip: 192.168.250.3/24
    # Note that zmq is used for cp-dp commmunication when multiple UPFs is set
    # Otherwise, direct UDP communication is used
    # TODO: unify cp-dp comm to ZMQ for both multi and single UPF scenario
    multiUpfs: true
    cpComm:
      # IMPORTANT: when you deploy CP and DP to separate clusters, enable nodePort
      # from both cpComm(omec-control-plane) and dpComm(omec-data-plane) and
      # set "addr" to remote cluster's entry node IP and
      # "port" to cpComm.nodePort.port value configured in omec-control-plane.
      addr: spgwc-headless
      port: 21
    dpComm:
      nodePort:
        enabled: false
        port: 30020
      port: 20
    # Set "--no-pci --vdev eth_af_packet0,iface=s1u-net --vdev eth_af_packet1,iface=sgi-net"
    # when sriov is disabled
    devices: ""
    dpName: "onf-menlo"

networks:
  cniPlugin: vfioveth
  # Currently, we do not support dynamic IP allocation
  ipam: static
  s1u:
    subnet: 192.168.251.0/24
    mask: 255.255.255.0
    gateway: 192.168.251.254
  sgi:
    subnet: 192.168.250.0/24
    mask: 255.255.255.0
    gateway: 192.168.250.250
