ws_topology: Avoid controller name confliction

Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
ws_topology: Handle WebSocket disconnection

Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Add GUI app

Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
bgp: support IPv6 peering

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
ws_topology: shut up pep8 for long lines in a comment

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
document ryu.app.ofctl

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
sw test tool: Enable IPv6 flow label maskable

OF 1.3.4 spec (B.15.1 Changes) says:

    Make IPv6 flow label maskable (EXT-101).

This patch makes IPv6 flow label maskable, and adds a test file for IPv6 flow label with masks.

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
package: add python-ryu-doc

This patch adds python-ryu-doc package which contains the HTML
documentation generated from doc/.
Also updates the man pages in doc/source/man/.

Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
app_manager: prevent loading unnecessary RyuApps

don't load RyuApps which is just imported and not defined in the module.
for example, if we run the script "test.py" as shown below by

$ ryu run test.py

the past implementation loads and instantiates not only Test but also RyuApp
and DPSet. this patch fix this wrong behavior

test.py
===

from ryu.base.app_manager import RyuApp
from ryu.controller.dpset import DPSet

class Test(RyuApp):
    _CONTEXTS = {'dpset' : DPSet}

Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
ofa_neutron_agent: Simplify

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
AppManager: Add a convenient method to run apps

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
ofa_neutron_agent: Use AppManager.run_apps

No functional changes are intended.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
ofa_neutron_agent: Remove unused logger instance

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
ofa_neutron_agent: Change the copyright notice

As a preparation to move this module to neutron repo,
change the copyright notice to the style commonly found there.

Also, add myself as co-author.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
library_bgp_speaker.rst: make an example more complete

also, while i'm here, remove trailing whitespaces in the example.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
bgp: fix a crash in path comparison

this fixes the following crash.

API method core.start called with args: {'router_id': '172.17.190.2', 'waiter':<
<ryu.lib.hub.Event object at 0x7f903ed084d0>, 'bgp_server_port': 179, 'local_as:
: 64512, 'refresh_max_eor_time': 0, 'refresh_stalepath_time': 0}
API method neighbor.create called with args: {'cap_mbgp_vpnv6': False, 'ip_addrs
ss': '172.17.190.3', 'cap_mbgp_vpnv4': False, 'remote_as': 64512, 'cap_mbgp_ipv'
': True}
API method neighbor.create called with args: {'cap_mbgp_vpnv6': False, 'ip_addrs
ss': '172.17.190.4', 'cap_mbgp_vpnv4': False, 'remote_as': 64512, 'cap_mbgp_ipv'
': True}
Connection to peer: 172.17.190.3 established
Connection to peer: 172.17.190.4 established
the best path changed: 64512 0.0.0.0/0 172.17.190.3 False
hub: uncaught exception: Traceback (most recent call last):
  File "/opt/ryu/ryu/lib/hub.py", line 52, in _launch
    func(*args, **kwargs)
  File "/opt/ryu/ryu/services/protocols/bgp/base.py", line 241, in start
    self._run(*args, **kwargs)
  File "/opt/ryu/ryu/services/protocols/bgp/processor.py", line 97, in _run
    self._process_dest()
  File "/opt/ryu/ryu/services/protocols/bgp/processor.py", line 114, in _proces_
_dest
    next_dest.process()
  File "/opt/ryu/ryu/services/protocols/bgp/info_base/base.py", line 396, in prc
cess
    self._process()
  File "/opt/ryu/ryu/services/protocols/bgp/info_base/base.py", line 366, in _po
ocess
    new_best_path, reason = self._process_paths()
  File "/opt/ryu/ryu/services/protocols/bgp/info_base/base.py", line 485, in _po
ocess_paths
    current_best_path, reason = self._compute_best_known_path()
  File "/opt/ryu/ryu/services/protocols/bgp/info_base/base.py", line 588, in _cm
mpute_best_known_path
    next_path)
  File "/opt/ryu/ryu/services/protocols/bgp/processor.py", line 252, in computeb
best_path
    best_path = _cmp_by_router_id(local_asn, path1, path2)
  File "/opt/ryu/ryu/services/protocols/bgp/processor.py", line 495, in _cmp_byr
router_id
    local_bgp_id = path_source1.protocol.sent_open.bgpid
AttributeError: 'Peer' object has no attribute 'protocol'

Tested-by: Itsuro ODA <oda@valinux.co.jp>
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
bgp: fix some leftover of transition to packet lib bgp

fix some leftover of commit 9d5e66fa4e49ce66103dbc9640a33bd9c22fab3f.
("bgp: use ryu bgp packet library instead of original one")

Tested-by: Itsuro ODA <oda@valinux.co.jp>
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
bgp: fix another crash (recv_open -> recv_open_msg)

Tested-by: Itsuro ODA <oda@valinux.co.jp>
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
bgp: fix example code

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
bgp: fix best_path_change_handler for best_path_lost

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