NETAPI ipsecmgr daemon changes to integrate with Resource Manager(RM)
authorTinku Mannan <tmannan@ti.com>
Wed, 14 May 2014 18:08:42 +0000 (14:08 -0400)
committerTinku Mannan <tmannan@ti.com>
Wed, 14 May 2014 18:48:04 +0000 (14:48 -0400)
ti/runtime/netapi/applications/ipsec_offload/ipsecmgr/build/Makefile
ti/runtime/netapi/applications/ipsec_offload/ipsecmgr/src/netapi_ipsecmgr.c
ti/runtime/netapi/test/build/Makefile

index 3dc7f108a07b5178848d6d1900652da4c3218eb8..916e9ce3bfd4ee22fc11741c53850efb1bb64873 100755 (executable)
@@ -33,6 +33,7 @@ PKTLIB_LIB=pktlib
 IPSECMGR_SNOOP_LIB=ipsecmgr_snoop
 IPSECMGR_IPC_LIB=ipsecmgr_ipc
 IPSECMGR_SYSLOG_LIB=ipsecmgr_syslog
+RM_LIB = -lrm
 
 ifeq ($(DEVICE), k2h)
 CSL_DEVICE = -DDEVICE_K2H
@@ -83,19 +84,25 @@ LIBNL_LD_OPTS = -lnl-3 -lnl-xfrm -lnl-route-3
 
 LD_OPTS += -pthread -lrt
 
-LD_OPTS += -L $(ARMV7LIBDIR) -L $(PDK_ARMV7LIBDIR) -l$(IPSECMGR_SNOOP_LIB) -l$(IPSECMGR_IPC_LIB) -l$(IPSECMGR_SYSLOG_LIB) -l$(NETAPI_LIB) -l$(NWAL_LIB) -l$(PKTLIB_LIB) -l$(SA_LIB) -l$(QMSS_LIB) -l$(CPPI_LIB) -l$(PA_LIB) -l$(HPLIB_LIB) $(LIBNL_LD_OPTS)
+LD_OPTS += -L $(ARMV7LIBDIR) -L $(PDK_ARMV7LIBDIR) -l$(IPSECMGR_SNOOP_LIB) -l$(IPSECMGR_IPC_LIB) -l$(IPSECMGR_SYSLOG_LIB) -l$(NETAPI_LIB) -l$(NWAL_LIB) -l$(PKTLIB_LIB) -l$(SA_LIB) -l$(QMSS_LIB) -l$(CPPI_LIB) -l$(PA_LIB) -l$(HPLIB_LIB) $(RM_LIB) $(LIBNL_LD_OPTS)
 ###############################################################################
 # List of modules and their files
 ###############################################################################
 DAEMON_SRC_DIR ?= ../src/
+UTILS_SRC_DIR ?= $(NETAPI_SRC_DIR)/utils
+
 DAEMON_FILES = \
         netapi_ipsecmgr.c \
        netapilib_interface.c
 
-VPATH = $(DAEMON_SRC_DIR)
-FILES = $(DAEMON_FILES)
+UTIL_FILES = \
+        sockutils.c \
+       netapi_util_rm.c
+
+VPATH = $(DAEMON_SRC_DIR):$(UTILS_SRC_DIR)
+FILES = $(DAEMON_FILES) $(UTIL_FILES)
 
-INCL_DIRS= $(IPSECMGR_IFACE_DIR) $(IPSECMGR_UTIL_IFACE_DIR) $(NETAPI_INC_DIR) $(CPPI_INC_DIR) $(QMSS_INC_DIR) $(HPLIB_INC_DIR) $(SA_INSTALL_PATH) $(PDK_INSTALL_PATH) 
+INCL_DIRS= $(IPSECMGR_IFACE_DIR) $(IPSECMGR_UTIL_IFACE_DIR) $(NETAPI_INC_DIR) $(CPPI_INC_DIR) $(QMSS_INC_DIR) $(HPLIB_INC_DIR) $(SA_INSTALL_PATH) $(PDK_INSTALL_PATH) $(UTILS_SRC_DIR)
 
 HEADERS = $(filter %.h, $(FILES))
 INCL = -I. $(patsubst %,-I%,$(INCL_DIRS))
