Skip to content

Commit 7db34e9

Browse files
committed
Add dump option to RouteGetRequest
With dump set to false, we can mimic the behaviour of `ip route get`.
1 parent 58e6f35 commit 7db34e9

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/route/get.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ use crate::{try_rtnl, Error, Handle};
1616
pub struct RouteGetRequest {
1717
handle: Handle,
1818
message: RouteMessage,
19+
dump: bool,
1920
}
2021

2122
/// Internet Protocol (IP) version.
@@ -38,7 +39,11 @@ impl IpVersion {
3839

3940
impl RouteGetRequest {
4041
pub(crate) fn new(handle: Handle, message: RouteMessage) -> Self {
41-
RouteGetRequest { handle, message }
42+
RouteGetRequest {
43+
handle,
44+
message,
45+
dump: true,
46+
}
4247
}
4348

4449
pub fn message_mut(&mut self) -> &mut RouteMessage {
@@ -49,11 +54,15 @@ impl RouteGetRequest {
4954
let RouteGetRequest {
5055
mut handle,
5156
message,
57+
dump,
5258
} = self;
5359

5460
let mut req =
5561
NetlinkMessage::from(RouteNetlinkMessage::GetRoute(message));
56-
req.header.flags = NLM_F_REQUEST | NLM_F_DUMP;
62+
req.header.flags = NLM_F_REQUEST;
63+
if dump {
64+
req.header.flags |= NLM_F_DUMP;
65+
}
5766

5867
match handle.request(req) {
5968
Ok(response) => Either::Left(response.map(move |msg| {

0 commit comments

Comments
 (0)