Fix bug in datagram:push()

The parse iovec index was not properly updated when a new buffer is
prepended to the packet.
Fix nd_light with respect to link-layer address options

Send source link-layer address option with neighbor solicitations.

Ignore options in received neighbor advertisements. Self-originated
solicited neighbor advertisement are created from a pre-fabricated
packet that contains the target link-layer address option instead of
turning around the incoming neighbor solicitation.
[cperf] Update README to reflect recent changes.
Update authorized_keys
[neutron2snabb] Fix designs/neutron/selftest.sh .
app.lua: Fix performance issue on with_restart()

with_restart has much better JIT behavior now that it takes a method
name instead of a closure to specify the code to run.
[src/Makefile] Capture stderr to testlog
config.lua: Remove "s" debug printout
Support "engine.log = true" to enable engine event logging
snabbnfv-traffic: Enable engine logging
timer.init() removed (timer module now auto-initializes)

Calling timer.init() now throws an error. Please remove all these
calls from the code base.

(It was lousy API design to require an explicit init call.)
Remove timer.init() calls/references from the codebase

This function was removed/obsoleted by the previous commit.
Remove VFIO support to simplify memory and device access

VFIO is a Linux kernel interface for controlling the IOMMU hardware.
https://www.kernel.org/doc/Documentation/vfio.txt

VFIO is a valuable feature and we do want to support it over the long
term. However, right now we do not completely use/trust/understand it,
and by removing it we can simplify the code in several ways:

- Remove C code that uses a complex Linux API.
- Remove Linux's vfio.h that we imported to work around build problems.
- Eliminate code duplication between pci.lua, vfio.lua, and bus.lua.
- Eliminate complex hooks/indirections in memory.lua.
- Eliminate the bus scan from app.lua (which slowed down startup).
- buffer.physical is now known to always be an actual physical address.

So let us re-introduce this feature in the future when we need it
enough to justify its complexity, and when we have the time to work
through all of its quirks and implications.

OBTW: also removed the memory.use_hugetlb option. Now snabbswitch
always uses HugeTLB. Again, we can reintroduce this when we need it.
engine.configure(): Fix order of operations during config update

Ensure that 'stop' actions are executed before 'start' actions.

Otherwise there can be problems when a new app and an old app both
want to use the same resource and the new app starts before the old
one has terminated. For example, when replacing an app like intel10g
that needs exclusive use of a PCI device.
[intel10g, pci] Exclusively lock PCI devices before use

This is to prevent two snabb processes from attempting to control the
same PCI device at the same time, which could lead to... hilarity.

This change also involves an explicit close operation on the PCI
device when the intel app is stopped.
[lib.nfv.config] More verbose debug output in selftest
nfv: in default config remove unsupported tables

Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
nfv: neutron sync agent fixes

Force sync on first run.

Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
lib.pcap: Fix memory corruption bug affecting unit tests

The bug could cause occasional segmentation faults in code that uses
the pcap reader library, such as the ipv6 and packet filter unit tests.

The bug is that ffi.copy() writes one by more than we want. See caveat
mentioned in the LuaJIT docs at http://luajit.org/ext_ffi_api.html:

    ffi.copy(dst, src):
    All bytes of the string plus a zero-terminator are copied to
    dst (i.e. #src+1 bytes).

Amusingly, this bug was introduced by the previous change (commit
8def5910) that simultaneously fixed a different more-or-less
equivalent bug in the same function.
lib.pcap: Remove 'extra' nonstandard pcap format extension

This was an old hack to store additional metadata on pcap records. Wed
don't use it anymore.