index da7a046b2f9523042f879f0d6ebe370e0f792421..07ccd673b70aa382fceb7449292c1caca04b9c86 100755 (executable)
@@ -121,12 +121,15 @@ char*  DTS_LOG_FILE_FLOW_ETHx[] = {
 /**********************************************************************
  ************************** Global Variables **************************
  **********************************************************************/
+extern Rm_ServiceHandle   *rmClientServiceHandle;
 
 static ipsecmgr_ipc_daemon_send_if_t *send_iface;
 NETAPI_T netapi_handle;
 
 ipsecMgrMcb_t globalDB;
 
+static int use_rm =0;
+
 /* Lock file for the daemon */
 #define LOCK_FILE   "/var/lock/ipsecmgr_daemon"
 
@@ -144,7 +147,8 @@ static NETAPI_CFG_T our_netapi_default_cfg=
     TUNE_NETAPI_DEFAULT_BUFFER_SIZE+128+128,  //size of buffers in default heap
     128,    //tail room
     256,    //extra room
-    0
+    0,
+    NULL
 };
 
 
@@ -242,6 +246,8 @@ static void* snoop_run_thread (void* arg)
     cleanup_sa_sp();
     netapi_shutdown(netapi_handle);
 
+    if (use_rm)
+        closeRm();
     return;
 }
 
@@ -729,6 +735,7 @@ int create_pktio_channel()
     pktio_cfg.flags1 = PKTIO_RX;
     pktio_cfg.flags2 = PKTIO_GLOBAL | PKTIO_PKT;
     pktio_cfg.max_n = 8;
