+ /* Link */
+ status = link_init();
+ if (status) {
+ printf("Error: Link initialization failed (%d)\n", status);
+ return status;
+ }
+
+ /* SWQ */
+ status = swq_init();
+ if (status) {
+ printf("Error: SWQ initialization failed (%d)\n", status);
+ return status;
+ }
+
+ /* Traffic Manager */
+ status = tmgr_init();
+ if (status) {
+ printf("Error: TMGR initialization failed (%d)\n", status);
+ 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_MAIN);
+