libnl  1.1.4

Class Attribute Access

int rtnl_class_dsmark_set_bitmask (struct rtnl_class *class, uint8_t mask)
 Set bitmask of DSMARK class. More...
 
int rtnl_class_dsmark_get_bitmask (struct rtnl_class *class)
 Get bitmask of DSMARK class. More...
 
int rtnl_class_dsmark_set_value (struct rtnl_class *class, uint8_t value)
 Set value of DSMARK class. More...
 
int rtnl_class_dsmark_get_value (struct rtnl_class *class)
 Get value of DSMARK class. More...
 

Qdisc Attribute Access

int rtnl_qdisc_dsmark_set_indices (struct rtnl_qdisc *qdisc, uint16_t indices)
 Set indices of DSMARK qdisc. More...
 
int rtnl_qdisc_dsmark_get_indices (struct rtnl_qdisc *qdisc)
 Get indices of DSMARK qdisc. More...
 
int rtnl_qdisc_dsmark_set_default_index (struct rtnl_qdisc *qdisc, uint16_t default_index)
 Set default index of DSMARK qdisc. More...
 
int rtnl_qdisc_dsmark_get_default_index (struct rtnl_qdisc *qdisc)
 Get default index of DSMARK qdisc. More...
 
int rtnl_qdisc_dsmark_set_set_tc_index (struct rtnl_qdisc *qdisc, int flag)
 Set set-tc-index flag of DSMARK qdisc. More...
 
int rtnl_qdisc_dsmark_get_set_tc_index (struct rtnl_qdisc *qdisc)
 Get set-tc-index flag of DSMARK qdisc. More...
 

Detailed Description

Function Documentation

◆ rtnl_class_dsmark_set_bitmask()

int rtnl_class_dsmark_set_bitmask ( struct rtnl_class *  class,
uint8_t  mask 
)
Parameters
classDSMARK class to be modified.
maskNew bitmask.
Returns
0 on success or a negative error code.

Definition at line 248 of file dsmark.c.

249 {
250  struct rtnl_dsmark_class *dsmark;
251 
252  dsmark = dsmark_class(class);
253  if (!dsmark)
254  return nl_errno(ENOMEM);
255 
256  dsmark->cdm_bmask = mask;
257  dsmark->cdm_mask |= SCH_DSMARK_ATTR_MASK;
258 
259  return 0;
260 }

◆ rtnl_class_dsmark_get_bitmask()

int rtnl_class_dsmark_get_bitmask ( struct rtnl_class *  class)
Parameters
classDSMARK class.
Returns
Bitmask or a negative error code.

Definition at line 267 of file dsmark.c.

268 {
269  struct rtnl_dsmark_class *dsmark;
270 
271  dsmark = dsmark_class(class);
272  if (dsmark && dsmark->cdm_mask & SCH_DSMARK_ATTR_MASK)
273  return dsmark->cdm_bmask;
274  else
275  return nl_errno(ENOENT);
276 }

◆ rtnl_class_dsmark_set_value()

int rtnl_class_dsmark_set_value ( struct rtnl_class *  class,
uint8_t  value 
)
Parameters
classDSMARK class to be modified.
valueNew value.
Returns
0 on success or a negative errror code.

Definition at line 284 of file dsmark.c.

285 {
286  struct rtnl_dsmark_class *dsmark;
287 
288  dsmark = dsmark_class(class);
289  if (!dsmark)
290  return nl_errno(ENOMEM);
291 
292  dsmark->cdm_value = value;
293  dsmark->cdm_mask |= SCH_DSMARK_ATTR_VALUE;
294 
295  return 0;
296 }

◆ rtnl_class_dsmark_get_value()

int rtnl_class_dsmark_get_value ( struct rtnl_class *  class)
Parameters
classDSMARK class.
Returns
Value or a negative error code.

Definition at line 303 of file dsmark.c.

304 {
305  struct rtnl_dsmark_class *dsmark;
306 
307  dsmark = dsmark_class(class);
308  if (dsmark && dsmark->cdm_mask & SCH_DSMARK_ATTR_VALUE)
309  return dsmark->cdm_value;
310  else
311  return nl_errno(ENOENT);
312 }

◆ rtnl_qdisc_dsmark_set_indices()

