static void management_recv( uint16_t tag, void *data, size_t data_len ) { UNUSED( data ); UNUSED( data_len ); switch ( tag ) { case DUMP_XID_TABLE: dump_xid_table(); break; case DUMP_COOKIE_TABLE: dump_cookie_table(); break; case TOGGLE_COOKIE_AGING: if ( age_cookie_table_enabled ) { delete_periodic_event_callback( age_cookie_table ); age_cookie_table_enabled = false; } else { add_periodic_event_callback( COOKIE_TABLE_AGING_INTERVAL, age_cookie_table, NULL ); age_cookie_table_enabled = true; } break; default: error( "Undefined management message tag ( tag = %#x )", tag ); } }
static void management_recv( const messenger_context_handle *handle, uint32_t command, void *data, size_t data_len, void *user_data ) { UNUSED( user_data ); switch ( command ) { case DUMP_XID_TABLE: { dump_xid_table(); } break; case DUMP_COOKIE_TABLE: { if ( !switch_info.cookie_translation ) { break; } dump_cookie_table(); } break; case TOGGLE_COOKIE_AGING: { if ( !switch_info.cookie_translation ) { break; } if ( age_cookie_table_enabled ) { delete_timer_event( age_cookie_table, NULL ); age_cookie_table_enabled = false; } else { add_periodic_event_callback( COOKIE_TABLE_AGING_INTERVAL, age_cookie_table, NULL ); age_cookie_table_enabled = true; } } break; case EVENT_FORWARD_ENTRY_ADD: case EVENT_FORWARD_ENTRY_DELETE: case EVENT_FORWARD_ENTRY_DUMP: case EVENT_FORWARD_ENTRY_SET: { event_forward_operation_request *req = data; req->n_services = ntohl( req->n_services ); management_event_forward_entry_operation( handle, command, req, data_len ); return; } break; default: { error( "Undefined management command ( %#x )", command ); management_application_reply *reply = create_management_application_reply( MANAGEMENT_REQUEST_FAILED, command, NULL, 0 ); send_management_application_reply( handle, reply ); xfree( reply ); return; } } management_application_reply *reply = create_management_application_reply( MANAGEMENT_REQUEST_SUCCEEDED, command, NULL, 0 ); send_management_application_reply( handle, reply ); xfree( reply ); }