sw test tool: fix pop_pbb action

"The Pop PBB header action does not remove the backbone VLAN
header (B-TAG)" as described in openflow spec 1.3.3.
The format of I-TAG TCI is pcp,..,I-SID,C-DA,C-SA as in
802.1Q-2011 Figure 9-3.

Change the test senario, converting

from B-MAC/I-TAG/S-TAG/C-TAG/ethertype/Data
to   C-MAC/S-TAG/C-TAG/ethertype/Data

looks more common.

Reported-by: Hiroaki KAWAI <kawai@stratosphere.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of13: support OFPAactionExperimenter with data

The length check assert was added by FUJITA since the spec says that
lenght of data should be a multiple of 8.

Signed-off-by: Rob Udechukwu <rnudechu@ncsu.edu>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
sw test tool: fix missing to receive error of PacketOut

Since transaction ID of PacketOut message is not hold,
 an error message to this PacketOut is not able to be received.
This patch fixes it.

Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka1@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add OFPTableModProp

This may be table mod, table status and table desc messages.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add OFPTableDesc

This may be table status and table desc messages.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add table desc request and reply message support

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
packet_data_generator: of14: Add table desc

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add table desc unit tests

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add OFPTableModProp serialization

This will be used by at least the serialisation of
flow mod messages with properties.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add properties support to flow mod

With this change the initialiser of OFPTableMod now
requires a properties argument. This is incompatible with
Ryu v3.6. If it is important to maintain compatibility
then things can be reworked a little to make the properties
argument optional.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: table mod with properties

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add OFPQueueDescProp

This may be used by queue desc request and reply messages

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add OFPQueueDesc

This may be used by queue desc request and reply messages

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add queue desc request support

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
packet_data_generator: of14: Add queue desc request

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add queue desc request unit test

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add queue desc request support

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
packet_data_generator: of14: Add queue desc reply

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add queue desc reply unit test

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: Add OFPPropCommonExperimenter4ByteData

There are several different experimenter properties in OF1.4 which
are identical in structure. They have experimenter, exp_type
and data fields. The data field is an array of 4-byte words.

This patch adds OFPPropCommonExperimenter4ByteData which provides
a parser and serializer for such properties and can be inherited
by a subclass which implements one of the properties.

This patch also uses OFPPropCommonExperimenter4ByteData to implement
queue desc properties and table mod properties.

It is planned to use OFPPropCommonExperimenter4ByteData to implement
role properties.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>