summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorToshiki Tsuboi <t.tsubo2000@gmail.com>2014-11-23 14:14:14 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2014-11-25 11:21:21 +0900
commitaa497ed5d9f27f61f5153c3ef3e3632b6d6f5fc0 (patch)
tree1929dcc53b5ffd30764fbc6b77fc65e996aaa781
parent00b84aa3c041e71c2d252264dbe6efa411c71ded (diff)
bgp: bug fix of handling nexthop for eBGP peering
RyuBGP doesn't work properly becase of handling wrong nexthop address. Therefore, in spite of receiving BGP UPDATE Message in the peering router, the router fails to learn a new route entry from RyuBGP in BGP table. (Memo: this issue has not occurred in Vpnv4/mpBGP environment.) (1) register route entry as prefix_add(prefix='x,x,x,x', next_hop='y.y.y.y') static eBGP ------- R1 ------------ RyuBGP ---------> Router x.x.x.x y.y.y.y z.z.z.z => Drop UPDATE(Nexthop: y.y.y.y) (2) receiving BGP UPDATE Message from iBGP session iBGP eBGP ------- R1 -----------> RyuBGP ---------> Router x.x.x.x y.y.y.y z.z.z.z => Drop UPDATE(Nexthop: y.y.y.y) Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/services/protocols/bgp/peer.py6
1 files changed, 0 insertions, 6 deletions
diff --git a/ryu/services/protocols/bgp/peer.py b/ryu/services/protocols/bgp/peer.py
index 48806bcb..d293774f 100644
--- a/ryu/services/protocols/bgp/peer.py
+++ b/ryu/services/protocols/bgp/peer.py
@@ -802,11 +802,6 @@ class Peer(Source, Sink, NeighborConfListener, Activity):
"""
route_family = path.route_family
- if route_family == RF_IPv4_UC and path.nexthop != '0.0.0.0':
- return path.nexthop
- if route_family == RF_IPv6_UC and path.nexthop != '::':
- return path.nexthop
-
# By default we use BGPS's interface IP with this peer as next_hop.
if self._neigh_conf.next_hop:
next_hop = self._neigh_conf.next_hop
@@ -857,7 +852,6 @@ class Peer(Source, Sink, NeighborConfListener, Activity):
unkown_opttrans_attrs = None
nlri_list = [path.nlri]
- # MP_REACH_NLRI Attribute.
# By default we use BGPS's interface IP with this peer as next_hop.
# TODO(PH): change to use protocol's local address.
# next_hop = self.host_bind_ip