From bc14704c197f320f0feb20704575f329083e11d4 Mon Sep 17 00:00:00 2001
From: Lionel Gauthier <lionel.gauthier@eurecom.fr>
Date: Fri, 5 Jun 2015 09:11:33 +0000
Subject: [PATCH] cleanup, comments

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7530 818b1a75-f10b-46b9-bf7c-635c3b92a50f
---
 cmake_targets/build_oai                   | 63 ++---------------------
 cmake_targets/tools/build_epc             | 16 ++++--
 cmake_targets/tools/build_hss             | 10 ++++
 cmake_targets/tools/epc.conf.in           | 53 +++++++++----------
 cmake_targets/tools/epc.local.enb.conf.in | 51 +++++++++---------
 cmake_targets/tools/run_hss               |  2 -
 6 files changed, 73 insertions(+), 122 deletions(-)

diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai
index 7331bbd7f5..3119361c22 100755
--- a/cmake_targets/build_oai
+++ b/cmake_targets/build_oai
@@ -44,6 +44,7 @@ XFORMS="False"
 VCD_TIMING="False"
 REL="Rel10"
 HW="EXMIMO"
+EPC=0
 
 function print_help() {
   echo_info '
@@ -337,7 +338,7 @@ function main() {
 
   # EXMIMO drivers & firmware loader
   ###############
-  if [ "$HW" = "EXMIMO" ] ; then
+  if [ "$HW" = "EXMIMO" -a "$EPC" = "0" ] ; then
     
     echo_info "Compiling Express MIMO 2 board drivers"
     mkdir -p $DIR/lte_noS1_build_oai/build
@@ -453,70 +454,14 @@ function main() {
   ##################
   if [ "$EPC" = "1" ] ; then
     echo_info "Compiling EPC"
-    cmake_file=$DIR/epc_build_oai/CMakeLists.txt
-    cp $DIR/epc_build_oai/CMakeLists.template $cmake_file
-    echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >>  $cmake_file
-    echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
-
-    [ "$CLEAN" = "1" ] && rm -rf $DIR/epc_build_oai/build
-    mkdir -p $DIR/epc_build_oai/build
-    cd $DIR/epc_build_oai/build
-    cmake ..
-    compilations \
-      epc_build_oai mme_gw \
-      mme_gw $dbin/mme_gw.$REL
-    # Only integrated mme+sgw+pgw is operational today
-    #    compilations \
-    #  epc_build_oai oai_sgw \
-    #  oai_sgw $dbin/oai_sgw.$REL
-    compilations \
-      epc_build_oai xt_GTPUAH_lib \
-      libxt_GTPUAH_lib.so $dbin
-    compilations \
-      epc_build_oai xt_GTPURH_lib \
-      libxt_GTPURH_lib.so $dbin
-    compilations \
-      epc_build_oai xt_GTPURH \
-      CMakeFiles/xt_GTPURH/xt_GTPURH.ko $dbin
-    compilations \
-      epc_build_oai xt_GTPUAH \
-      CMakeFiles/xt_GTPUAH/xt_GTPUAH.ko $dbin
-
-
     # Example HSS and EPC run on the same host
     if [ "$CLEAN" = "1" ]; then
+      $OPENAIR_DIR/cmake_targets/tools/build_epc --clean --debug --transport-tcp-only --transport-prefer-tcp --s6a-server
       $OPENAIR_DIR/cmake_targets/tools/build_hss --clean --debug --transport-tcp-only --transport-prefer-tcp --fqdn `hostname --fqdn` --connect-to-mme `hostname --fqdn`
     else
+      $OPENAIR_DIR/cmake_targets/tools/build_epc --debug --transport-tcp-only --transport-prefer-tcp --s6a-server
       $OPENAIR_DIR/cmake_targets/tools/build_hss --debug --transport-tcp-only --transport-prefer-tcp --fqdn `hostname --fqdn` --connect-to-mme `hostname --fqdn`
     fi
-    # example HHS and EPC run on separate hosts (can use SCTP)
-    # $OPENAIR_DIR/cmake_targets/tools/build_hss --debug
-
-    echo_info "Copying iptables libraries into system directory: /lib/xtables"
-    if [ -f  $dbin/libxt_GTPURH_lib.so ] ; then
-      $SUDO rm -f /lib/xtables/libxt_GTPURH.so /lib/xtables/libxt_GTPUAH.so
-      $SUDO ln -s $dbin/libxt_GTPURH_lib.so /lib/xtables/libxt_GTPURH.so
-      $SUDO ln -s $dbin/libxt_GTPUAH_lib.so /lib/xtables/libxt_GTPUAH.so
-    else
-      echo_warning "not installed GTP-U iptables: binaries not found"
-    fi
-
-    dconf=$OPENAIR_DIR/targets/bin
-    mkdir -p $dconf
-    #cp $ORIGIN_PATH/$CONFIG_FILE $dconf || echo_error "config file $ORIGIN_PATH/$CONFIG_FILE not found"
-
-    # Do EPC
-    if [ -f $DIR/epc_build_oai/build/mme_fd.conf ] ; then
-      cp $DIR/epc_build_oai/build/epc.*.conf $dconf
-      $SUDO cp -uv $DIR/epc_build_oai/build/mme_fd.conf  $FREEDIAMETER_PREFIX/etc/freeDiameter
-    else
-      echo_warning "not installed EPC config files: not found"
-    fi
-
-    # Do HSS
-    # bash doesn't like space char around = char
-    cp -uv $DIR/hss_build/build/hss.conf $dbin
-    $SUDO cp -uv $DIR/hss_build/build/hss_fd.conf $DIR/hss_build/build/acl.conf $FREEDIAMETER_PREFIX/etc/freeDiameter
 
 #   if [ "$INSTALL_SYSTEM_FILES" = "1" ] ;then
 #    if [ -f $dbin/hss.conf ] ; then
diff --git a/cmake_targets/tools/build_epc b/cmake_targets/tools/build_epc
index 9fa7a44d08..0f2cc9715f 100755
--- a/cmake_targets/tools/build_epc
+++ b/cmake_targets/tools/build_epc
@@ -51,16 +51,26 @@ function help()
   echo_error "  -C, --conf-files-only                     Generate only EPC configuration files (no build)"
   echo_error "  -d, --debug                               Compile with debug informations."
   echo_error "  -h, --help                                Print this help."
-  echo_error "  -g, --gtpu-easy-module                    Used for debugging GTPU (kernel module can be easily removed)"
+  echo_error "  -g, --gtpu-easy-module                    Used for debugging GTPU (kernel module can be easily removed, for dev and debug purpose only)"
   echo_error "  -G, --gtpu-full-speed                     Best GTPU throughput performance, but cannot be removed (default)."
-  echo_error "  -H, --hss                       hostname  HSS hostname (with FQDN), default is this host (hostname)."
+  echo_error "  -H, --hss                       hostname  HSS hostname (with FQDN), default is this host (`hostname --fqdn`)."
   echo_error "  -i, --check-installed-software            Check installed software packages necessary to build and run EPC (support Ubuntu 14.04)."
-  echo_error "  -r, --realm                     realm     Realm of the MME (if not specified, is extracted from this host FQDN)."
+  l_realm=`hostname --fqdn`
+  l_realm=${l_realm#*.}
+  echo_error "  -r, --realm                     realm     Realm of the MME (if not specified, is extracted from this host FQDN ($l_realm))."
   echo_error "  -s, --transport-sctp-only                 Diameter use SCTP only (TCP disabled)."
   echo_error "  -S, --s6a-server                          MME act as a server on s6a interface (useful when HSS and MME/EPC run on the same host)."
   echo_error "  -t, --transport-tcp-only                  Diameter use TCP only (SCTP disabled)."
   echo_error "  -T, --transport-prefer-tcp                Diameter prefer TCP."
   echo_error "  -v, --verbose                             Build process verbose."
+  echo_error " "
+  echo_error "Examples:"
+  echo_error " "
+  echo_error "Case 1 - EPC run on same HSS host"
+  echo_error "build_epc -d -S -t -T"
+  echo_error " "
+  echo_error "Case 2 - EPC and HSS do not run on same host"
+  echo_error "build_epc -d -s -H my_hss_fqdn"
 }
 
 
diff --git a/cmake_targets/tools/build_hss b/cmake_targets/tools/build_hss
index 90ed790914..6e0b1e927a 100755
--- a/cmake_targets/tools/build_hss
+++ b/cmake_targets/tools/build_hss
@@ -65,6 +65,16 @@ function help()
   echo_error "  -t, --transport-tcp-only                  Diameter use TCP (SCTP disabled)."
   echo_error "  -T, --transport-prefer-tcp                Diameter prefer TCP."
   echo_error "  -v, --verbose                             Build process verbose."
+  echo_error " "
+  echo_error "Examples:"
+  echo_error " "
+  echo_error "Case 1 - HSS run on same EPC host"
+  echo_error "build_hss -d -m my_epc_fqdn -d -t -T"
+  echo_error "or build_hss -d -m my_epc_fqdn -d -t -T -k 11111111111111111111111111111111"
+  echo_error " "
+  echo_error "Case 2 - HSS and EPC do not run on same host"
+  echo_error "build_hss -d -s"
+  echo_error "build_hss -d -s -k 11111111111111111111111111111111"
 }
 
 
diff --git a/cmake_targets/tools/epc.conf.in b/cmake_targets/tools/epc.conf.in
index daf624a0e2..1bd7795492 100755
--- a/cmake_targets/tools/epc.conf.in
+++ b/cmake_targets/tools/epc.conf.in
@@ -1,17 +1,17 @@
 MME : 
 {
 
-    REALM                          = "@REALM@";
+    REALM                          = "@REALM@";                                 # DO NOT CHANGE
     # 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;
+    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
+    # ASN1 VERBOSITY: none, info, annoying
     VERBOSITY                      = "none";
     
     
@@ -26,8 +26,8 @@ MME :
 
     S6A :
     {
-        S6A_CONF                   = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme_fd.conf";
-        HSS_HOSTNAME               = "@HSS_HOSTNAME@";
+        S6A_CONF                   = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme_fd.conf";# DO NOT CHANGE
+        HSS_HOSTNAME               = "@HSS_HOSTNAME@";                                     # DO NOT CHANGE
     };
 
     # ------- SCTP definitions
@@ -62,7 +62,7 @@ MME :
         # max values = 999.999:65535
         # maximum of 32 values, comma separated
         PLMN = ( 
-             {MCC="208" ; MNC="93";  TAC = "1"; }
+             {MCC="208" ; MNC="95";  TAC = "1"; }                               # YOUR PLMN CONFIG HERE
         );
     };
     
@@ -76,8 +76,8 @@ MME :
     
     NETWORK_INTERFACES : 
     {
-        MME_INTERFACE_NAME_FOR_S1_MME         = "eth2";
-        MME_IPV4_ADDRESS_FOR_S1_MME           = "192.168.27.101//24";
+        MME_INTERFACE_NAME_FOR_S1_MME         = "eth2";                         # YOUR NETWORK CONFIG HERE
+        MME_IPV4_ADDRESS_FOR_S1_MME           = "192.168.27.101//24";           # YOUR NETWORK CONFIG HERE
 
         MME_INTERFACE_NAME_FOR_S11_MME        = "none";
         MME_IPV4_ADDRESS_FOR_S11_MME          = "0.0.0.0/24";
@@ -91,48 +91,41 @@ S-GW :
         SGW_INTERFACE_NAME_FOR_S11              = "none";
         SGW_IPV4_ADDRESS_FOR_S11                = "0.0.0.0/24";
 
-        SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP    = "eth2";
+        SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP    = "eth2";                       # YOUR NETWORK CONFIG HERE
+        SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP      = "192.168.27.101/24";          # YOUR NETWORK CONFIG HERE
+        SGW_IPV4_PORT_FOR_S1U_S12_S4_UP         = 2152;                         # PREFER NOT CHANGE
 
-        SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP      = "192.168.27.101/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";
+        SGW_INTERFACE_NAME_FOR_S5_S8_UP         = "none";                       # DO NOT CHANGE
+        SGW_IPV4_ADDRESS_FOR_S5_S8_UP           = "0.0.0.0/24";                 # DO NOT CHANGE
     };
-    # 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_S5_S8          = "none";                         # DO NOT CHANGE
+        PGW_IPV4_ADDRESS_FOR_S5_S8            = "0.0.0.0/24";                   # DO NOT CHANGE
 
-        PGW_INTERFACE_NAME_FOR_SGI            = "eth0";
-        PGW_IPV4_ADDRESS_FOR_SGI              = "192.168.12.213/24";
-        # Option available only if GTPU in kernel configured
-        PGW_MASQUERADE_SGI                    = "yes";
+        PGW_INTERFACE_NAME_FOR_SGI            = "eth0";                         # YOUR NETWORK CONFIG HERE
+        PGW_IPV4_ADDRESS_FOR_SGI              = "192.168.12.213/24";            # YOUR NETWORK CONFIG HERE
+        PGW_MASQUERADE_SGI                    = "yes";                          # YOUR NETWORK CONFIG HERE
     };
     
     IP_ADDRESS_POOL :
     {
         IPV4_LIST = (
-                      "192.188.0.0/24",
-                      "192.188.1.0/24"
+                      "192.188.0.0/24",                                         # YOUR NETWORK CONFIG HERE
+                      "192.188.1.0/24"                                          # YOUR NETWORK CONFIG HERE
                     );
         IPV6_LIST = (
-                      "2014:02:26::0/120"
+                      "2014:02:26::0/120"                                       # YOUR NETWORK CONFIG HERE
                     );
     };
     
     #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";
+    DEFAULT_DNS_1_IPV4_ADDRESS = "192.168.12.100";                              # YOUR NETWORK CONFIG HERE
+    DEFAULT_DNS_2_IPV4_ADDRESS = "192.168.106.12";                              # YOUR NETWORK CONFIG HERE
 };
 
 
diff --git a/cmake_targets/tools/epc.local.enb.conf.in b/cmake_targets/tools/epc.local.enb.conf.in
index beaddf5d52..7d1a5dd476 100755
--- a/cmake_targets/tools/epc.local.enb.conf.in
+++ b/cmake_targets/tools/epc.local.enb.conf.in
@@ -1,7 +1,7 @@
 MME : 
 {
 
-    REALM                          = "@REALM@";
+    REALM                          = "@REALM@";                                 # DO NOT CHANGE
     # 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;
@@ -11,7 +11,7 @@ MME :
     MME_STATISTIC_TIMER            = 10;
     EMERGENCY_ATTACH_SUPPORTED     = "no";
     UNAUTHENTICATED_IMSI_SUPPORTED = "no";
-    # VERBOSITY: none, info, annoying
+    # ASN1 VERBOSITY: none, info, annoying
     VERBOSITY                      = "none";
     
     
@@ -26,8 +26,8 @@ MME :
 
     S6A :
     {
-        S6A_CONF                   = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme_fd.conf";
-        HSS_HOSTNAME               = "@HSS_HOSTNAME@";
+        S6A_CONF                   = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme_fd.conf";# DO NOT CHANGE
+        HSS_HOSTNAME               = "@HSS_HOSTNAME@";                                     # DO NOT CHANGE
     };
 
     # ------- SCTP definitions
@@ -62,7 +62,8 @@ MME :
         # max values = 999.999:65535
         # maximum of 32 values, comma separated
         PLMN = ( 
-             {MCC="208" ; MNC="93";  TAC = "1"; }
+             {MCC="208" ; MNC="95";  TAC = "1"; },                              # YOUR PLMN CONFIG HERE
+             {MCC="208" ; MNC="10";  TAC = "1"; }                               # YOUR PLMN CONFIG HERE
         );
     };
     
