Ensure that click_ino is prepare()d with mutual exclusion.

Derrick Pallas found this one too! Will this suffice?

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
clickfs: More synchronization clarification. Thanks Derrick!
Don't install tool includes multiply.
Much, much faster to do installtree in Perl.
Add click_write_fence().

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Ensure that ClickIno::_generation is set in the proper order.
Const correctness for array_memory::move_construct.
add click inputswitch

InputSwitch is like Switch, except it selects an input port rather than
an output port. Unlike PullSwitch, InputSwitch uses push processing.

For example, for a wireless roaming client you can now say:
    ap0, ap1, ap2
    => cli_in_sw :: InputSwitch(0)
    -> cli
    -> cli_out_sw :: Switch(0)
    => ap0, ap1, ap2;

and then:
    write cli_in_sw.switch 1,
    write cli_out_sw.switch 1,
to make it roam to ap1.

Reviewed-by: cliff@meraki.com
Signed-off-by: Patrick Verkaik <patrick@meraki.net>
Merge pull request #86 from trackpick/inputswitch

add click inputswitch
ToDevice.u: Only select default METHOD if supported.

Fix bug introduced in 3d46d1b5, triggered if the methods enabled by
TODEVICE_ALLOW_* and FROMDEVICE_ALLOW_* do not match, in which case a
default METHOD could be selected that was only enabled for FromDevice.u
and not for ToDevice.u, causing ToDevice.u to silently drop packets.

Signed-off-by: Søren Løvborg <soeren.j.loevborg@siemens.com>
ToDevice.u: Document METHOD values and defaults.

Signed-off-by: Søren Løvborg <soeren.j.loevborg@siemens.com>
configure: Fix argument order for probing libpcap.

Fix configure script, which would incorrectly pass -lpcap to gcc
BEFORE the source file, causing problems detecting libpcap features
under some circumstances.

Signed-off-by: Søren Løvborg <soeren.j.loevborg@siemens.com>
Merge pull request #85 from kwi-dk/master

ToDevice.u and configure bugfixes
linuxmodule/FromHost: add ether handler

Previously, one would need to

	ifconfig dev down
	ifconfig dev hw ether 01:02:03:04:05:06
	ifconfig dev up

in order to change the MAC address of a FromDevice.  This commit adds a
handler that does all of this automatically, which means you can change the
MAC from a Script.

This is useful if you have a FromHost/ToHost that are hooked up to a
ToDevice/FromDevice and you want the MACs to match.  If the actual interface
might not actually be available at click initialization time, this handler
make it possible to adjust the FromHost once the FromDevice is attached.
IPClassifier: Add per-output pattern handlers.

Request from Momina Khan. Meraki has something like this.
Merge pull request #87 from pallas/master

linuxmodule/FromHost: add ether handler
shaper: add output port for packets that do meet the shaping condition

For example, you can do rate limited printing in pull context as
follows:
..
-> Shaper(10)
=> ( [0] -> Print -> [0];
     [1] -> [1] )
=> RoundRobinSched
-> ..

Also, add a reset handler for use by the testie that's part of this
change.

Reviewed-by: cliff@meraki.com
Signed-off-by: Patrick Verkaik <patrick@meraki.net>
shaper: fix header file documentation
Merge pull request #88 from trackpick/shaper

shaper: add output port for packets that do meet the shaping condition
Update .gitignores.