################################################################################
# Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The OpenAirInterface Software Alliance licenses this file to You under
# the OAI Public License, Version 1.1  (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.openairinterface.org/?page_id=698
#
# 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.
#-------------------------------------------------------------------------------
# For more information about the OpenAirInterface (OAI) Software Alliance:
#      contact@openairinterface.org
################################################################################
SPGW-U =
{
    INSTANCE                       = 0;            # 0 is the default
    PID_DIRECTORY                  = "/var/run";     # /var/run is the default

    #ITTI_TASKS :
    #{
        #ITTI_TIMER_SCHED_PARAMS :
        #{
            #CPU_ID       = 1;
            #SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
            #SCHED_PRIORITY = 85;
        #};
        #S1U_SCHED_PARAMS :
        #{
            #CPU_ID       = 1;
            #SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
            #SCHED_PRIORITY = 84;
        #};
        #SX_SCHED_PARAMS :
        #{
            #CPU_ID       = 1;
            #SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
            #SCHED_PRIORITY = 84;
        #};
        #ASYNC_CMD_SCHED_PARAMS :
        #{
            #CPU_ID       = 1;
            #SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
            #SCHED_PRIORITY = 84;
        #};
    #};

    INTERFACES :
    {
        S1U_S12_S4_UP :
        {
            # S-GW binded interface for S1-U communication (GTPV1-U) can be ethernet interface, virtual ethernet interface, we don't advise wireless interfaces
            INTERFACE_NAME         = "ens3";  # STRING, interface name, YOUR NETWORK CONFIG HERE
            IPV4_ADDRESS           = "read";                                    # STRING, CIDR or "read to let app read interface configured IP address
            #PORT                   = 2152;                                     # Default is 2152
            #SCHED_PARAMS :
            #{
                #CPU_ID       = 2;
                #SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
                #SCHED_PRIORITY = 98;
            #};
        };
        SX :
        {
            # S/P-GW binded interface for SX communication
            INTERFACE_NAME         = "ens11"; # STRING, interface name
            IPV4_ADDRESS           = "read";                        # STRING, CIDR or "read" to let app read interface configured IP address
            #PORT                   = 8805;                         # Default is 8805
            #SCHED_PARAMS :
            #{
                #CPU_ID       = 1;
                #SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
                #SCHED_PRIORITY = 95;
            #};
        };
        SGI :
        {
           # No config to set, the software will set the SGi interface to the interface used for the default route.
            INTERFACE_NAME         = "ens10"; # STRING, interface name or "default_gateway"
            IPV4_ADDRESS           = "read";                         # STRING, CIDR or "read" to let app read interface configured IP address
            #SCHED_PARAMS :
            #{
                #CPU_ID       = 3;
                #SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
                #SCHED_PRIORITY = 98;
            #};
        };
    };

    PDN_NETWORK_LIST  = (
                      {NETWORK_IPV4 = "192.169.0.0/24"; SNAT = "yes";}, # SNAT Values in {yes, no}
                      {NETWORK_IPV4 = "12.1.1.0/24"; SNAT = "yes";} # SNAT Values in {yes, no}
                    );

    SPGW-C_LIST = (
         {IPV4_ADDRESS="192.168.122.1" ;}
    );
    
    NRF :
    {
      IPV4_ADDRESS = "192.168.122.1";  # YOUR NRF CONFIG HERE
      PORT         = 80;            # YOUR NRF CONFIG HERE (default: 80)
      API_VERSION  = "v2";   # YOUR NRF API VERSION FOR SBI CONFIG HERE
    };
    
    UPF_INFO = (
         { NSSAI_SST = 1, NSSAI_SD = "0", DNN = "ims"},
         ##{ NSSAI_SST = 222; NSSAI_SD = "123", DNN = "ctnet"}
         { NSSAI_SST = 1; NSSAI_SD = "0", DNN = "ctnet"}
        );                 
      
    SUPPORT_FEATURES: 
    {
      # STRING, {"yes", "no"}, 
      REGISTER_NRF = "no";  # Set to yes if UPF resgisters to an NRF
    } 
    
};

