Performance optimizations

Do not use everytime buffer creation for each Ethernet, UDP and general
packet processing. Use channels to synchronize access to that shared
buffers.

Signed-off-by: Sergey Matveev <stargrave@stargrave.org>