# Copyright 2020-present Open Networking Foundation
#
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0

images:
  tags:
    init: docker.io/omecproject/pod-init:1.0.0
    omecCni: docker.io/omecproject/omec-cni:1.0.0
    pfcpAgent: docker.io/omecproject/pfcp-agent:master-latest
    depCheck: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
  pullPolicy: IfNotPresent

nodeSelectors:
  enabled: false
  pfcpAgent:
    label: node-role.aetherproject.org
    value: connectivity

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

config:
  coreDump:
    enabled: false
    path: /tmp/coredump
  sriov:
    enabled: true
  pfcpAgent:
    ueIpPool:
      ip: 10.250.0.0
      mask: 255.255.0.0
      s1u_mask: 255.255.255.255
    p4rtc_service:
      name: onos
      port: 51001
    # Provide the S1U and SGI networks facing device name and IP address
    s1u:
      device: s1u-net
      ip: 192.168.252.1/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: 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: 192.168.0.20
      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: ""
    pci: "--no-pci"
    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
