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