fix pbb itag related tests

i-tagged packets will have ETH_TYPE=0x88E7. The tests are
rewritten in the same way with MPLS.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
sw test tool: Fix to compare OFPMatch ignoring masks that are all one bits

OF 1.3.3 spec (7.2.3.5 Flow Match Field Masking) says:

    An all-zero-bits oxm_mask is equivalent to omitting the OXM TLV entirely. An all-one-bits oxm_mask
    is equivalent to specifying 0 for oxm_hasmask and omitting oxm_mask.

This patch fixes to compare OFPMatch ignoring masks that are all one bits.

Reported-by: Arne Goetje <arne_goetje@accton.com>
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
sw test tool: Fix to compare OFPMatch ignoring fields that masks are all zero bits

OF 1.3.3 spec (7.2.3.5 Flow Match Field Masking) says:

    An all-zero-bits oxm_mask is equivalent to omitting the OXM TLV entirely. An all-one-bits oxm_mask
    is equivalent to specifying 0 for oxm_hasmask and omitting oxm_mask.

This patch fixes to compare OFPMatch ignoring fields that masks are all zero bits.

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
sw test tool: Correct the comparison method to treat matches as the set

OF 1.3.3 spec (3 Glossary) says:

    Flow Entry: an element in a flow table used to match and process packets. It contains a set of
    match fields for matching packets, a priority for matching precedence, a set of counters to track
    packets, and a set of instructions to apply (see 5.2).

According to OF spec, the match fields are treated as the set.
This means that the order of matches which flow_stats message returns is inconsistant.
This patch corrects the comparison method of matches by sorting in a particular order before comparison.

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of12: set default attributes for group-related classes

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of13: set default attributes for group-related classes

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
of14: set default attributes for group-related classes

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Rename to CONTRIBUTING.rst

This makes the GitHub interface aware of the contribution guidelines,
so it will be displayed to contributors when they submit issues or
pull requests.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
bgp: add stuff for integration with bgp speaker

Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
bgp: use ryu bgp packet library instead of original one

Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
bgp: remove original bgp packet library

Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
sw test tool: Fix to compare OFPMatch using masks without byte boundary

Mask lengths without byte boundary are fixed as follows:

 - VLAN_VID, from 16 bits (2 bytes) to 12 + 1 bits
 - IPV6_EXTHDR, from 16 bits (2 bytes) to 9 bits

Reported-by: Arne Goetje <arne_goetje@accton.com>
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
ryu.cfg: re-export some more stuff for convenience

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
allow overriding argv and progname

this will be used by the comming 'ryu' command.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
pip-requires: require oslo.config >= 1.2.0

specifically we want their commit de803cdf
(Change-Id: If712e1d51c1e1329093acb16ed6a84e9f0baf8c1)
for stable order of cli options.
the following sub-command commits rely on it.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
add bin/ryu

this new command takes a sub-command name as its first positional argument
and passes the rest of arguments to the corresponding sub-module.
for example, 'run' sub-command is an equivalent to bin/ryu-manager.

this commit does not replace the existing commands like ryu-manager.
this merely adds new ways to invoke the functionalities.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
add bin/ryu to PYLINT_INCLUDE

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
document ryu command

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
delete bin/rpc-cli

This command is available via ryu command.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
delete ryu/tests/bin/of-config-cli

This command is available via ryu command.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>