Don't lock the TX queue of a device in newer Linux kernels.

This bug was revealed by commit 5b88803. Regardless of the
NETIF_F_LLTX flag, we should not lock the TX queue of the device
ourselves with newer kernels, since we call the dev_queue_xmit()
function that locks the queue if needed.
linuxmodule/todevce: don't attempt to defer packet after dev_queue_xmit

After dev_queue_xmit, the packet has been consumed regardless of ret. If ret
were not zero, _q = p despite this fact and it will be Packet::kill'd by
ToDevice::cleanup.  We could skb_clone but that seems wasteful; instead,
drop.

We could also skb_get and then consume_skb on success except that there are
some network drivers (e.g. ppp_generic) that assume the skb it unshared and
will BUG otherwise.
ethernet: add functionality for storing enet addrs in anno area

This roughly correspond to the get/set/store ipaddress elements.

Signed-off-by: Cliff Frey <cliff@meraki.com>
Uninitialized timestamp variable fix
Fix Args::read_or_set.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Merge branch 'master' of git://github.com/kohler/click
Fix Args::read_or_set the right way.

And add a test.
Linuxmodule: Fixincludes works for Linux 3.5.

- Double asmlinkage considered stupid
- Give up on fixing notrace
- G++, why?
Merge pull request #68 from srcman/linuxmodule-patches

TX queue locking fix
Improve compilability on Linux 3.5.
Proclikefs: Make it work on 3.5.

And make it not work any more on <2.4.10.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Merge pull request #73 from piotrjurkiewicz/master

Uninitialized timestamp variable in RandomSource
Merge pull request #72 from clifffrey/add-get-set-etheraddress

ethernet: add functionality for storing enet addrs in anno area
Merge pull request #71 from pallas/master

linuxmodule/todevce: don't attempt to defer packet after dev_queue_xmit
{Get,Store}EtherAddress: Clean up warnings.
Linuxmodule proclikefs: Use mutexes instead of spinlocks.

Mutexes are friendlier to kernels that use CONFIG_PREEMPT and
CONFIG_LOCKDEP.

Original versions of this and related commits to come were provided by
Kevin Paul Herbert at Meraki.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Signed-off-by: Kevin Paul Herbert <kph@meraki.net>
Linuxmodule clickfs: Synchronize using mutexes, not spinlocks.

This allows handlers to be able to sleep, and is generally friendlier
as code can take spinlocks when holding a mutex, but not the other way
around. This also makes Click friendlier to kernels which use
CONFIG_PREEMPT and CONFIG_LOCKDEP.

A version of Kevin's commit.

Signed-off-by: Kevin Paul Herbert <kph@meraki.net>
Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Maybe someone actually needs <asm/system.h>

which I preemptively removed in be5aaf113.
Huh, fix awk syntax.
Internal: Use click_ino methods for inode number analysis.

Not macros.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>