| To: | jgarzik@xxxxxxxxxxxxxxxx |
|---|---|
| Subject: | Re: IFF_PROMISC bug? |
| From: | "David S. Miller" <davem@xxxxxxxxxx> |
| Date: | Tue, 12 Feb 2002 20:58:09 -0800 (PST) |
| Cc: | linux-net@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx, kuznet@xxxxxxxxxxxxx |
| In-reply-to: | <3C69F19E.4FF14164@xxxxxxxxxxxxxxxx> |
| References: | <3C69C7F5.C196F6BB@xxxxxxxxxxxxxxxx> <20020212.204308.111207103.davem@xxxxxxxxxx> <3C69F19E.4FF14164@xxxxxxxxxxxxxxxx> |
| Sender: | owner-netdev@xxxxxxxxxxx |
From: Jeff Garzik <jgarzik@xxxxxxxxxxxxxxxx>
Date: Tue, 12 Feb 2002 23:54:54 -0500
Since netlink flags and dmesg show promisc mode, and promisc mode works,
and SIOCGIFLAGS used to return IFF_PROMISC, I made the assumption that
the problem was elsewhere :)
Can you trace the value of dev->gflags for me through all of these
actions? It should contain IFF_PROMISC when set by this bit of code:
if ((flags^dev->gflags)&IFF_ALLMULTI) {
int inc = (flags&IFF_ALLMULTI) ? +1 : -1;
dev->gflags ^= IFF_ALLMULTI;
dev_set_allmulti(dev, inc);
}
in net/core/dev.c:dev_change_flags(), which is the only way
dev_set_promiscuity and the dmesg log you see can occur.
This code and logic hasn't even changed between 2.2 and 2.4.x
in fact.
I'm stumped :)
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: IFF_PROMISC bug?, Jeff Garzik |
|---|---|
| Next by Date: | Re: IFF_PROMISC bug?, Andi Kleen |
| Previous by Thread: | Re: IFF_PROMISC bug?, Jeff Garzik |
| Next by Thread: | Re: IFF_PROMISC bug?, Andi Kleen |
| Indexes: | [Date] [Thread] [Top] [All Lists] |