{{/*
# Copyright 2019-present Open Networking Foundation
# Copyright 2019 Intel Corporation

# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
*/}}

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: spgwu
  labels:
{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 4 }}
data:
  dp_config.cfg: |
    if [ ! -d "/dev/hugepages" ]; then
        MEMORY="--no-huge -m $((MEM_LIMIT-1024))"
    fi
    CORES="-c $(taskset -p $$ | awk '{print $NF}')"
    EAL_ARGS="${CORES} ${MEMORY} {{ .Values.config.spgwu.devices }}"

    {{- if .Values.config.sriov.enabled }}
    S1U_DEVNAME={{ .Values.config.spgwu.s1u.device }}
    {{- else }}
    S1U_DEVNAME={{ .Values.config.spgwu.s1u.device }}-veth
    {{- end }}
    {{- if .Values.config.sriov.enabled }}
    SGI_DEVNAME={{ .Values.config.spgwu.sgi.device }}
    {{- else }}
    SGI_DEVNAME={{ .Values.config.spgwu.sgi.device }}-veth
    {{- end }}

    S1U_IP=$(ip -4 addr show dev ${S1U_DEVNAME} | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
    SGI_IP=$(ip -4 addr show dev ${SGI_DEVNAME} | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
    S1U_MAC=$(ip addr show dev ${S1U_DEVNAME} | awk '$1=="link/ether"{print $2}')
    SGI_MAC=$(ip addr show dev ${SGI_DEVNAME} | awk '$1=="link/ether"{print $2}')

    S1U="--s1u_ip ${S1U_IP} --s1u_mac ${S1U_MAC} --ul_iface ${S1U_DEVNAME}"
    SGI="--sgi_ip ${SGI_IP} --sgi_mac ${SGI_MAC} --dl_iface ${SGI_DEVNAME} --sgi_gw_ip {{ .Values.networks.sgi.gateway }} --sgi_mask {{ .Values.networks.sgi.mask }}"
    MISC="--log 1"
    SPGW_CFG="--spgw_cfg 03"

    APP_ARGS="${S1U} ${SGI} ${MISC} ${SPGW_CFG}"
  cdr.cfg: |
    CDR_PATH=./cdr
    MASTER_CDR=./cdr/master.csv
  interface.cfg: |
    [0]
    dp_comm_ip = DP_ADDR
{{- if .Values.config.spgwu.pfcp }}
    dp_comm_port = 8805
    zmq_protocol = udp
{{- else }}
    zmq_protocol = tcp
    dp_comm_port = 20
{{- end }}
{{- if .Values.config.spgwu.multiUpfs }}
    cp_nb_ip = {{ .Values.config.spgwu.cpComm.addr }}
    cp_nb_port = {{ .Values.config.spgwu.cpComm.port }}
    cp_comm_ip = {{ .Values.config.spgwu.cpComm.addr }}
    cp_comm_port = {{ .Values.config.spgwu.cpComm.port }}
    zmq_dp_ip=127.0.0.1
    zmq_cp_ip=127.0.0.1
{{- else }}
    cp_comm_ip = {{ .Values.config.spgwu.cpComm.addr }}
    cp_comm_port = {{ .Values.config.spgwu.cpComm.port }}
{{- end }}
{{- if not .Values.config.sriov.enabled }}
  setup-af-iface.sh: |
{{ tuple "bin/_spgwu-setup-af-iface.sh.tpl" . | include "omec-data-plane.template" | indent 4 }}
{{- end }}
  run.sh: |
{{ tuple "bin/_spgwu-run.sh.tpl" . | include "omec-data-plane.template" | indent 4 }}
