#[non_exhaustive]pub struct Capabilities {
pub max_transmission_unit: usize,
pub max_burst_size: Option<usize>,
pub checksum: ChecksumCapabilities,
}
Expand description
A description of device capabilities.
Higher-level protocols may achieve higher throughput or lower latency if they consider the bandwidth or packet size limitations.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.max_transmission_unit: usize
Maximum transmission unit.
The network device is unable to send or receive frames larger than the value returned by this function.
For Ethernet devices, this is the maximum Ethernet frame size, including the Ethernet header (14 octets), but not including the Ethernet FCS (4 octets). Therefore, Ethernet MTU = IP MTU + 14.
Note that in Linux and other OSes, “MTU” is the IP MTU, not the Ethernet MTU, even for Ethernet devices. This is a common source of confusion.
Most common IP MTU is 1500. Minimum is 576 (for IPv4) or 1280 (for IPv6). Maximum is 9216 octets.
max_burst_size: Option<usize>
Maximum burst size, in terms of MTU.
The network device is unable to send or receive bursts large than the value returned by this function.
If None
, there is no fixed limit on burst size, e.g. if network buffers are
dynamically allocated.
checksum: ChecksumCapabilities
Checksum behavior.
If the network device is capable of verifying or computing checksums for some protocols, it can request that the stack not do so in software to improve performance.
Trait Implementations§
Source§impl Clone for Capabilities
impl Clone for Capabilities
Source§fn clone(&self) -> Capabilities
fn clone(&self) -> Capabilities
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for Capabilities
impl Debug for Capabilities
Source§impl Default for Capabilities
impl Default for Capabilities
Source§fn default() -> Capabilities
fn default() -> Capabilities
Auto Trait Implementations§
impl Freeze for Capabilities
impl RefUnwindSafe for Capabilities
impl Send for Capabilities
impl Sync for Capabilities
impl Unpin for Capabilities
impl UnwindSafe for Capabilities
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)