summaryrefslogtreecommitdiffstats
path: root/VNFs/vFW/main.c
diff options
context:
space:
mode:
authorVishwesh M Rudramuni <vishwesh.m.rudramuni@intel.com>2017-09-25 03:36:02 +0530
committerAnand B Jyoti <anand.b.jyoti@intel.com>2017-09-27 03:29:36 +0530
commit98b9571f6720a0da06b1d430e7338a0734023232 (patch)
tree35224c83fa80c0f6dd297c9cee52f5894ade3c56 /VNFs/vFW/main.c
parentd451d3d2e6423523c300488f33adb4e593d6d2cb (diff)
REST_API: rest api client implementation
JIRA: SAMPLEVNF-78 This patch implements rest api's for VNF clients. This comprises of * vnf api's for common functionality * vnf api's for CGNAPT * vnf api's for VFW Change-Id: I56d22c64bf3ee5b0a2e536da8169ac7583499041 Signed-off-by: Vishwesh M Rudramuni <vishwesh.m.rudramuni@intel.com>
Diffstat (limited to 'VNFs/vFW/main.c')
-rw-r--r--VNFs/vFW/main.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/VNFs/vFW/main.c b/VNFs/vFW/main.c
index 9ebf6fc3..aec04ac5 100644
--- a/VNFs/vFW/main.c
+++ b/VNFs/vFW/main.c
@@ -15,12 +15,15 @@
*/
#include "app.h"
+#include <civetweb.h>
static struct app_params app;
+extern void rest_api_vfw_init(struct mg_context *ctx, struct app_params *app);
int
main(int argc, char **argv)
{
+ struct mg_context *ctx = NULL;
rte_openlog_stream(stderr);
/* Config */
@@ -28,6 +31,12 @@ main(int argc, char **argv)
app_config_args(&app, argc, argv);
+ if (is_rest_support()) {
+ /* initialize the rest api */
+ set_vnf_type("VFW");
+ ctx = rest_api_init(&app);
+ }
+
app_config_preproc(&app);
app_config_parse(&app, app.parser_file);
@@ -40,11 +49,21 @@ main(int argc, char **argv)
/* Init */
app_init(&app);
+ if (is_rest_support() && (ctx != NULL)) {
+ /* rest api's for cgnapt */
+ rest_api_vfw_init(ctx, &app);
+ }
+
/* Run-time */
rte_eal_mp_remote_launch(
app_thread,
(void *) &app,
CALL_MASTER);
+ if (is_rest_support() && (ctx != NULL)) {
+ mg_stop(ctx);
+ printf("Civet server stopped.\n");
+ }
+
return 0;
}