ofctl_v1_2/3: MAC arbitrary bitmask support

ofctl_rest is now enabled to use MAC arbitrary bitmask as follows:

  curl -X POST -d '{"dpid": 1,
                    "actions":[{"port":2, "type":"OUTPUT"}],
                    "match":{"dl_dst":"01:02:03:ab:cd:ef/ff:ff:ff:ff:00:00"}}' http://localhost:8080/stats/flowentry/add

And now enabled to display as follows:

  curl http://localhost:8080/stats/flow/1
    {
      "1": [
        {
          "actions": ["OUTPUT:2"],
          "idle_timeout": 0,
          "cookie": 0,
          "packet_count": 0,
          "hard_timeout": 0,
          "byte_count": 0,
          "duration_nsec": 951000000,
          "priority": 0,
          "duration_sec": 35,
          "table_id": 0,
          "match": {"dl_dst": "01:02:03:ab:00:00/ff:ff:ff:ff:00:00"}
        }
      ]
    }

Signed-off-by: TAKAHASHI Minoru <takahashi.minoru7@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
sw test tool: Improve readability of tcp options

    option='\\x00\\x00\\x00\\x00'
->  option=str('\\x00' * 4)

    option='\\x11\\x11\\x11\\x11'
->  option=str('\\x11' * 4)

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
sw test tool: Improve readability of icmp data

    data='\\xd3]\\xb7\\xe3\\x9e\\xbb\\xf3\\xd6\\x9bq\\xd7\\x9f\\x82\\x18\\xa3\\x92Y\\xa7\\xa2\\x9a\\xab\\xb2\\xdb\\xaf\\xc3\\x1c\\xb3\\x00\\x10\\x83\\x10Q\\x87 \\x92\\x8b'
->  data=str('\\x00' * 36)

    data='\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f !\"#$%&\\'()*+,-./0123'
->  data=str(''.join(chr(a) for a in range(52)))

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
sw test tool: Improve readability of padding data

    str(\"\\x00\" * (60 - 42))
->  str('\\x00' * (60 - 42))

    str(\"\\x11\" * (1500 - 54))
->  str('\\x11' * (1500 - 54))

    '\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'
->  str(''.join(chr(a+1) for a in range(31)))

    '\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'
->  str('\\x00' * 30)

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
sw test tool: Improve readability of MAC mask values

    1099511627775
->  "00:ff:ff:ff:ff:ff"

    281474976710400
->  "ff:ff:ff:ff:ff:00"

    281474959998975
->  "ff:ff:ff:00:ff:ff"

    281470698520575
->  "ff:ff:00:ff:ff:ff"

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
sw test tool: Improve readability of IP mask values

    4294967040
->  "255.255.255.0"

    4294902015
->  "255.255.0.255"

    340282366920938463463374607431768145920
->  "ffff:ffff:ffff:ffff:ffff:ffff:ffff:0"

    5192296858534827628530496329220095
->  "0:ffff:ffff:ffff:ffff:ffff:ffff:ffff"

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