From 8647c56fb85a62a3e3933e676af7e80ab281c694 Mon Sep 17 00:00:00 2001
From: thomasl <thomasl@eurecom.fr>
Date: Mon, 23 Mar 2015 17:42:20 +0000
Subject: [PATCH] merge back from 0.3 branch to trunk

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6880 818b1a75-f10b-46b9-bf7c-635c3b92a50f
---
 cmake_targets/CMakeLists.txt              |   8 +-
 cmake_targets/build_oai.bash              |   4 +-
 cmake_targets/hss_build/CMakeLists.txt    |   6 +-
 cmake_targets/hss_build/acl.conf.in       |  19 +++
 cmake_targets/hss_build/hss.conf.in       |  11 ++
 cmake_targets/hss_build/hss_fd.conf.in    | 106 ++++++++++++++++
 cmake_targets/tools/build_helper.bash     |  11 +-
 cmake_targets/tools/epc.conf.in           | 142 ++++++++++++++++++++++
 cmake_targets/tools/epc.local.enb.conf.in | 142 ++++++++++++++++++++++
 cmake_targets/tools/s6a.conf.in           |  97 +++++++++++++++
 10 files changed, 534 insertions(+), 12 deletions(-)
 create mode 100644 cmake_targets/hss_build/acl.conf.in
 create mode 100644 cmake_targets/hss_build/hss.conf.in
 create mode 100644 cmake_targets/hss_build/hss_fd.conf.in
 create mode 100755 cmake_targets/tools/epc.conf.in
 create mode 100755 cmake_targets/tools/epc.local.enb.conf.in
 create mode 100644 cmake_targets/tools/s6a.conf.in

diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index a7c9c8c857..00afe8eb67 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -807,7 +807,7 @@ set(L2_SRC
   ${RRC_DIR}/rrc_UE.c
   ${RRC_DIR}/rrc_eNB.c
   ${RRC_DIR}/rrc_eNB_S1AP.c
-  ${RRC_DIR}/rrc_eNB_UE_context.c
+  #${RRC_DIR}/rrc_eNB_UE_context.c
   ${RRC_DIR}/rrc_common.c
   ${RRC_DIR}/L2_interface.c
   )
@@ -1495,13 +1495,13 @@ add_option(TRANSPORT_option  No_SCTP     "No_TCP or No_SCTP")
 add_option(TRANSPORT_PREFER_TCP_option  Prefer_TCP "Prefer_TCP or null string ")
 
 configure_file(
-  ${OPENAIRCN_DIR}/UTILS/CONF/s6a.conf.in 
+  ${OPENAIR_CMAKE}/tools/s6a.conf.in 
   ${CMAKE_CURRENT_BINARY_DIR}/epc_s6a.conf)
 configure_file(
-  ${OPENAIR_TARGETS}/PROJECTS/GENERIC-LTE-EPC/CONF/epc.local.enb.conf.in 
+  ${OPENAIR_CMAKE}/tools/epc.local.enb.conf.in 
   ${CMAKE_CURRENT_BINARY_DIR}/epc.local.enb.conf)
 configure_file(
-  ${OPENAIR_TARGETS}/PROJECTS/GENERIC-LTE-EPC/CONF/epc.conf.in 
+  ${OPENAIR_CMAKE}/tools/epc.conf.in 
   ${CMAKE_CURRENT_BINARY_DIR}/epc.conf)
 
 # oai_sgw is SGW  node implementation
diff --git a/cmake_targets/build_oai.bash b/cmake_targets/build_oai.bash
index d377b0a5bd..1e0f12080a 100755
--- a/cmake_targets/build_oai.bash
+++ b/cmake_targets/build_oai.bash
@@ -212,8 +212,8 @@ echo "set(XFORMS $XFORMS )" >>  $cmake_file
 echo "set(RRC_ASN1_VERSION \"${REL}\")" >>  $cmake_file
 echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >>  $cmake_file
 echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
-mkdir -p $DIR/oaisim_build_oai/build
-cd $DIR/oaisim_build_oai/build
+mkdir -p $DIR/oaisim_mme_build_oai/build
+cd $DIR/oaisim_mme_build_oai/build
 cmake ..
 
 # For unitary test simulators
