Re: [PATCH] tcpdump may trace some outbound packets twice.

From: David S. Miller
Date: Tue May 16 2006 - 00:21:04 EST


From: Patrick McHardy <kaber@xxxxxxxxx>
Date: Tue, 16 May 2006 03:22:21 +0200

> Patrick McHardy wrote:
> > 3) Clone the skb and have dev_queue_xmit_nit() consume it.
> >
> > That should actually be pretty easy.
>
> On second thought, thats not so great either. netdev_nit
> just globally signals that there are some taps, but we
> don't know if they're interested in a specific packet.

Yes, and all of these issues coming up are why we do the
dev_queue_xmit_nit() before not after we try to give it to the device.

Even the "NIT done" bit doesn't work, for cases like ICMP replies
which can reuse the SKB received, over loopback. Sure we can try to
forcefully clear the bit everywhere we reuse buffers for replies like
that, but I wish anyone trying to implement that the best of luck
finding all spots successfully.

To be honest, I don't think this bug is worth all the energy we are
trying to put into fixing it.

We get a double packet when the spinlock is hit, big deal.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/