static inline void s_delete_stage(lagopus_pipeline_stage_t ps) { if (ps != NULL) { (void)lagopus_hashmap_delete(&s_ps_obj_tbl, (void *)ps, NULL, true); if (IS_VALID_STRING(ps->m_name) == true) { (void)lagopus_hashmap_delete(&s_ps_name_tbl, (void *)(ps->m_name), NULL, true); } } }
static inline lagopus_result_t queue_conf_delete(queue_conf_t *conf) { if (queue_table != NULL) { if (conf != NULL && IS_VALID_STRING(conf->name) == true) { return lagopus_hashmap_delete(&queue_table, (void *) conf->name, NULL, true); } else { return LAGOPUS_RESULT_INVALID_ARGS; } } else { return LAGOPUS_RESULT_NOT_STARTED; } }
static lagopus_result_t channel_delete_internal(const char *key) { lagopus_result_t ret; struct channel *chan; ret = lagopus_hashmap_find(&main_table, (void *)key, (void **)&chan); if (ret != LAGOPUS_RESULT_OK) { return ret; } channel_disable(chan); ret = channel_free(chan); if (ret != LAGOPUS_RESULT_OK) { return ret; } return lagopus_hashmap_delete(&main_table, (void *)key, NULL, false); }
static inline lagopus_result_t bridge_unregister(uint64_t dpid, bool force) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; struct ofp_bridgeq *brq = NULL; bridgeq_mgr_lock(); /* delete from bridgeq_table */ ret = lagopus_hashmap_delete(&bridgeq_table, (void *)dpid, (void **)&brq, false); if (ret == LAGOPUS_RESULT_OK && brq != NULL) { /* delete bridgeq. */ lagopus_msg_debug(1, "unregister bridgeq(%p). dpid: %lu\n", brq, dpid); ofp_bridgeq_free(brq, force); ret = LAGOPUS_RESULT_OK; } else { lagopus_perror(ret); } bridgeq_mgr_unlock(); return ret; }
static inline void s_delete_addr(void *addr) { if (likely(addr != NULL)) { (void)lagopus_hashmap_delete(&s_tbl, addr, NULL, true); } }
static inline void s_config_delete(testobj_config_t *o) { if (o != NULL && IS_VALID_STRING(o->m_name) == true) { (void)lagopus_hashmap_delete(&s_tbl, (void *)(o->m_name), NULL, true); } }