netlink_packet_route/link/
buffer_tool.rs

1// SPDX-License-Identifier: MIT
2
3pub(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}