@@ -76,8 +77,8 @@ MME :
     
     NETWORK_INTERFACES : 
     {
-        MME_INTERFACE_NAME_FOR_S1_MME         = "tun2";
-        MME_IPV4_ADDRESS_FOR_S1_MME           = "192.188.2.2/24";
+        MME_INTERFACE_NAME_FOR_S1_MME         = "tun2";                         # DO NOT CHANGE
+        MME_IPV4_ADDRESS_FOR_S1_MME           = "192.188.2.2/24";               # DO NOT CHANGE
 
         MME_INTERFACE_NAME_FOR_S11_MME        = "none";
         MME_IPV4_ADDRESS_FOR_S11_MME          = "0.0.0.0/24";
@@ -91,47 +92,41 @@ S-GW :
         SGW_INTERFACE_NAME_FOR_S11              = "none";
         SGW_IPV4_ADDRESS_FOR_S11                = "0.0.0.0/24";
 
-        SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP    = "lo";
-        SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP      = "127.0.0.1/24";
-        # TODO  PORT NUMBER
-        SGW_IPV4_PORT_FOR_S1U_S12_S4_UP         = 2152;
+        SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP    = "lo";                         # DO NOT CHANGE
+        SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP      = "127.0.0.1/24";               # DO NOT CHANGE
+        SGW_IPV4_PORT_FOR_S1U_S12_S4_UP         = 2152;                         # PREFER NOT CHANGE
 
-        SGW_INTERFACE_NAME_FOR_S5_S8_UP         = "none";
-        SGW_IPV4_ADDRESS_FOR_S5_S8_UP           = "0.0.0.0/24";
+        SGW_INTERFACE_NAME_FOR_S5_S8_UP         = "none";                       # DO NOT CHANGE
+        SGW_IPV4_ADDRESS_FOR_S5_S8_UP           = "0.0.0.0/24";                 # DO NOT CHANGE
     };