+    pktio_cfg.queueType = Qmss_QueueType_GIC400_QUEUE;
 
     globalDB.pktio_channel = netapi_pktioCreate(netapi_handle,
                                                &name[0],
@@ -784,17 +791,25 @@ int32_t main (int argc, char* argv[])
     struct sockaddr_in6 ipv6_addr;
     cpu_set_t cpu_set;
     int c;
-    static char usage[] = "usage: %s -s <outbound sequence number> -f <SA transmit flow Id>\n";
+    static char usage[] = "usage: %s -r < use Resource manager: no/yes> -s <outbound sequence number> -f <SA transmit flow Id>\n";
 
     ipsecmgr_syslog_init();
 
+
     memset(&globalDB, 0, sizeof(globalDB));
     globalDB.sa_tx_flow = -1;
     int temp;
-    while ((c = getopt (argc, argv, "s:f:")) != -1)
+    while ((c = getopt (argc, argv, "s:f:r:")) != -1)
     {
        switch (c)
        {
+            case 'r':
+                if(strncmp("yes", optarg,1) == 0)
+                {
+                    use_rm = 1;
+                }
+                break;
+
             case 's':
                 /* check is user input 0 for oseq_offset (valid but also default)*/
                 if(strncmp("0", optarg,1) == 0)
@@ -834,15 +849,24 @@ int32_t main (int argc, char* argv[])
                 break;
         }
     }
-        ipsecmgr_syslog_msg (SYSLOG_LEVEL_INFO,
+    ipsecmgr_syslog_msg (SYSLOG_LEVEL_INFO,
                    "main: oseq_offset: %d, sa_tx_flow: %d\n",
                     globalDB.oseq_offset, globalDB.sa_tx_flow);
 
+    if (use_rm)
+    {
+        if (initRm())
+        {
+            exit(EXIT_FAILURE);
+        }
+    }
+
     /* assign main net_test thread to run on core 0 */
     CPU_ZERO( &cpu_set);
     CPU_SET( 0, &cpu_set);
     hplib_utilSetupThread(0, &cpu_set, hplib_spinLock_Type_LOL);
     /* create netapi */
+    our_netapi_default_cfg.rmHandle = rmClientServiceHandle;
     netapi_handle = netapi_init(NETAPI_SYS_MASTER,
                                 &our_netapi_default_cfg);
     if(netapi_handle == NULL)
@@ -888,6 +912,7 @@ int32_t main (int argc, char* argv[])
     else
         ipsecmgr_syslog_msg (SYSLOG_LEVEL_INFO,
                              "main: ipsecmgr daemon shutdonw complete\n");
+
     exit(EXIT_SUCCESS);
 
 }
index 94c95439959a15f41492295fbab70c7ec520da6a..5479199143e16ecd63db971173f2c5649ee7cb40 100755 (executable)
@@ -126,16 +126,14 @@ $(ARMV7OBJDIR)/netapi/utils/.created:
 $(ARMV7BINDIR)/netapi/test/net_test_loopback_$(DEVICE): $(NT_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS)
        $(CC) $(LDFLAGS)  $(NT_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS) $(INTERNALLINKDEFS)  -o $(ARMV7BINDIR)/netapi/test/net_test_loopback_$(DEVICE)$(EXE_EXTN)
 
-$(ARMV7BINDIR)/netapi/test/net_test_max_params:  $(NT_MAX_PARAMS_OBJS) $(TRIE_OBJS)
-       $(CC) $(LDFLAGS)  $(NT_MAX_PARAMS_OBJS) $(TRIE_OBJS) $(INTERNALLINKDEFS)  -o $(ARMV7BINDIR)/netapi/test/net_test_max_params$(EXE_EXTN)
-$(ARMV7BINDIR)/netapi/test/net_test_router_$(DEVICE):  $(NT_ROUTER_OBJS) $(TRIE_OBJS)
-       $(CC) $(LDFLAGS)  $(NT_ROUTER_OBJS) $(TRIE_OBJS) $(INTERNALLINKDEFS)  -o $(ARMV7BINDIR)/netapi/test/net_test_router_$(DEVICE)$(EXE_EXTN)
+$(ARMV7BINDIR)/netapi/test/net_test_router_$(DEVICE): $(NT_ROUTER_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS)
+       $(CC) $(LDFLAGS)  $(NT_ROUTER_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS) $(INTERNALLINKDEFS)  -o $(ARMV7BINDIR)/netapi/test/net_test_router_$(DEVICE)$(EXE_EXTN)
 
-$(ARMV7BINDIR)/netapi/test/nt_bridge_$(DEVICE):  $(NTB_OBJS) $(TRIE_OBJS)
-       $(CC) $(LDFLAGS)  $(NTB_OBJS) $(TRIE_OBJS) $(INTERNALLINKDEFS)  -o $(ARMV7BINDIR)/netapi/test/nt_bridge_$(DEVICE)$(EXE_EXTN)
+$(ARMV7BINDIR)/netapi/test/nt_bridge_$(DEVICE): $(NTB_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS)
+       $(CC) $(LDFLAGS)  $(NTB_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS) $(INTERNALLINKDEFS)  -o $(ARMV7BINDIR)/netapi/test/nt_bridge_$(DEVICE)$(EXE_EXTN)
 
 $(ARMV7BINDIR)/netapi/test/ifdma_test:  $(IFDMA_OBJS)
        $(CC) $(LDFLAGS)  $(IFDMA_OBJS) $(INTERNALLINKDEFS)  -o $(ARMV7BINDIR)/netapi/test/ifdma_test$(EXE_EXTN)
 
-$(ARMV7BINDIR)/netapi/test/net_test_bench_$(DEVICE):  $(NT_BENCH_OBJS)
-       $(CC) $(LDFLAGS)  $(NT_BENCH_OBJS) $(INTERNALLINKDEFS)  -o $(ARMV7BINDIR)/netapi/test/net_test_bench_$(DEVICE)$(EXE_EXTN)
+$(ARMV7BINDIR)/netapi/test/net_test_bench_$(DEVICE):  $(NT_BENCH_OBJS) $(NT_RM_OBJS)
+       $(CC) $(LDFLAGS)  $(NT_BENCH_OBJS) $(NT_RM_OBJS) $(INTERNALLINKDEFS)  -o $(ARMV7BINDIR)/netapi/test/net_test_bench_$(DEVICE)$(EXE_EXTN)