pub trait PacketDevice {
    // Required methods
    fn get_address(&self) -> Ipv4Addr;
    fn pop(&self) -> Option<PacketRc>;
    fn push(&self, packet: PacketRc);
}pub trait PacketDevice {
    // Required methods
    fn get_address(&self) -> Ipv4Addr;
    fn pop(&self) -> Option<PacketRc>;
    fn push(&self, packet: PacketRc);
}