Skip to content

Commit d091cd6

Browse files
ViniciosLuglicathay4t
authored andcommitted
feat(del_qdisc): ✨ Added set parent and ingress to QDiscDelRequest
1 parent e1784a3 commit d091cd6

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

src/traffic_control/del_qdisc.rs

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
use futures::StreamExt;
44
use netlink_packet_core::{NetlinkMessage, NLM_F_ACK, NLM_F_REQUEST};
5-
use netlink_packet_route::{tc::TcMessage, RouteNetlinkMessage};
5+
use netlink_packet_route::{
6+
tc::{TcAttribute, TcHandle, TcMessage},
7+
RouteNetlinkMessage,
8+
};
69

710
use crate::{try_nl, Error, Handle};
811

@@ -40,4 +43,32 @@ impl QDiscDelRequest {
4043
pub fn message_mut(&mut self) -> &mut TcMessage {
4144
&mut self.message
4245
}
46+
47+
/// Set handle
48+
pub fn handle(mut self, major: u16, minor: u16) -> Self {
49+
self.message.header.handle = TcHandle { major, minor };
50+
self
51+
}
52+
53+
/// Set parent to root
54+
pub fn root(mut self) -> Self {
55+
self.message.header.parent = TcHandle::ROOT;
56+
self
57+
}
58+
59+
/// Set parent
60+
pub fn parent(mut self, parent: u32) -> Self {
61+
self.message.header.parent = parent.into();
62+
self
63+
}
64+
65+
/// Set ingress qdisc
66+
pub fn ingress(mut self) -> Self {
67+
self.message.header.parent = TcHandle::INGRESS;
68+
self.message.header.handle = TcHandle::from(0xffff0000);
69+
self.message
70+
.attributes
71+
.push(TcAttribute::Kind("ingress".to_string()));
72+
self
73+
}
4374
}

0 commit comments

Comments
 (0)