net: add function to get packet type from data
authorOlivier Matz <olivier.matz@6wind.com>
Mon, 3 Oct 2016 08:38:46 +0000 (10:38 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 11 Oct 2016 16:17:09 +0000 (18:17 +0200)
commitab09e04d2c3fa1f39d40307c599ed73d4a620d49
treea7b5c3c4befad5f3d52eb674a6143d7327d1a74b
parentb25c2a8c692df133ef9817adae197e009fa5c021
net: add function to get packet type from data

Introduce the function rte_net_get_ptype() that parses a mbuf and
returns its packet type. For now, the following packet types are parsed:
   L2: Ether
   L3: IPv4, IPv6
   L4: TCP, UDP, SCTP

The goal here is to provide a reference implementation for packet type
parsing. This function will be used by testpmd in next commits, allowing
to compare its result with the value given by the hardware.

This function will also be useful when implementing Rx offload support
in virtio pmd. Indeed, the virtio protocol gives the csum start and
offset, but it does not give the L4 protocol nor it tells if the
checksum is relevant for inner or outer. This information has to be
known to properly set the ol_flags in mbuf.

Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
Signed-off-by: Jean Dao <jean.dao@6wind.com>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
doc/guides/rel_notes/release_16_11.rst
lib/librte_net/Makefile
lib/librte_net/rte_net.c
lib/librte_net/rte_net.h [new file with mode: 0644]
lib/librte_net/rte_net_version.map