# 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:1.0.0
    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:
  sriov:
    enabled: true
  spgwu:
    # Provide the S1U and SGI networks facing device name and IP address
    s1u:
      device: s1u-net
      ip: 119.0.0.3/24
    sgi:
      device: sgi-net
      ip: 13.1.1.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: false
    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
      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: "dp1"

networks:
  cniPlugin: vfioveth
  # Currently, we do not support dynamic IP allocation
  ipam: static
  s1u:
    subnet: 119.0.0.0/24
    mask: 255.255.255.0
    gateway: 119.0.0.254
  sgi:
    subnet: 13.1.1.0/24
    mask: 255.255.255.0
    gateway: 13.1.1.254
