X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fip_pipeline%2Fmain.c;h=97d1e91c2b4b704861f0ceeb751d1e5b9b9d486d;hb=c1c48e7636ca4797e7eea606b4d0770da9064ad3;hp=490991f4095deab7b6a2ee178147f0992eeb5d0d;hpb=25961ff3bcb9ae8d7a46305a1565a33438333b7a;p=dpdk.git diff --git a/examples/ip_pipeline/main.c b/examples/ip_pipeline/main.c index 490991f409..97d1e91c2b 100644 --- a/examples/ip_pipeline/main.c +++ b/examples/ip_pipeline/main.c @@ -8,13 +8,19 @@ #include #include +#include #include #include "cli.h" #include "conn.h" +#include "kni.h" +#include "cryptodev.h" #include "link.h" #include "mempool.h" +#include "pipeline.h" #include "swq.h" +#include "tap.h" +#include "thread.h" #include "tmgr.h" static const char usage[] = @@ -191,6 +197,61 @@ main(int argc, char **argv) return status; } + /* TAP */ + status = tap_init(); + if (status) { + printf("Error: TAP initialization failed (%d)\n", status); + return status; + } + + /* KNI */ + status = kni_init(); + if (status) { + printf("Error: KNI initialization failed (%d)\n", status); + return status; + } + + /* Sym Crypto */ + status = cryptodev_init(); + if (status) { + printf("Error: Cryptodev initialization failed (%d)\n", + status); + return status; + } + + /* Action */ + status = port_in_action_profile_init(); + if (status) { + printf("Error: Input port action profile initialization failed (%d)\n", status); + return status; + } + + status = table_action_profile_init(); + if (status) { + printf("Error: Action profile initialization failed (%d)\n", + status); + return status; + } + + /* Pipeline */ + status = pipeline_init(); + if (status) { + printf("Error: Pipeline initialization failed (%d)\n", status); + return status; + } + + /* Thread */ + status = thread_init(); + if (status) { + printf("Error: Thread initialization failed (%d)\n", status); + return status; + } + + rte_eal_mp_remote_launch( + thread_main, + NULL, + SKIP_MASTER); + /* Script */ if (app.script_name) cli_script_process(app.script_name, @@ -202,5 +263,7 @@ main(int argc, char **argv) conn_poll_for_conn(conn); conn_poll_for_msg(conn); + + kni_handle_request(); } }