bgp: fix bug of Path formatting in "show neighbor"

The field of "Path" has not displayed in properly as bellow.
It looks the raw data of Origin code has displayed instead.

bgpd> show neighbor received-routes 192.168.101.101 all
Status codes: x filtered
Origin codes: i - IGP, e - EGP, ? - incomplete
    Timestamp           Network                          Labels   Next Hop             Metric LocPrf Path
    2015/02/05 07:39:05 192.168.1.0/30                   None     192.168.101.101      100    None   [65010] 2
    2015/02/05 07:39:05 192.168.2.0/30                   None     192.168.101.101      100    None   [65010] 2
    2015/02/05 07:39:05 0.0.0.0/0                        None     192.168.101.101      100    None   [65010, 65001] 2

Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
Toshiki Tsuboi 2015-02-05 17:30:10 +09:00 committed by FUJITA Tomonori
parent b4c488f807
commit 79774a3fe9

@ -12,6 +12,9 @@ from ryu.lib.packet.bgp import RF_IPv4_UC
from ryu.lib.packet.bgp import RF_IPv6_UC
from ryu.lib.packet.bgp import RF_IPv4_VPN
from ryu.lib.packet.bgp import RF_IPv6_VPN
from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_IGP
from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_EGP
from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_INCOMPLETE
LOG = logging.getLogger('bgpspeaker.operator.commands.show.neighbor')
@ -101,6 +104,14 @@ class SentRoutes(Command):
path = v.get('path')
aspath = path.get('as_path')
origin = path.get('origin')
if origin == BGP_ATTR_ORIGIN_IGP:
origin = 'i'
elif origin == BGP_ATTR_ORIGIN_EGP:
origin = 'e'
elif origin == BGP_ATTR_ORIGIN_INCOMPLETE:
origin = '?'
if origin:
aspath = aspath + [origin]