[BGPCEP-483] use Beryllium-SR2, for one route,bgp maybe advertising not best one to peer Created: 18/Jun/16  Updated: 03/Mar/19  Resolved: 08/Aug/16

Status: Resolved
Project: bgpcep
Component/s: BGP
Affects Version/s: Bugzilla Migration
Fix Version/s: Bugzilla Migration

Type: Bug
Reporter: dongfang chen Assignee: Ajay L
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 6083

 Description   

controller has two rr-client peers,peer A and peer B.
A and B advertising route 11.12.13.0/24 to controller.
ex:11.12.13.0/24 from A is better.controller reflect 11.12.13.0/24 to B,nexthop is A.
when B'route advertising early A'route.controller also advertising 11.12.13.0/24 to A,nexthop B.

example of bgp rib data as:
<module xmlns="urn:opendaylight:params:xml:ns:yang:controller:config"><type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">x:rib-impl</type><name>example-bgp-rib</name><session-reconnect-strategy xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:protocol:framework">x:reconnect-strategy-factory</type><name>example-reconnect-strategy-factory</name></session-reconnect-strategy><rib-id xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">example-bgp-rib</rib-id><extensions xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:spi">x:extensions</type><name>global-rib-extensions</name></extensions><codec-tree-factory xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">x:binding-codec-tree-factory</type><name>runtime-mapping-singleton</name></codec-tree-factory><tcp-reconnect-strategy xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:protocol:framework">x:reconnect-strategy-factory</type><name>example-reconnect-strategy-factory</name></tcp-reconnect-strategy><rpc-registry xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">x:binding-rpc-registry</type><name>binding-rpc-broker</name></rpc-registry><data-provider xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">x:binding-async-data-broker</type><name>pingpong-binding-data-broker</name></data-provider><local-as xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">20</local-as><bgp-dispatcher xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type>bgp-dispatcher</type><name>global-bgp-dispatcher</name></bgp-dispatcher><dom-data-provider xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">x:dom-async-data-broker</type><name>pingpong-broker</name></dom-data-provider><schema-provider xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">x:schema-service</type><name>yang-schema-service</name></schema-provider><local-table xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type>bgp-table-type</type><name>ipv4-unicast</name></local-table><local-table xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type>bgp-table-type</type><name>ipv6-unicast</name></local-table><local-table xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type>bgp-table-type</type><name>linkstate</name></local-table><local-table xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type>bgp-table-type</type><name>flowspec</name></local-table><local-table xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl"><type>bgp-table-type</type><name>vpnv4</name></local-table><bgp-rib-id xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">10.42.88.65</bgp-rib-id></module>



 Comments   
Comment by Ajay L [ 06/Jul/16 ]

Hi Dongfang

I am able to see the issue with Beryllium-SR2 release. I am proposing a fix for it

However it does not happen on latest/master (Boron) snapshot. Can you please try it on your setup and confirm the same? You can get the latest distribution snapshots here: https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.5.0-SNAPSHOT/

Thanks
Ajay

Comment by Ajay L [ 06/Jul/16 ]

stable/beryllium: https://git.opendaylight.org/gerrit/#/c/41423/

Issue not seen in master. Add-path feature changes seem to have taken care of this issue in master

Comment by Ajay L [ 08/Aug/16 ]

After further discussion it was decided that sending withdraw to remove older route when best route changes is not the right way to go about it for performance reasons. New best route should be communicated as part of update message and this will require controller to wait till it receives all updates from peer before doing best path calculation and sending updates. Bug https://bugs.opendaylight.org/show_bug.cgi?id=6360 - Implement BGP read-only mode - has been opened to track this enhancement. Boron behavior is being made similar to Beryllium through https://bugs.opendaylight.org/show_bug.cgi?id=6317

Generated at Wed Feb 07 19:13:12 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.