sw test tool: Add a link between switches

This change is for tests that use group_table.

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
sw test tool: Add support for initialization of group tables

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
sw test tool: Add support for installation of group tables

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
sw test tool: Add support for confirmation of installed group entries

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
sw test tool: Enable parsing OFPGroupMod messages in 'prerequisite'

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
sw test tool: Enable sending packets using random values

The switch test tool is now enabled to send packets using random values as follows:

        "tests":[
            {
                "ingress":{
                    "packets":{
                        "data":[
                            "ethernet(dst=netaddr.EUI(randint(0, 2 ** 48 - 1)), ethertype=2048)",
                            "ipv4(proto=6, src=netaddr.IPAddress(randint(0, 2 ** 32 - 1)))",
                            "tcp(dst_port=randint(0, 2 ** 16 - 1))",
                            "str(\"\\x11\" * (1500 - 54))"
                        ],
                        "pktps":1000,
                        "duration_time":30
                    }
                },
                "egress":[
                    "ethernet(ethertype=2048)",
                    "ipv4(proto=6)",
                    "tcp()",
                    "str(\"\\x11\" * (1500 - 54))"
                ]
            }
        ]

When ingress.packets.data includes 'randint', the switch test tool will send each packet using random values.

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
sw test tool: Add default test files (group)

These test files aim to examine 'group action' of FlowMod message.

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>