static void destroy_bucket_list( void **state ) { bucket_list *bkt_list = *state; delete_action_bucket_list( &bkt_list ); finalize_actions(); }
OFDPE update_group_entry( const uint32_t group_id, const uint8_t type, bucket_list *buckets ) { assert( table != NULL ); if ( !valid_group_id( group_id ) ) { return ERROR_OFDPE_GROUP_MOD_FAILED_INVALID_GROUP; } if ( !valid_group_type( type ) ) { return ERROR_OFDPE_GROUP_MOD_FAILED_INVALID_GROUP; } if ( !lock_pipeline() ) { return ERROR_LOCK; } OFDPE ret = OFDPE_SUCCESS; group_entry *entry = lookup_group_entry( group_id ); if ( entry == NULL ) { ret = ERROR_OFDPE_GROUP_MOD_FAILED_UNKNOWN_GROUP; } if ( ret == OFDPE_SUCCESS ) { ret = validate_buckets( entry->type, buckets ); } if ( ret == OFDPE_SUCCESS ) { if ( entry->buckets != NULL ) { delete_action_bucket_list( entry->buckets ); } entry->type = type; entry->buckets = buckets; } if ( !unlock_pipeline() ) { return ERROR_UNLOCK; } return ret; }