pub struct VirtioNetDevice {
device: VirtioDevice,
rx_queue: SpinLock<Virtqueue>,
tx_queue: SpinLock<Virtqueue>,
mac_address: [u8; 6],
pub rx_frames: SpinLock<FixedQueue<(PhysFrame, u8), RX_FRAME_TRACK_CAPACITY>>,
}Expand description
VirtIO Network Device driver
Fields§
§device: VirtioDevice§rx_queue: SpinLock<Virtqueue>§tx_queue: SpinLock<Virtqueue>§mac_address: [u8; 6]§rx_frames: SpinLock<FixedQueue<(PhysFrame, u8), RX_FRAME_TRACK_CAPACITY>>Implementations§
Trait Implementations§
Source§impl NetworkDevice for VirtioNetDevice
impl NetworkDevice for VirtioNetDevice
Source§fn mac_address(&self) -> [u8; 6]
fn mac_address(&self) -> [u8; 6]
Performs the mac address operation.
fn handle_interrupt(&self)
impl Send for VirtioNetDevice
impl Sync for VirtioNetDevice
Auto Trait Implementations§
impl !Freeze for VirtioNetDevice
impl !RefUnwindSafe for VirtioNetDevice
impl Unpin for VirtioNetDevice
impl UnsafeUnpin for VirtioNetDevice
impl UnwindSafe for VirtioNetDevice
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more