Improve integration of MPLS

MPLS is not fully supported. Functionality was added mainly to allow
parsing of MPLS arguments.

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Integrate recirculation id and datapath hash

NOTE: It is not fully implemented (namely, the actions are not
implemented).

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Integrate tcp flags (PI arg)

ovs 2.3 uses a new field, called tcpFlags.

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Integrate megaflow stats and user features (datapath)

ovs 2.3

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Begin integration of OAM and Geneve port types

NOTE: This commit only helps later integration of these port types.
Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Update flow stats to ovs 2.3

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Update / fix _ExecuteAction_Sample
Fix CreateMsgFromDatapath

datapathName was re-assigned after having been allocated.

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Fix FlowMatch_Initialize

in port must be initialized to OVS_INVALID_PORT_NUMBER.

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Fix PersPort_Delete

pPorts was being used before being initialized.

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Fix Packet_Execute

If in port is OVS_INVALID_PORT => we must set internal port instead.

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Add support for multiple upcall port ids

ovs 2.3.

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Integrate port stats

ovs 2.3.

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
arg eth type is optional in ovs 2.3

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
improve arg verification for flow new/set

for ovs 1.11, eth type and eth address are requirred.
for ovs 2.3, eth address is required.

Also, flow 'clear stats' is no longer used in ovs 2.3 for
flow/set

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
check msg flag 'echo' for flow/new

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
fix PI eth info tci initialization

the PacketInfo->ethInfo.tci must be initialized to 0xFFFF, if no vlan
tci arg was passed for PI-s.

Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>