#ifndef NICO_CONTROLLER #define NICO_CONTROLLER /********************** GENERAL ACTIONS ***********************************/ #ifndef _SUME_SWITCH_P4_ action controller_reply(task_t task) { meta.task = task; meta.ingress_port = sume_metadata.src_port; clone3(CloneType.I2E, 100, meta); } #else #include "action_egress.p4" action controller_reply(task_t task) { meta.task = task; meta.ingress_port = standard_metadata.ingress_port; set_egress_port(4); /* port1 = 1, port2 = 2, port3=4 */ } #endif /* _SUME_SWITCH_P4_ */ action controller_debug_table_id(table_t table_id) { meta.table_id = table_id; controller_reply(TASK_DEBUG); } action controller_debug() { controller_reply(TASK_DEBUG); } #endif