diff --git a/cmake_targets/hss_build/CMakeLists.txt b/cmake_targets/hss_build/CMakeLists.txt
index 287c3a2ab5..e3bdf92821 100755
--- a/cmake_targets/hss_build/CMakeLists.txt
+++ b/cmake_targets/hss_build/CMakeLists.txt
@@ -286,13 +286,13 @@ ELSE( FD_SERVER_IP_BIND_LIST )
 ENDIF( FD_SERVER_IP_BIND_LIST )
 
 configure_file(
-  ${OPENAIRHSS_DIR}/conf/hss_fd.conf.in  
+  ${CMAKE_CURRENT_SOURCE_DIR}/hss_fd.conf.in  
   ${CMAKE_CURRENT_BINARY_DIR}/hss_fd.conf)
 configure_file(
-  ${OPENAIRHSS_DIR}/conf/hss.conf.in  
+  ${CMAKE_CURRENT_SOURCE_DIR}/hss.conf.in  
   ${CMAKE_CURRENT_BINARY_DIR}/hss.conf)
 configure_file(
-  ${OPENAIRHSS_DIR}/conf/acl.conf.in  
+  ${CMAKE_CURRENT_SOURCE_DIR}/acl.conf.in  
   ${CMAKE_CURRENT_BINARY_DIR}/acl.conf)
                 
 install (TARGETS openair-hss 
diff --git a/cmake_targets/hss_build/acl.conf.in b/cmake_targets/hss_build/acl.conf.in
new file mode 100644
index 0000000000..7702690f78
--- /dev/null
+++ b/cmake_targets/hss_build/acl.conf.in
@@ -0,0 +1,19 @@
+# Configuration file for the peer whitelist extension.
+#
+# This extension is meant to allow connection from remote peers, without actively
+# maintaining this connection ourselves (as it would be the case by declaring the
+# peer in a ConnectPeer directive).
+# The format of this file is very simple. It contains a list of peer names
+# separated by spaces or newlines.
+#
+# The peer name must be a fqdn. We allow also a special "*" character as the
+# first label of the fqdn, to allow all fqdn with the same domain name.
+# Example: *.example.net will allow host1.example.net and host2.example.net
+#
+# At the beginning of a line, the following flags are allowed (case sensitive) -- either or both can appear:
+# ALLOW_OLD_TLS : we accept unprotected CER/CEA exchange with Inband-Security-Id = TLS
+# ALLOW_IPSEC   : we accept implicitly protected connection with with peer (Inband-Security-Id = IPSec)
+# It is specified for example as:
+# ALLOW_IPSEC vpn.example.net vpn2.example.net *.vpn.example.net
+
+ALLOW_OLD_TLS   @REMOTE_PEER_WHITELIST@
diff --git a/cmake_targets/hss_build/hss.conf.in b/cmake_targets/hss_build/hss.conf.in
new file mode 100644
index 0000000000..4c5e4c7d93
--- /dev/null
+++ b/cmake_targets/hss_build/hss.conf.in
@@ -0,0 +1,11 @@
+## MySQL mandatory options
+MYSQL_server = "@MYSQL_server@";
+MYSQL_user   = "@MYSQL_user@";
+MYSQL_pass   = "@MYSQL_pass@";
+MYSQL_db     = "@MYSQL_db@";
+
+## HSS options
+OPERATOR_key = "@OPERATOR_key@";
+
+## Freediameter options
+FD_conf = "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss_fd.conf";
diff --git a/cmake_targets/hss_build/hss_fd.conf.in b/cmake_targets/hss_build/hss_fd.conf.in
new file mode 100644
index 0000000000..43fc8f5e4b
--- /dev/null
+++ b/cmake_targets/hss_build/hss_fd.conf.in
@@ -0,0 +1,106 @@
+# -------- Local ---------
+# The first parameter in this section is Identity, which will be used to 
+# identify this peer in the Diameter network. The Diameter protocol mandates 
+# that the Identity used is a valid FQDN for the peer. This parameter can be 
+# omitted, in that case the framework will attempt to use system default value 
+# (as returned by hostname --fqdn). 
+Identity = "@HSS_FQDN@";
+
+# In Diameter, all peers also belong to a Realm. If the realm is not specified,
+# the framework uses the part of the Identity after the first dot.
+Realm = "@REALM@";
+
+
+# This parameter is mandatory, even if it is possible to disable TLS for peers 
+# connections. A valid certificate for this Diameter Identity is expected. 
+TLS_Cred = "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss.cert.pem", "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss.key.pem";
+TLS_CA = "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss.cacert.pem";
+
+
+# Disable use of TCP protocol (only listen and connect in SCTP)
+# Default : TCP enabled
+@TRANSPORT_option@;
+
+
+# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
+# Prefer TCP instead of SCTP for establishing new connections.
+# This setting may be overwritten per peer in peer configuration blocs.
+# Default : SCTP is attempted first.
+@TRANSPORT_PREFER_TCP_option@;
+
+
+# Disable use of IPv6 addresses (only IP)
+# Default : IPv6 enabled
+No_IPv6;
+
+
+# Overwrite the number of SCTP streams. This value should be kept low, 
+# especially if you are using TLS over SCTP, because it consumes a lot of 
+# resources in that case. See tickets 19 and 27 for some additional details on 
+# this.
+# Limit the number of SCTP streams
+SCTP_streams = 3;
+
+
+# By default, freeDiameter acts as a Diameter Relay Agent by forwarding all 
+# messages it cannot handle locally. This parameter disables this behavior.
+NoRelay;
+
+
+TLS_old_method;
+
+
+# Number of parallel threads that will handle incoming application messages. 
+# This parameter may be deprecated later in favor of a dynamic number of threads
+# depending on the load. 
+AppServThreads = @AppServThreads@;
+
+# Specify the addresses on which to bind the listening server. This must be 
+# specified if the framework is unable to auto-detect these addresses, or if the
+# auto-detected values are incorrect. Note that the list of addresses is sent 
+# in CER or CEA message, so one should pay attention to this parameter if some 
+# adresses should be kept hidden. 
+@ListenOn@;
+
+@DIAMETER_PORT@;
+@DIAMETER_SEC_PORT@;
+
+
+# -------- Extensions ---------
+
+# Uncomment (and create rtd.conf) to specify routing table for this peer.
+#LoadExtension = "rt_default.fdx" : "rtd.conf";
+
+# Uncomment (and create acl.conf) to allow incoming connections from other peers.
+LoadExtension = "acl_wl.fdx" : "@FREEDIAMETER_PATH@/../etc/freeDiameter/acl.conf";
+
+# Uncomment to display periodic state information
+#LoadExtension = "dbg_monitor.fdx";
+
+# Uncomment to enable an interactive Python interpreter session.
+# (see doc/dbg_interactive.py.sample for more information)
+#LoadExtension = "dbg_interactive.fdx";
+
+# Load the RFC4005 dictionary objects
+#LoadExtension = "dict_nasreq.fdx";
+
+LoadExtension = "dict_nas_mipv6.fdx";
+LoadExtension = "dict_s6a.fdx";
+
+# Load RFC4072 dictionary objects
+#LoadExtension = "dict_eap.fdx";
+
+# Load the Diameter EAP server extension (requires diameap.conf)
+#LoadExtension = "app_diameap.fdx" : "diameap.conf";
+
+# Load the Accounting Server extension (requires app_acct.conf)
+#LoadExtension = "app_acct.fdx" : "app_acct.conf";
+
+# -------- Peers ---------
+
+# The framework will actively attempt to establish and maintain a connection
+# with the peers listed here.
+# For only accepting incoming connections, see the acl_wl.fx extension.
+
+#ConnectPeer = "ubuntu.localdomain" { ConnectTo = "127.0.0.1"; No_TLS; };
+@ConnectPeer@ = "@MME_FQDN@"  { ConnectTo = "@MME_IP@"; No_IPv6; No_TLS ; port = 3870; };
\ No newline at end of file
diff --git a/cmake_targets/tools/build_helper.bash b/cmake_targets/tools/build_helper.bash
index ed511d8b1d..d1da7ec613 100755
--- a/cmake_targets/tools/build_helper.bash
+++ b/cmake_targets/tools/build_helper.bash
@@ -139,9 +139,14 @@ clean_kernel() {
 }
 
 clean_all_files() {
- dir=$OPENAIR_DIR/cmake
- rm -rf $dir/log $OPENAIR_TARGETS/bin $dir/autotests/bin $dir/autotests/log $dir/autotests/*/buid $dir/build_*/build
- rm -rf $dir/oaisim_build_oai/CMakeLists.txt $dir/epc_build_oai/CMakeLists.txt $dir/hss_build/BUILD
+ dir=$OPENAIR_DIR/cmake_targets
+ rm -rf $dir/log $OPENAIR_TARGETS/bin/* 
+ rm -rf $dir/lte_build_oai $dir/lte-simulators/build
+ rm -rf $dir/epc_build_oai/build $dir/epc_build_oai/CMakeLists.txt
+ rm -rf $dir/oaisim_build_oai/build $dir/oaisim_build_oai/CMakeLists.txt
+ rm -rf $dir/oaisim_mme_build_oai/build $dir/oaisim_mme_build_oai/CMakeLists.txt
+ rm -rf $dir/hss_build/BUILD
+ rm -rf $dir/autotests/bin $dir/autotests/log $dir/autotests/*/build 
 }
 
 ###################################
diff --git a/cmake_targets/tools/epc.conf.in b/cmake_targets/tools/epc.conf.in
new file mode 100755
index 0000000000..f4ff736428
--- /dev/null
+++ b/cmake_targets/tools/epc.conf.in
@@ -0,0 +1,142 @@
+MME : 
+{
+
+    REALM                          = "@REALM@";
+    # Define the limits of the system in terms of served eNB and served UE.
+    # When the limits will be reached, overload procedure will take place.
+    MAXENB                         = 10;
+    MAXUE                          = 100;
+    RELATIVE_CAPACITY              = 10;
+    # Display statistics about whole system (expressed in seconds)
+    MME_STATISTIC_TIMER            = 10;
+    EMERGENCY_ATTACH_SUPPORTED     = "no";
+    UNAUTHENTICATED_IMSI_SUPPORTED = "no";
+    # VERBOSITY: none, info, annoying
+    VERBOSITY                      = "none";
+    
+    
+    IP_CAPABILITY = "IPV4V6";
+    
+    
+    INTERTASK_INTERFACE :
+    {
+        # max queue size per task
+        ITTI_QUEUE_SIZE            = 2000000;
+    };
+
+    S6A :
+    {
+        S6A_CONF                   = "@FREEDIAMETER_PATH@/../etc/freeDiameter/epc_s6a.conf";
+        HSS_HOSTNAME               = "@HSS_HOSTNAME@";
+    };
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 32;
+        SCTP_OUTSTREAMS = 32;
+    };
+
+    # ------- S1AP definitions
+    S1AP : 
+    {
+        # outcome drop timer value (seconds)
+        S1AP_OUTCOME_TIMER = 10;
+    };
+
+    # ------- MME served GUMMEI
+    GUMMEI :
+    {
+        # MME code DEFAULT = 0
+        # size = 8 bits
+        # maximum of 256 values, comma separated
+        MME_CODE = [ 1, 30 , 31, 32, 33, 34, 35, 36, 56 , 29 , 8 ];
+
+        # MME GROUP ID DEFAULT = 0
+        # size = 16 bits
+        # maximum of 65535 values, comma separated
+        MME_GID = [ 32768 , 4 , 5 , 30 , 8 , 9 , 50021 ];
+
+        # TA (mcc.mnc:tracking area code) DEFAULT = 208.34:0
+        # max values = 999.999:65535
+        # maximum of 32 values, comma separated
+        PLMN = ( 
+             {MCC="208" ; MNC="92";  TAC = "1"; },
+             {MCC="208" ; MNC="10";  TAC = "1"; },
+             {MCC="209" ; MNC="130"; TAC = "4"; },
+             {MCC="209" ; MNC="012"; TAC = "2"; },
+             {MCC="208" ; MNC="35";  TAC = "8"; }
+        );
+    };
+    
+    NAS :
+    {
+        # 3GPP TS 33.401 section 7.2.4.3 Procedures for NAS algorithm selection
+        # decreasing preference goes from left to right
+        ORDERED_SUPPORTED_INTEGRITY_ALGORITHM_LIST = [ "EIA2" , "EIA1" , "EIA0" ];
+        ORDERED_SUPPORTED_CIPHERING_ALGORITHM_LIST = [ "EEA0" , "EEA1" , "EEA2" ];
+    };
+    
+    NETWORK_INTERFACES : 
+    {
+        MME_INTERFACE_NAME_FOR_S1_MME         = "eth0";
+        MME_IPV4_ADDRESS_FOR_S1_MME           = "192.168.13.17//24";
+
+        MME_INTERFACE_NAME_FOR_S11_MME        = "none";
+        MME_IPV4_ADDRESS_FOR_S11_MME          = "0.0.0.0/24";
+    };
+};
+
+S-GW : 
+{
+    NETWORK_INTERFACES : 
+    {
+        SGW_INTERFACE_NAME_FOR_S11              = "none";
+        SGW_IPV4_ADDRESS_FOR_S11                = "0.0.0.0/24";
+
+        SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP    = "eth0";
+        SGW_INTERFACE_MTU_FOR_S1U_S12_S4_UP     = 1564
+        SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP      = "192.168.13.17/24";
+        # TODO  PORT NUMBER
+        SGW_IPV4_PORT_FOR_S1U_S12_S4_UP         = 2152;
+
+        SGW_INTERFACE_NAME_FOR_S5_S8_UP         = "none";
+        SGW_IPV4_ADDRESS_FOR_S5_S8_UP           = "0.0.0.0/24";
+    };
+    # Only for tests
+    SGW_DROP_UPLINK_S1U_TRAFFIC                 = "no";
+    # Only for tests
+    SGW_DROP_DOWNLINK_S1U_TRAFFIC               = "no";
+};
+
+P-GW = 
+{
+    NETWORK_INTERFACES : 
+    {
+        PGW_INTERFACE_NAME_FOR_S5_S8          = "none";
+        PGW_IPV4_ADDRESS_FOR_S5_S8            = "0.0.0.0/24";
+
+        PGW_INTERFACE_NAME_FOR_SGI            = "eth1";
+        PGW_IPV4_ADDRESS_FOR_SGI              = "192.168.14.17/24";
+        # Option available only if GTPU in kernel configured
+        PGW_MASQUERADE_SGI                    = "no";
+    };
+    
+    IP_ADDRESS_POOL :
+    {
+        IPV4_LIST = (
+                      "192.168.0.0/24",
+                      "192.168.1.0/24"
+                    );
+        IPV6_LIST = (
+                      "2014:02:26::0/120"
+                    );
+    };
+    
+    #WARNING DNS ARE HARDCODED IN openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c:305
+    DEFAULT_DNS_1_IPV4_ADDRESS = "192.168.12.100";
+    DEFAULT_DNS_2_IPV4_ADDRESS = "192.168.106.12";
+};
+
+
diff --git a/cmake_targets/tools/epc.local.enb.conf.in b/cmake_targets/tools/epc.local.enb.conf.in
new file mode 100755
index 0000000000..3ff6ed743c
--- /dev/null
+++ b/cmake_targets/tools/epc.local.enb.conf.in
@@ -0,0 +1,142 @@
+MME : 
+{
+
+    REALM                          = "@REALM@";
+    # Define the limits of the system in terms of served eNB and served UE.
+    # When the limits will be reached, overload procedure will take place.
+    MAXENB                         = 10;
+    MAXUE                          = 100;
+    RELATIVE_CAPACITY              = 10;
+    # Display statistics about whole system (expressed in seconds)
+    MME_STATISTIC_TIMER            = 10;
+    EMERGENCY_ATTACH_SUPPORTED     = "no";
+    UNAUTHENTICATED_IMSI_SUPPORTED = "no";
+    # VERBOSITY: none, info, annoying
+    VERBOSITY                      = "none";
+    
+    
+    IP_CAPABILITY = "IPV4V6";
+    
+    
+    INTERTASK_INTERFACE :
+    {
+        # max queue size per task
+        ITTI_QUEUE_SIZE            = 2000000;
+    };
+
+    S6A :
+    {
+        S6A_CONF                   = "@FREEDIAMETER_PATH@/../etc/freeDiameter/epc_s6a.conf";
+        HSS_HOSTNAME               = "@HSS_HOSTNAME@";
+    };
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 32;
+        SCTP_OUTSTREAMS = 32;
+    };
+
+    # ------- S1AP definitions
+    S1AP : 
+    {
+        # outcome drop timer value (seconds)
+        S1AP_OUTCOME_TIMER = 10;
+    };
+
+    # ------- MME served GUMMEI
+    GUMMEI :
+    {
+        # MME code DEFAULT = 0
+        # size = 8 bits
+        # maximum of 256 values, comma separated
+        MME_CODE = [ 1, 30 , 31, 32, 33, 34, 35, 36, 56 , 29 , 8 ];
+
+        # MME GROUP ID DEFAULT = 0
+        # size = 16 bits
+        # maximum of 65535 values, comma separated
+        MME_GID = [ 32768 , 4 , 5 , 30 , 8 , 9 , 50021 ];
+
+        # TA (mcc.mnc:tracking area code) DEFAULT = 208.34:0
+        # max values = 999.999:65535
+        # maximum of 32 values, comma separated
+        PLMN = ( 
+             {MCC="208" ; MNC="92";  TAC = "1"; },
+             {MCC="208" ; MNC="10";  TAC = "1"; },
+             {MCC="209" ; MNC="130"; TAC = "4"; },
+             {MCC="209" ; MNC="012"; TAC = "2"; },
+             {MCC="208" ; MNC="35";  TAC = "8"; }
+        );
+    };
+    
+    NAS :
+    {
+        # 3GPP TS 33.401 section 7.2.4.3 Procedures for NAS algorithm selection
+        # decreasing preference goes from left to right
+        ORDERED_SUPPORTED_INTEGRITY_ALGORITHM_LIST = [ "EIA2" , "EIA1" , "EIA0" ];
+        ORDERED_SUPPORTED_CIPHERING_ALGORITHM_LIST = [ "EEA0" , "EEA1" , "EEA2" ];
+    };
+    
+    NETWORK_INTERFACES : 
+    {
+        MME_INTERFACE_NAME_FOR_S1_MME         = "tun2";
+        MME_IPV4_ADDRESS_FOR_S1_MME           = "192.188.2.2/24";
+
+        MME_INTERFACE_NAME_FOR_S11_MME        = "none";
+        MME_IPV4_ADDRESS_FOR_S11_MME          = "0.0.0.0/24";
+    };
+};
+
+S-GW : 
+{
+    NETWORK_INTERFACES : 
+    {
+        SGW_INTERFACE_NAME_FOR_S11              = "none";
+        SGW_IPV4_ADDRESS_FOR_S11                = "0.0.0.0/24";
+
+        SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP    = "tun3";
+        SGW_INTERFACE_MTU_FOR_S1U_S12_S4_UP     = 1564
+        SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP      = "192.188.3.3/24";
+        # TODO  PORT NUMBER
+        SGW_IPV4_PORT_FOR_S1U_S12_S4_UP         = 2152;
+
+        SGW_INTERFACE_NAME_FOR_S5_S8_UP         = "none";
+        SGW_IPV4_ADDRESS_FOR_S5_S8_UP           = "0.0.0.0/24";
+    };
+    # Only for tests
+    SGW_DROP_UPLINK_S1U_TRAFFIC                 = "no";
+    # Only for tests
+    SGW_DROP_DOWNLINK_S1U_TRAFFIC               = "no";
+};
+
+P-GW = 
+{
+    NETWORK_INTERFACES : 
+    {
+        PGW_INTERFACE_NAME_FOR_S5_S8          = "none";
+        PGW_IPV4_ADDRESS_FOR_S5_S8            = "0.0.0.0/24";
+
+        PGW_INTERFACE_NAME_FOR_SGI            = "eth1";
+        PGW_IPV4_ADDRESS_FOR_SGI              = "192.168.13.82/24";
+        # Option available only if GTPU in kernel configured
+        PGW_MASQUERADE_SGI                    = "yes";
+    };
+    
+    IP_ADDRESS_POOL :
+    {
+        IPV4_LIST = (
+                      "192.168.0.0/24",
+                      "192.168.1.0/24"
+                    );
+        IPV6_LIST = (
+                      "2014:02:26::0/120"
+                    );
+    };
+    
+    #WARNING DNS ARE HARDCODED IN openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c:305
+    DEFAULT_DNS_1_IPV4_ADDRESS = "192.168.12.100";
+    DEFAULT_DNS_2_IPV4_ADDRESS = "192.168.106.12";
+};
+
+
diff --git a/cmake_targets/tools/s6a.conf.in b/cmake_targets/tools/s6a.conf.in
new file mode 100644
index 0000000000..000544ad75
--- /dev/null
+++ b/cmake_targets/tools/s6a.conf.in
@@ -0,0 +1,97 @@
+# -------- Local ---------
+
+# Uncomment if the framework cannot resolv it.
+Identity = "@MME_FQDN@";
+Realm = "@REALM@";
+
+# TLS configuration (see previous section)
+TLS_Cred = "${FREEDIAMETER_PATH}/../etc/freeDiameter/mme.cert.pem",
+           "${FREEDIAMETER_PATH}/../etc/freeDiameter/mme.key.pem";
+TLS_CA   = "${FREEDIAMETER_PATH}/../etc/freeDiameter/mme.cacert.pem";
+
+# Disable use of TCP protocol (only listen and connect in SCTP)
+# Default : TCP enabled
+@TRANSPORT_option@;
+
+# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
+# Prefer TCP instead of SCTP for establishing new connections.
+# This setting may be overwritten per peer in peer configuration blocs.
+# Default : SCTP is attempted first.
+@TRANSPORT_PREFER_TCP_option@;
+
+
+No_IPv6;
+
+# Overwrite the number of SCTP streams. This value should be kept low, 
+# especially if you are using TLS over SCTP, because it consumes a lot of 
+# resources in that case. See tickets 19 and 27 for some additional details on 
+# this.
+# Limit the number of SCTP streams
+SCTP_streams = 3;
+
+
+# By default, freeDiameter acts as a Diameter Relay Agent by forwarding all 
+# messages it cannot handle locally. This parameter disables this behavior.
+NoRelay;
+
+
+TLS_old_method;
+
+
+AppServThreads = 1;
+
+# Specify the addresses on which to bind the listening server. This must be 
+# specified if the framework is unable to auto-detect these addresses, or if the
+# auto-detected values are incorrect. Note that the list of addresses is sent 
+# in CER or CEA message, so one should pay attention to this parameter if some 
+# adresses should be kept hidden. 
+@ListenOn@
+
+@DIAMETER_PORT@;
+@DIAMETER_SEC_PORT@;
+
+# -------- Extensions ---------
+
+# Uncomment (and create rtd.conf) to specify routing table for this peer.
+#LoadExtension = "rt_default.fdx" : "rtd.conf";
+
+# Uncomment (and create acl.conf) to allow incoming connections from other peers.
+#LoadExtension = "acl_wl.fdx" : "acl.conf";
+
+# Uncomment to display periodic state information
+#LoadExtension = "dbg_monitor.fdx";
+
+# Uncomment to enable an interactive Python interpreter session.
+# (see doc/dbg_interactive.py.sample for more information)
+#LoadExtension = "dbg_interactive.fdx";
+
+# Load the RFC4005 dictionary objects
+#LoadExtension = "dict_nasreq.fdx";
+
+LoadExtension = "dict_nas_mipv6.fdx";
+LoadExtension = "dict_s6a.fdx";
+
+# Load RFC4072 dictionary objects
+#LoadExtension = "dict_eap.fdx";
+
+# Load the Diameter EAP server extension (requires diameap.conf)
+#LoadExtension = "app_diameap.fdx" : "diameap.conf";
+
+# Load the Accounting Server extension (requires app_acct.conf)
+#LoadExtension = "app_acct.fdx" : "app_acct.conf";
+
+# -------- Peers ---------
+
+# The framework will actively attempt to establish and maintain a connection
+# with the peers listed here.
+# For only accepting incoming connections, see the acl_wl.fx extension.
+
+# ConnectPeer
+# Declare a remote peer to which this peer must maintain a connection. 
+# In addition, this allows specifying non-default parameters for this peer only
+# (for example disable SCTP with this peer, or use RFC3588-flavour TLS). 
+# Note that by default, if a peer is not listed as a ConnectPeer entry, an 
+# incoming connection from this peer will be rejected. If you want to accept 
+# incoming connections from other peers, see the acl_wl.fdx? extension which 
+# allows exactly this. 
+@ConnectPeer@ = "@HSS_FQDN@" { ConnectTo = "@HSS_IP@"; No_IPv6; No_TLS ; port = 3868; Realm = "@REALM@"; };
-- 
2.26.2