Differentiated Services Marker (DSMARK)
[Queueing Discipline ModulesClass Modules]

Class Attribute Access



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

Qdisc Attribute Access



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

Function Documentation

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

Definition at line 248 of file dsmark.c.

00249 {
00250         struct rtnl_dsmark_class *dsmark;
00251         
00252         dsmark = dsmark_class(class);
00253         if (!dsmark)
00254                 return nl_errno(ENOMEM);
00255 
00256         dsmark->cdm_bmask = mask;
00257         dsmark->cdm_mask |= SCH_DSMARK_ATTR_MASK;
00258 
00259         return 0;
00260 }

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

Definition at line 267 of file dsmark.c.

00268 {
00269         struct rtnl_dsmark_class *dsmark;
00270 
00271         dsmark = dsmark_class(class);
00272         if (dsmark && dsmark->cdm_mask & SCH_DSMARK_ATTR_MASK)
00273                 return dsmark->cdm_bmask;
00274         else
00275                 return nl_errno(ENOENT);
00276 }

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

Definition at line 284 of file dsmark.c.

00285 {
00286         struct rtnl_dsmark_class *dsmark;
00287 
00288         dsmark = dsmark_class(class);
00289         if (!dsmark)
00290                 return nl_errno(ENOMEM);
00291 
00292         dsmark->cdm_value = value;
00293         dsmark->cdm_mask |= SCH_DSMARK_ATTR_VALUE;
00294 
00295         return 0;
00296 }

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

Definition at line 303 of file dsmark.c.

00304 {
00305         struct rtnl_dsmark_class *dsmark;
00306 
00307         dsmark = dsmark_class(class);
00308         if (dsmark && dsmark->cdm_mask & SCH_DSMARK_ATTR_VALUE)
00309                 return dsmark->cdm_value;
00310         else
00311                 return nl_errno(ENOENT);
00312 }

int rtnl_qdisc_dsmark_set_indices ( struct rtnl_qdisc *  qdisc,
uint16_t  indices 
)
Parameters:
qdisc DSMARK qdisc to be modified.
indices New indices.

Definition at line 326 of file dsmark.c.

00327 {
00328         struct rtnl_dsmark_qdisc *dsmark;
00329 
00330         dsmark = dsmark_qdisc(qdisc);
00331         if (!dsmark)
00332                 return nl_errno(ENOMEM);
00333 
00334         dsmark->qdm_indices = indices;
00335         dsmark->qdm_mask |= SCH_DSMARK_ATTR_INDICES;
00336 
00337         return 0;
00338 }

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

Definition at line 345 of file dsmark.c.

00346 {
00347         struct rtnl_dsmark_qdisc *dsmark;
00348 
00349         dsmark = dsmark_qdisc(qdisc);
00350         if (dsmark && dsmark->qdm_mask & SCH_DSMARK_ATTR_INDICES)
00351                 return dsmark->qdm_indices;
00352         else
00353                 return nl_errno(ENOENT);
00354 }

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

Definition at line 362 of file dsmark.c.

00364 {
00365         struct rtnl_dsmark_qdisc *dsmark;
00366 
00367         dsmark = dsmark_qdisc(qdisc);
00368         if (!dsmark)
00369                 return nl_errno(ENOMEM);
00370 
00371         dsmark->qdm_default_index = default_index;
00372         dsmark->qdm_mask |= SCH_DSMARK_ATTR_DEFAULT_INDEX;
00373 
00374         return 0;
00375 }

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

Definition at line 382 of file dsmark.c.

00383 {
00384         struct rtnl_dsmark_qdisc *dsmark;
00385 
00386         dsmark = dsmark_qdisc(qdisc);
00387         if (dsmark && dsmark->qdm_mask & SCH_DSMARK_ATTR_DEFAULT_INDEX)
00388                 return dsmark->qdm_default_index;
00389         else
00390                 return nl_errno(ENOENT);
00391 }

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

Definition at line 399 of file dsmark.c.

00400 {
00401         struct rtnl_dsmark_qdisc *dsmark;
00402 
00403         dsmark = dsmark_qdisc(qdisc);
00404         if (!dsmark)
00405                 return nl_errno(ENOMEM);
00406 
00407         dsmark->qdm_set_tc_index = !!flag;
00408         dsmark->qdm_mask |= SCH_DSMARK_ATTR_SET_TC_INDEX;
00409 
00410         return 0;
00411 }

int rtnl_qdisc_dsmark_get_set_tc_index ( struct rtnl_qdisc *  qdisc  ) 
Parameters:
qdisc DSMARK 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.

00420 {
00421         struct rtnl_dsmark_qdisc *dsmark;
00422 
00423         dsmark = dsmark_qdisc(qdisc);
00424         if (dsmark && dsmark->qdm_mask & SCH_DSMARK_ATTR_SET_TC_INDEX)
00425                 return dsmark->qdm_set_tc_index;
00426         else
00427                 return nl_errno(ENOENT);
00428 }


Generated on 30 Oct 2009 for libnl by  doxygen 1.6.1