netlink_packet_route/link/
buffer_tool.rs
1pub(crate) fn expand_buffer_if_small(got: &[u8], expected_size: usize, nla_name: &str) -> Vec<u8> {
4 let mut payload = got.to_vec();
5 match payload.len() {
6 l if l > expected_size => {
7 log::warn!(
8 "Specified {nla_name} NLA attribute holds \
9 more(most likely new kernel) data which is unknown to \
10 netlink-packet-route crate, expecting \
11 {expected_size}, got {}",
12 got.len()
13 );
14 }
15 l if l < expected_size => {
16 payload.extend_from_slice(&vec![0; expected_size - got.len()]);
17 }
18 _ => (),
19 }
20 payload
21}