1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-07-07 14:55:28 +03:00

ead: fix bridge handling mistakes

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13846 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2009-01-04 00:21:24 +00:00
parent 1b97636c56
commit a4087cd37a

View File

@ -622,22 +622,21 @@ ead_pcap_reopen(bool first)
{ {
static char errbuf[PCAP_ERRBUF_SIZE] = ""; static char errbuf[PCAP_ERRBUF_SIZE] = "";
if (pcap_fp_rx != pcap_fp) if (pcap_fp_rx && (pcap_fp_rx != pcap_fp))
pcap_close(pcap_fp_rx); pcap_close(pcap_fp_rx);
if (pcap_fp) if (pcap_fp)
pcap_close(pcap_fp); pcap_close(pcap_fp);
pcap_fp_rx = pcap_fp; pcap_fp_rx = NULL;
do { do {
pcap_fp = pcap_open_live(ifname, PCAP_MRU, 1, PCAP_TIMEOUT, errbuf); pcap_fp = pcap_open_live(ifname, PCAP_MRU, 1, PCAP_TIMEOUT, errbuf);
#ifdef linux #ifdef linux
if (brname) { if (brname)
pcap_fp_rx = pcap_open_live(brname, PCAP_MRU, 1, PCAP_TIMEOUT, errbuf); pcap_fp_rx = pcap_open_live(brname, PCAP_MRU, 1, PCAP_TIMEOUT, errbuf);
#endif
if (!pcap_fp_rx) if (!pcap_fp_rx)
pcap_fp_rx = pcap_fp; pcap_fp_rx = pcap_fp;
}
#endif
pcap_setfilter(pcap_fp_rx, &pktfilter); pcap_setfilter(pcap_fp_rx, &pktfilter);
if (first && !pcap_fp) { if (first && !pcap_fp) {
DEBUG(1, "WARNING: unable to open interface '%s'\n", ifname); DEBUG(1, "WARNING: unable to open interface '%s'\n", ifname);