packet lib: icmp: correct parser() of TimeExceeded

Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
packet lib: ipv6: remove unnecessary import

Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
packet lib: ipv6: support udp

Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
packet lib: ipv6: simplify the operations of __init__()

before applying this patch:
  - ipv6.parser() uses 'nxt' of the last extension header
  - ipv6.__init__() rewrites 'nxt' in conjunction with extension headers
  - 'nxt' of the extension headers are set automatically, i.e. they are obscure

after applying this patch:
  - ipv6.parser() does not consider 'nxt' of the extension headers
  - ipv6.__init__() does not rewrite 'nxt'
  - 'nxt' of the extension headers are set manually as an argument of __init__()

Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
packet lib: ipv6: avoid dangerous default value [] as argument

Signed-off-by: itoyuichi <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
test_addrconv: add more test

Test '0.0.0.0' ipv4 address conversion.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
packet lib: implement basic part of BGP-4

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
unit test for lib.packet.bgp

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
doc: hook up lib.packet.bgp

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
streaming parser base class

will be used for BGP-4.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
implement BGP-4 streaming parser

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
doc: hook up streaming parser docs

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

HTTP routing and implements will be in the same place. This idea was
inspired from Flask and Bottle of Python and JAX-RS of Java. This
modification keeps backward compatibility.

Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
tests/integrated: fix mac address format

This fix following error.

$ ./run_tests.sh -i
(...)
ryu-manager: hub: uncaught exception: Traceback (most recent call last):
ryu-manager: File "/home/hideki/git/ryu/ryu/lib/hub.py", line 48, in _launch
ryu-manager: func(*args, **kwargs)
ryu-manager: File "/home/hideki/git/ryu/ryu/base/app_manager.py", line 110, in _event_loop
ryu-manager: handler(ev)
ryu-manager: File "/home/hideki/git/ryu/ryu/tests/integrated/test_request_reply_v12.py", line 996, in echo_replay_handler
ryu-manager: self.run_verify(ev)
ryu-manager: File "/home/hideki/git/ryu/ryu/tests/integrated/test_request_reply_v12.py", line 78, in run_verify
ryu-manager: self.start_next_test(dp)
ryu-manager: File "/home/hideki/git/ryu/ryu/tests/integrated/test_request_reply_v12.py", line 56, in start_next_test
ryu-manager: getattr(self, t)(dp)
ryu-manager: File "/home/hideki/git/ryu/ryu/tests/integrated/test_request_reply_v12.py", line 203, in test_error_reply
ryu-manager: dp.send_msg(m)
ryu-manager: File "/home/hideki/git/ryu/ryu/controller/controller.py", line 220, in send_msg
ryu-manager: msg.serialize()
ryu-manager: File "/home/hideki/git/ryu/ryu/ofproto/ofproto_parser.py", line 194, in serialize
ryu-manager: self._serialize_body()
ryu-manager: File "/home/hideki/git/ryu/ryu/ofproto/ofproto_v1_2_parser.py", line 1754, in _serialize_body
ryu-manager: self.port_no, addrconv.mac.text_to_bin(self.hw_addr),
ryu-manager: File "/home/hideki/git/ryu/ryu/lib/addrconv.py", line 27, in text_to_bin
ryu-manager: return self._addr(text, **self._addr_kwargs).packed
ryu-manager: File "/home/hideki/git/ryu/.venv/local/lib/python2.7/site-packages/netaddr/eui/__init__.py", line 376, in __init__
ryu-manager: self.value = addr
ryu-manager: File "/home/hideki/git/ryu/.venv/local/lib/python2.7/site-packages/netaddr/eui/__init__.py", line 434, in _set_value
ryu-manager: % (value, self._module.version))
ryu-manager: AddrFormatError: address '\xff\xff\xff\xff\xff\xff' is not an EUIv48