in src/bsd.rs [265:288]
fn new(remote: IpAddr, seq: i32) -> Result<Self> {
let sa = SockaddrStorage::from(remote);
let sa_len = sockaddr_len(match remote {
IpAddr::V4(_) => AF_INET,
IpAddr::V6(_) => AF_INET6,
})?;
Ok(Self {
rtm: rt_msghdr {
#[expect(
clippy::cast_possible_truncation,
reason = "`rt_msghdr` len + `ALIGN` is <= u8::MAX per `const_assert!` above."
)]
rtm_msglen: (size_of::<rt_msghdr>() + sa_len) as u16,
rtm_version: RTM_VERSION,
rtm_type: RTM_GET,
rtm_seq: seq,
rtm_addrs: RTM_ADDRS,
#[cfg(target_os = "openbsd")]
rtm_tableid: getrtable(),
..Default::default()
},
sa,
})
}