Skip to content

Commit 46c3599

Browse files
committed
feat(del_qdisc): ✨ Added set parent and ingress to QDiscDelRequest
1 parent 5fca904 commit 46c3599

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

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

0 commit comments

Comments
 (0)