pub struct Request<'buf> { /* private fields */ }net-shaper only.Implementations§
Source§impl<'buf> Request<'buf>
impl<'buf> Request<'buf>
pub fn new_with_buf(buf: &'buf mut Vec<u8>) -> Self
pub fn new_extend(buf: &'buf mut Vec<u8>) -> Self
pub fn buf(&self) -> &Vec<u8> ⓘ
pub fn buf_mut(&mut self) -> &mut Vec<u8> ⓘ
Sourcepub fn set_create(self) -> Self
pub fn set_create(self) -> Self
Set NLM_F_CREATE flag
Sourcepub fn set_replace(self) -> Self
pub fn set_replace(self) -> Self
Set NLM_F_REPLACE flag
Sourcepub fn set_change(self) -> Self
pub fn set_change(self) -> Self
Set NLM_F_CREATE and NLM_F_REPLACE flag
Sourcepub fn set_append(self) -> Self
pub fn set_append(self) -> Self
Set NLM_F_APPEND flag
Sourcepub fn unset_flags(self, flags: u16) -> Self
pub fn unset_flags(self, flags: u16) -> Self
Set self.flags ^= self.flags & flags
Sourcepub fn op_get_dump(self) -> OpGetDump<'buf>
pub fn op_get_dump(self) -> OpGetDump<'buf>
Get information about a shaper for a given device.
Request attributes:
Reply attributes:
Sourcepub fn op_get_do(self) -> OpGetDo<'buf>
pub fn op_get_do(self) -> OpGetDo<'buf>
Get information about a shaper for a given device.
Request attributes:
Reply attributes:
Sourcepub fn op_set_do(self) -> OpSetDo<'buf>
pub fn op_set_do(self) -> OpSetDo<'buf>
Create or update the specified shaper. The set operation can't be used to create a @node scope shaper, use the @group operation instead.
Flags: admin-perm
Request attributes:
Sourcepub fn op_delete_do(self) -> OpDeleteDo<'buf>
pub fn op_delete_do(self) -> OpDeleteDo<'buf>
Clear (remove) the specified shaper. When deleting a @node shaper, reattach all the node's leaves to the deleted node's parent. If, after the removal, the parent shaper has no more leaves and the parent shaper scope is @node, the parent node is deleted, recursively. When deleting a @queue shaper or a @netdev shaper, the shaper disappears from the hierarchy, but the queue/device can still send traffic: it has an implicit node with infinite bandwidth. The queue's implicit node feeds an implicit RR node at the root of the hierarchy.
Flags: admin-perm
Request attributes:
Sourcepub fn op_group_do(self) -> OpGroupDo<'buf>
pub fn op_group_do(self) -> OpGroupDo<'buf>
Create or update a scheduling group, attaching the specified @leaves shapers under the specified node identified by @handle. The @leaves shapers scope must be @queue and the node shaper scope must be either @node or @netdev. When the node shaper has @node scope, if the @handle @id is not specified, a new shaper of such scope is created, otherwise the specified node must already exist. When updating an existing node shaper, the specified @leaves are added to the existing node; such node will also retain any preexisting leave. The @parent handle for a new node shaper defaults to the parent of all the leaves, provided all the leaves share the same parent. Otherwise @parent handle must be specified. The user can optionally provide shaping attributes for the node shaper. The operation is atomic, on failure no change is applied to the device shaping configuration, otherwise the @node shaper full identifier, comprising @binding and @handle, is provided as the reply.
Flags: admin-perm
Request attributes:
- .nested_handle()
- .push_metric()
- .push_bw_min()
- .push_bw_max()
- .push_burst()
- .push_priority()
- .push_weight()
- .push_ifindex()
- .nested_parent()
- .nested_leaves()
Reply attributes:
Sourcepub fn op_cap_get_dump(self) -> OpCapGetDump<'buf>
pub fn op_cap_get_dump(self) -> OpCapGetDump<'buf>
Get the shaper capabilities supported by the given device for the specified scope.
Request attributes:
Reply attributes:
Sourcepub fn op_cap_get_do(self) -> OpCapGetDo<'buf>
pub fn op_cap_get_do(self) -> OpCapGetDo<'buf>
Get the shaper capabilities supported by the given device for the specified scope.
Request attributes:
Reply attributes: