fix segfault when fetching a packet by buffer_id

In save_packet(), we store the buffer in packet_in_buffers,
duplicate_buffer() does memory copy for us. Unfortunately,
the content of user_data is a set of pointers which points to
buffer address. So copying the address will point to old buffer,
which will be freed. Fetching by buffer_id and access to
user_data causes segmentation fault.
add copy packet_info that holds packet_parse() result

Instead of discarding invalid data, copy_packet_info() copies
buffer->user_data with fixing the pointer address to new one.
reset_buffer() should reset associated user_data
always reset_buffer() before reusing device recieve buffer.

buffers fetched from device->recv_queue were not reset.
fix typo
allow any type in vlan capsule

vlan tag push/pop operation can be more simple.
remove bogus parse_packet

packet_info will be broken because new ethertype is not set at this
call phase.
Add explicit cast for pointer-arith
fix segfault when fetching a packet by buffer_id

In save_packet(), we store the buffer in packet_in_buffers,
duplicate_buffer() does memory copy for us. Unfortunately,
the content of user_data is a set of pointers which points to
buffer address. So copying the address will point to old buffer,
which will be freed. Fetching by buffer_id and access to
user_data causes segmentation fault.
add copy packet_info that holds packet_parse() result

Instead of discarding invalid data, copy_packet_info() copies
buffer->user_data with fixing the pointer address to new one.
reset_buffer() should reset associated user_data
always reset_buffer() before reusing device recieve buffer.

buffers fetched from device->recv_queue were not reset.
fix typo
Add explicit cast for pointer-arith
Merge branches 'buffer_id_segfault' and 'buffer_id_segfault' of https://github.com/iHiroakiKawai/trema-edge into buffer_id_segfault
fix for pointer-arith warnings
Merge pull request #71 from iHiroakiKawai/any_in_vlan

Any in vlan
Merge pull request #62 from iHiroakiKawai/buffer_id_segfault

fix segfault when fetching a packet by buffer_id
pcap library capture support

In some cases SOCK_RAW does not capture vlan tag, and
generates a stripped packet. This happens on recent linux
which has PACKET_AUXDATA in <linux/if_packet.h>.
Compiling with -DWITH_PCAP -lpcap will create a libpcap
enabled version of trema switch.
Merge branches 'with_pcap' and 'with_pcap' of https://github.com/iHiroakiKawai/trema-edge into with_pcap