-    # 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_S5_S8          = "none";                         # DO NOT CHANGE
+        PGW_IPV4_ADDRESS_FOR_S5_S8            = "0.0.0.0/24";                   # DO NOT CHANGE
 
-        PGW_INTERFACE_NAME_FOR_SGI            = "eth0";
-        PGW_IPV4_ADDRESS_FOR_SGI              = "192.168.12.213/24";
-        # Option available only if GTPU in kernel configured
-        PGW_MASQUERADE_SGI                    = "yes";
+        PGW_INTERFACE_NAME_FOR_SGI            = "eth0";                         # YOUR NETWORK CONFIG HERE
+        PGW_IPV4_ADDRESS_FOR_SGI              = "192.168.12.213/24";            # YOUR NETWORK CONFIG HERE
+        PGW_MASQUERADE_SGI                    = "yes";                          # YOUR NETWORK CONFIG HERE
     };
     
     IP_ADDRESS_POOL :
     {
         IPV4_LIST = (
-                      "192.187.0.0/24",
-                      "192.187.1.0/24"
+                      "192.187.0.0/24",                                         # YOUR NETWORK CONFIG HERE
+                      "192.187.1.0/24"                                          # YOUR NETWORK CONFIG HERE
                     );
         IPV6_LIST = (
-                      "2014:02:26::0/120"
+                      "2014:02:26::0/120"                                       # YOUR NETWORK CONFIG HERE
                     );
     };
     
     #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";
+    DEFAULT_DNS_1_IPV4_ADDRESS = "192.168.12.100";                              # YOUR NETWORK CONFIG HERE
+    DEFAULT_DNS_2_IPV4_ADDRESS = "192.168.106.12";                              # YOUR NETWORK CONFIG HERE
 };
 
 
diff --git a/cmake_targets/tools/run_hss b/cmake_targets/tools/run_hss
index 45025854b2..03b2132d96 100755
--- a/cmake_targets/tools/run_hss
+++ b/cmake_targets/tools/run_hss
@@ -80,8 +80,6 @@ function main()
     esac
   done
 
-  check_for_root_rights
-
   set_openair_env 
   cecho "OPENAIR_DIR    = $OPENAIR_DIR" $green
   cecho "OPENAIR1_DIR    = $OPENAIR1_DIR" $green
-- 
GitLab