109 values, sizeof (qem->
qem_output[input_source]));
156 else if (
unformat (input,
"id %d", &map_id))
186 .path =
"qos egress map",
187 .short_help =
"qos egress map id %d [delete] {[SOURCE][INPUT]=OUTPUT}",
196 u32 indent = va_arg (*args,
u32);
229 if (
unformat (input,
"id %d", &map_id))
279 .path =
"show qos egress map",
280 .short_help =
"show qos egress map id %d",
qos_egress_map_t * qem_pool
Pool from which to allocate table.
#define hash_set(h, key, value)
#define hash_unset(h, key)
static qos_egress_map_t * qos_egress_map_find_or_create(qos_egress_map_id_t mid)
index_t qos_egress_map_find(qos_egress_map_id_t mid)
Get the VPP QoS map index from the user's map-ID.
qos_egress_map_id_t qos_egress_map_get_id(index_t qemi)
void qos_egress_map_walk(qos_egress_map_walk_cb_t fn, void *c)
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
u8 * format_qos_egress_map(u8 *s, va_list *args)
uword * qem_db
DB to map user table-IDs to internal table indicies.
void qos_egress_map_delete(qos_egress_map_id_t mid)
#define clib_memcpy(d, s, n)
static clib_error_t * qos_egress_map_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
static clib_error_t * qos_egress_map_update_cli(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
#define hash_foreach(key_var, value_var, h, body)
#define clib_error_return(e, args...)
#define FOR_EACH_QOS_SOURCE(_src)
vl_api_qos_source_t input_source
void qos_egress_map_update(qos_egress_map_id_t mid, qos_source_t input_source, qos_bits_t *values)
Add a qos-egress map to an interface.
u8 * format_qos_source(u8 *s, va_list *args)
format/unformat QoS source types
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
qos_egress_map_t * qos_egress_map_find_i(qos_egress_map_id_t mid)
#define pool_put(P, E)
Free an object E in pool P.
#define pool_get_aligned(P, E, A)
Allocate an object E from a pool P with alignment A.
enum qos_source_t_ qos_source_t
QoS types.
walk_rc_t(* qos_egress_map_walk_cb_t)(qos_egress_map_id_t id, const qos_egress_map_t *m, void *c)
Walk each of the configured maps.
#define VLIB_CLI_COMMAND(x,...)
For a given output source a table maps each value of every input source.
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
#define INDEX_INVALID
Invalid index - used when no index is known blazoned capitals INVALID speak volumes where ~0 does not...
#define CLIB_CACHE_LINE_BYTES
uword unformat_qos_source(unformat_input_t *input, va_list *args)
qos_bits_t qem_output[QOS_N_SOURCES][256]
The array of output mapped values; output = eq_qos[input-source][input-value].
u8 qos_bits_t
Type, er, safety for us water based entities.
u32 qos_egress_map_id_t
A QOS egress map translates from the COS bits stored in the packet's meta-data into a per-protocol CO...