File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed
Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -8,7 +8,8 @@ use futures::{
88
99use netlink_packet_core:: { NetlinkMessage , NLM_F_DUMP , NLM_F_REQUEST } ;
1010use netlink_packet_route:: {
11- route:: RouteMessage , AddressFamily , RouteNetlinkMessage ,
11+ route:: { RouteAttribute , RouteMessage } ,
12+ AddressFamily , RouteNetlinkMessage ,
1213} ;
1314
1415use crate :: { try_rtnl, Error , Handle } ;
@@ -51,9 +52,18 @@ impl RouteGetRequest {
5152 message,
5253 } = self ;
5354
55+ let has_dest = message
56+ . attributes
57+ . iter ( )
58+ . any ( |attr| matches ! ( attr, RouteAttribute :: Destination ( _) ) ) ;
59+
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+
64+ if !has_dest {
65+ req. header . flags |= NLM_F_DUMP ;
66+ }
5767
5868 match handle. request ( req) {
5969 Ok ( response) => Either :: Left ( response. map ( move |msg| {
You can’t perform that action at this time.
0 commit comments