int rtnl_qdisc_dsmark_set_indices ( struct rtnl_qdisc *  qdisc,
uint16_t  indices 
)
Parameters
qdiscDSMARK qdisc to be modified.
indicesNew indices.

Definition at line 326 of file dsmark.c.

327 {
328  struct rtnl_dsmark_qdisc *dsmark;
329 
330  dsmark = dsmark_qdisc(qdisc);
331  if (!dsmark)
332  return nl_errno(ENOMEM);
333 
334  dsmark->qdm_indices = indices;
335  dsmark->qdm_mask |= SCH_DSMARK_ATTR_INDICES;
336 
337  return 0;
338 }

◆ rtnl_qdisc_dsmark_get_indices()

int rtnl_qdisc_dsmark_get_indices ( struct rtnl_qdisc *  qdisc)
Parameters
qdiscDSMARK qdisc.
Returns
Indices or a negative error code.

Definition at line 345 of file dsmark.c.

346 {
347  struct rtnl_dsmark_qdisc *dsmark;
348 
349  dsmark = dsmark_qdisc(qdisc);
350  if (dsmark && dsmark->qdm_mask & SCH_DSMARK_ATTR_INDICES)
351  return dsmark->qdm_indices;
352  else
353  return nl_errno(ENOENT);
354 }

◆ rtnl_qdisc_dsmark_set_default_index()

int rtnl_qdisc_dsmark_set_default_index ( struct rtnl_qdisc *  qdisc,
uint16_t  default_index 
)
Parameters
qdiscDSMARK qdisc to be modified.
default_indexNew default index.
Returns
0 on success or a negative error code.

Definition at line 362 of file dsmark.c.

364 {
365  struct rtnl_dsmark_qdisc *dsmark;
366 
367  dsmark = dsmark_qdisc(qdisc);
368  if (!dsmark)
369  return nl_errno(ENOMEM);
370 
371  dsmark->qdm_default_index = default_index;
372  dsmark->qdm_mask |= SCH_DSMARK_ATTR_DEFAULT_INDEX;
373 
374  return 0;
375 }

◆ rtnl_qdisc_dsmark_get_default_index()

int rtnl_qdisc_dsmark_get_default_index ( struct rtnl_qdisc *  qdisc)
Parameters
qdiscDSMARK qdisc.
Returns
Default index or a negative error code.

Definition at line 382 of file dsmark.c.

383 {
384  struct rtnl_dsmark_qdisc *dsmark;
385 
386  dsmark = dsmark_qdisc(qdisc);
387  if (dsmark && dsmark->qdm_mask & SCH_DSMARK_ATTR_DEFAULT_INDEX)
388  return dsmark->qdm_default_index;
389  else
390  return nl_errno(ENOENT);
391 }

◆ rtnl_qdisc_dsmark_set_set_tc_index()

int rtnl_qdisc_dsmark_set_set_tc_index ( struct rtnl_qdisc *  qdisc,
int  flag 
)
Parameters
qdiscDSMARK qdisc to be modified.
flagFlag indicating whether to enable or disable.
Returns
0 on success or a negative error code.

Definition at line 399 of file dsmark.c.

400 {
401  struct rtnl_dsmark_qdisc *dsmark;
402 
403  dsmark = dsmark_qdisc(qdisc);
404  if (!dsmark)
405  return nl_errno(ENOMEM);
406 
407  dsmark->qdm_set_tc_index = !!flag;
408  dsmark->qdm_mask |= SCH_DSMARK_ATTR_SET_TC_INDEX;
409 
410  return 0;
411 }

◆ rtnl_qdisc_dsmark_get_set_tc_index()

int rtnl_qdisc_dsmark_get_set_tc_index ( struct rtnl_qdisc *  qdisc)
Parameters
qdiscDSMARK qdisc to be modified.
Returns
1 or 0 to indicate wehther the flag is enabled or a negative error code.

Definition at line 419 of file dsmark.c.

420 {
421  struct rtnl_dsmark_qdisc *dsmark;
422 
423  dsmark = dsmark_qdisc(qdisc);
424  if (dsmark && dsmark->qdm_mask & SCH_DSMARK_ATTR_SET_TC_INDEX)
425  return dsmark->qdm_set_tc_index;
426  else
427  return nl_errno(ENOENT);
428 }