Hi
Let me share additional information as Packet capture.
As a result:
In spite of receiving two BGP UPDATE messages in BGPSpeaker, BMPStation has
received seven BMPRouteMonitoring messages.
$ ryu-manager --verbose bmpstation.py
loading app bmpstation.py
instantiating app bmpstation.py of BMPStation
BRICK bmpstation
listening on 0.0.0.0:11019
BMP client connected, ip=192.168.183.215, port=42747
2014 Dec 25 15:48:30 | 192.168.183.215 | BMPInitiation(info=[{'type': 0,
'value': u'This is Ryu BGP BMP message', 'len': 27}],len=37,type=4,version=3)
2014 Dec 25 15:48:30 | 192.168.183.215 |
BMPPeerUpNotification(is_post_policy=False,len=162,local_address='192.168.201.101',local_port=35320,peer_address='192.168.201.1',peer_as=65001,peer_bgp_id='10.0.0.1',peer_distinguisher=0,peer_type=0,received_open_message=BGPOpen(bgp_identifier='10.0.0.1',hold_time=180,len=53,my_as=65001,opt_param=[BGPOptParamCapabilityMultiprotocol(afi=1,cap_code=1,cap_length=4,length=6,reserved=0,safi=1,type=2),
BGPOptParamCapabilityCiscoRouteRefresh(cap_code=128,cap_length=0,length=2,type=2),
BGPOptParamCapabilityRouteRefresh(cap_code=2,cap_length=0,length=2,type=2),
BGPOptParamCapabilityFourOctetAsNumber(as_number=65001,cap_code=65,cap_length=4,length=6,type=2)],opt_param_len=24,type=1,version=4),remote_port=179,sent_open_message=BGPOpen(bgp_identifier='10.0.1.1',hold_time=40,len=41,my_as=65002,opt_param=[BGPOptParamCapabilityMultiprotocol(afi=1,cap_code=1,cap_length=4,length=6,reserved=0,safi=1,type=2),
BGPOptParamCapabilityRouteRefresh(cap_code=2,cap_length=0,length=2,type=2)],opt_param_len=12,type=1,version=4),timestamp=1419490068.638556,type=3,version=3)
2014 Dec 25 15:48:30 | 192.168.183.215 |
BMPRouteMonitoring(bgp_update=BGPUpdate(len=66,nlri=[BGPNLRI(addr='0.0.0.0',length=0),
BGPNLRI(addr='192.168.201.0',length=24),
BGPNLRI(addr='192.168.100.0',length=24),
BGPNLRI(addr='172.16.101.0',length=24),
BGPNLRI(addr='10.0.0.1',length=32)],path_attributes=[BGPPathAttributeOrigin(flags=64,length=1,type=1,value=2),
BGPPathAttributeAsPath(flags=64,length=4,type=2,value=[[65001]]),
BGPPathAttributeNextHop(flags=64,length=4,type=3,value='192.168.201.1'),
BGPPathAttributeMultiExitDisc(flags=128,length=4,type=4,value=100)],total_path_attribute_len=25,type=2,withdrawn_routes=[],withdrawn_routes_len=0),is_post_policy=True,len=114,peer_address='192.168.201.1',peer_as=65001,peer_bgp_id='10.0.0.1',peer_distinguisher=0,peer_type=0,timestamp=1419490069.0,type=0,version=3)
2014 Dec 25 15:48:30 | 192.168.183.215 |
BMPRouteMonitoring(bgp_update=BGPUpdate(len=66,nlri=[BGPNLRI(addr='0.0.0.0',length=0),
BGPNLRI(addr='192.168.201.0',length=24),
BGPNLRI(addr='192.168.100.0',length=24),
BGPNLRI(addr='172.16.101.0',length=24),
BGPNLRI(addr='10.0.0.1',length=32)],path_attributes=[BGPPathAttributeOrigin(flags=64,length=1,type=1,value=2),
BGPPathAttributeAsPath(flags=64,length=4,type=2,value=[[65001]]),
BGPPathAttributeNextHop(flags=64,length=4,type=3,value='192.168.201.1'),
BGPPathAttributeMultiExitDisc(flags=128,length=4,type=4,value=100)],total_path_attribute_len=25,type=2,withdrawn_routes=[],withdrawn_routes_len=0),is_post_policy=True,len=114,peer_address='192.168.201.1',peer_as=65001,peer_bgp_id='10.0.0.1',peer_distinguisher=0,peer_type=0,timestamp=1419490069.0,type=0,version=3)
2014 Dec 25 15:48:30 | 192.168.183.215 |
BMPRouteMonitoring(bgp_update=BGPUpdate(len=66,nlri=[BGPNLRI(addr='0.0.0.0',length=0),
BGPNLRI(addr='192.168.201.0',length=24),
BGPNLRI(addr='192.168.100.0',length=24),
BGPNLRI(addr='172.16.101.0',length=24),
BGPNLRI(addr='10.0.0.1',length=32)],path_attributes=[BGPPathAttributeOrigin(flags=64,length=1,type=1,value=2),
BGPPathAttributeAsPath(flags=64,length=4,type=2,value=[[65001]]),
BGPPathAttributeNextHop(flags=64,length=4,type=3,value='192.168.201.1'),
BGPPathAttributeMultiExitDisc(flags=128,length=4,type=4,value=100)],total_path_attribute_len=25,type=2,withdrawn_routes=[],withdrawn_routes_len=0),is_post_policy=True,len=114,peer_address='192.168.201.1',peer_as=65001,peer_bgp_id='10.0.0.1',peer_distinguisher=0,peer_type=0,timestamp=1419490069.0,type=0,version=3)
2014 Dec 25 15:48:30 | 192.168.183.215 |
BMPRouteMonitoring(bgp_update=BGPUpdate(len=57,nlri=[BGPNLRI(addr='10.0.0.2',length=32),
BGPNLRI(addr='192.168.202.0',length=24)],path_attributes=[BGPPathAttributeOrigin(flags=64,length=1,type=1,value=2),
BGPPathAttributeAsPath(flags=64,length=4,type=2,value=[[65001]]),
BGPPathAttributeNextHop(flags=64,length=4,type=3,value='192.168.201.1'),
BGPPathAttributeMultiExitDisc(flags=128,length=4,type=4,value=100)],total_path_attribute_len=25,type=2,withdrawn_routes=[],withdrawn_routes_len=0),is_post_policy=True,len=105,peer_address='192.168.201.1',peer_as=65001,peer_bgp_id='10.0.0.1',peer_distinguisher=0,peer_type=0,timestamp=1419490069.0,type=0,version=3)
2014 Dec 25 15:48:30 | 192.168.183.215 |
BMPRouteMonitoring(bgp_update=BGPUpdate(len=66,nlri=[BGPNLRI(addr='0.0.0.0',length=0),
BGPNLRI(addr='192.168.201.0',length=24),
BGPNLRI(addr='192.168.100.0',length=24),
BGPNLRI(addr='172.16.101.0',length=24),
BGPNLRI(addr='10.0.0.1',length=32)],path_attributes=[BGPPathAttributeOrigin(flags=64,length=1,type=1,value=2),
BGPPathAttributeAsPath(flags=64,length=4,type=2,value=[[65001]]),
BGPPathAttributeNextHop(flags=64,length=4,type=3,value='192.168.201.1'),
BGPPathAttributeMultiExitDisc(flags=128,length=4,type=4,value=100)],total_path_attribute_len=25,type=2,withdrawn_routes=[],withdrawn_routes_len=0),is_post_policy=True,len=114,peer_address='192.168.201.1',peer_as=65001,peer_bgp_id='10.0.0.1',peer_distinguisher=0,peer_type=0,timestamp=1419490069.0,type=0,version=3)
2014 Dec 25 15:48:30 | 192.168.183.215 |
BMPRouteMonitoring(bgp_update=BGPUpdate(len=66,nlri=[BGPNLRI(addr='0.0.0.0',length=0),
BGPNLRI(addr='192.168.201.0',length=24),
BGPNLRI(addr='192.168.100.0',length=24),
BGPNLRI(addr='172.16.101.0',length=24),
BGPNLRI(addr='10.0.0.1',length=32)],path_attributes=[BGPPathAttributeOrigin(flags=64,length=1,type=1,value=2),
BGPPathAttributeAsPath(flags=64,length=4,type=2,value=[[65001]]),
BGPPathAttributeNextHop(flags=64,length=4,type=3,value='192.168.201.1'),
BGPPathAttributeMultiExitDisc(flags=128,length=4,type=4,value=100)],total_path_attribute_len=25,type=2,withdrawn_routes=[],withdrawn_routes_len=0),is_post_policy=True,len=114,peer_address='192.168.201.1',peer_as=65001,peer_bgp_id='10.0.0.1',peer_distinguisher=0,peer_type=0,timestamp=1419490069.0,type=0,version=3)
2014 Dec 25 15:48:30 | 192.168.183.215 |
BMPRouteMonitoring(bgp_update=BGPUpdate(len=57,nlri=[BGPNLRI(addr='10.0.0.2',length=32),
BGPNLRI(addr='192.168.202.0',length=24)],path_attributes=[BGPPathAttributeOrigin(flags=64,length=1,type=1,value=2),
BGPPathAttributeAsPath(flags=64,length=4,type=2,value=[[65001]]),
BGPPathAttributeNextHop(flags=64,length=4,type=3,value='192.168.201.1'),
BGPPathAttributeMultiExitDisc(flags=128,length=4,type=4,value=100)],total_path_attribute_len=25,type=2,withdrawn_routes=[],withdrawn_routes_len=0),is_post_policy=True,len=105,peer_address='192.168.201.1',peer_as=65001,peer_bgp_id='10.0.0.1',peer_distinguisher=0,peer_type=0,timestamp=1419490069.0,type=0,version=3)
2015/01/09 14:47、ISHIDA Wataru <[email protected]> のメール:
Hi, Tsuboi-san
I've reproduced the problem and sent a patch to fix this.
Could you check it?
Thanks
On 2015/01/05 21:00, Toshiki Tsuboi wrote:
Hi,Team
I’ve found the issue in bmp.py.
In spite of receiving a update message from eBGP router, Ryu BMP client can’t send
"Route Monitoring messages” of ADJ-RIBs-in
to BMP server,
It looks BMP client always send "Route Monitoring messages” of ADJ-RIBs-out.
Therefore, BMP Server can’t understand the next-hop as peering eBGP router, in
case of next-hop-self mode in BGPSpeaker.
Could you please fix this issue in bmp.py.
Best regards.
Toshiki Tsuboi
------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel