[BGPCEP-784] Bgp functional multipath test failures Created: 05/Apr/18  Updated: 14/Jun/18  Resolved: 07/May/18

Status: Verified
Project: bgpcep
Component/s: BGP
Affects Version/s: Fluorine
Fix Version/s: Fluorine

Type: Bug Priority: Medium
Reporter: Tomas Markovic Assignee: Claudio David Gasparini
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File addroute1.py     File addroute2.py     File addroute3.py     File conf1.py     File conf2.py     File conf3.py     File get_fullrib.sh     File get_ipv4_topology.sh     File get_loc_rib.sh    

 Description   

Overview: We configure example-bgp-rib with all-path and default policies, add internal neighbor and application peer. We add three different routes. At this point it is enough to check example-bgp-rib/loc-rib in oxygen we get

{"loc-rib":{"tables":[{"afi":"bgp-types:ipv4-address-family","safi":"bgp-types:unicast-subsequent-address-family","bgp-inet:ipv4-routes":{"ipv4-route":[{"path-id":3,"prefix":"1.1.1.1/32","attributes":{"multi-exit-disc":{"med":0},"origin":{"value":"igp"},"originator-id":{"originator":"41.41.41.41"},"local-pref":{"pref":300},"as-path":{},"cluster-id":{"cluster":["40.40.40.40"]},"ipv4-next-hop":{"global":"100.100.100.3"}}},{"path-id":2,"prefix":"1.1.1.1/32","attributes":{"multi-exit-disc":{"med":0},"origin":{"value":"igp"},"originator-id":{"originator":"41.41.41.41"},"local-pref":{"pref":200},"as-path":{},"cluster-id":{"cluster":["40.40.40.40"]},"ipv4-next-hop":{"global":"100.100.100.2"}}},{"path-id":1,"prefix":"1.1.1.1/32","attributes":{"multi-exit-disc":{"med":0},"origin":{"value":"igp"},"originator-id":{"originator":"41.41.41.41"},"local-pref":{"pref":100},"as-path":{},"cluster-id":{"cluster":["40.40.40.40"]},"ipv4-next-hop":{"global":"100.100.100.1"}}}]},"attributes":{"uptodate":true}}]}}

and in fluorine

{"loc-rib":{"tables":[{"afi":"bgp-types:ipv4-address-family","safi":"bgp-types:unicast-subsequent-address-family","bgp-inet:ipv4-routes":{"ipv4-route":[{"prefix":"1.1.1.1/32","path-id":1,"attributes":{"multi-exit-disc":{"med":0},"origin":{"value":"igp"},"originator-id":{"originator":"41.41.41.41"},"local-pref":{"pref":300},"as-path":{},"cluster-id":{"cluster":["40.40.40.40"]},"ipv4-next-hop":{"global":"100.100.100.3"}}}]},"attributes":{"uptodate":true}}]}}

locally I get one more route in fluorine however one is still missing and all of their path-ids is 1 which I suspect is the main problem.

Steps to reproduce:
(note: using jq for .sh scripts output, install with> sudo apt-get install jq )

  • run script to reconfigure example-bgp-rib with all-path and default policies
    ./conf1.py
    
  • run script to configure internal neighbor 127.0.0.2
    ./conf2.py
    
  • configure application peer at 127.0.0.1
    ./conf3.py
    
  • add routes into app-peer (can do one by one and check results meanwhile)
    ./addroute1.py
    ./addroute2.py
    ./addroute3.py
    
  • check loc-rib with
    ./get_loc_rib.sh
    

there are also scripts for fullrib, and ipv4-topology to see the difference

after this there is exabgp connecting which receives only one route, even though we configure all-path and should recieve all 3.


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