netdev_pcap::netdev_pcap(const char *name, class device_network_interface *ifdev, int rate) : netdev(ifdev, rate) { char errbuf[PCAP_ERRBUF_SIZE]; m_p = pcap_open_live_dl(name, 65535, 1, 1, errbuf); if(!m_p) { logerror("Unable to open %s: %s\n", name, errbuf); return; } if(pcap_set_datalink_dl(m_p, DLT_EN10MB) == -1) { logerror("Unable to set %s to ethernet", name); pcap_close_dl(m_p); m_p = NULL; return; } set_mac(get_mac()); }
netdev_pcap::~netdev_pcap() { if(m_p) pcap_close_dl(m_p); }
netdev_pcap::~netdev_pcap() { if(m_p && handle) pcap_close_dl(m_p); }