Uploaded image for project: 'bgpcep'
  1. bgpcep
  2. BGPCEP-909

Algo Path Computation - Bandwidth constraint computation and class-type

    XMLWordPrintable

Details

    • Bug
    • Status: Open
    • High
    • Resolution: Unresolved
    • Magnesium
    • None
    • General
    • None

    Description

      Hello,

      context : I use Opendaylight with CSR1000v and BGP-LS protocol for link state topology. my network is configured to use TE class, and for clear understanding with the example below, I have the following TE-class mapping :

      TE-Class Class-Type Priority
       0             0                7
       1             0                6
       2             0                4
       3             0                1
       4             1                7
       5             1                4
       6             1                2
       7             1                1
      

      The problem is the class-type of the path computation request is not matched with class-type of edge attributes, but matched with the list index of unreserved bandwitdh from edge attributes. it's not the same.

      AbstractPathComputation line 230 :

      (attributes.getUnreservedBandwidth().get(constraints.getClassType().intValue()).getBandwidth().getValue().longValue() < bandwidth)
      

      Below an example with one edge and bandwidth contraints (I have hidden id and ip for security reasons) and the various results gathered using path computation request.

      {
      	"edge-id": xxxxxxxxx,
      	"remote-vertex-id": yyyyyyyyy,
      	"local-vertex-id": xxxxxxxxx,
      	"name": "xxxxxxxxx - yyyyyyyyy",
      	"edge-attributes": {
      		"metric": 1,
      		"max-resv-link-bandwidth": 1000000,
      		"remote-address": "x.x.x.x",
      		"local-address": "x.x.x.x",
      		"admin-group": 4,
      		"unreserved-bandwidth": [
      			{
      				"class-type": 7,
      				"bandwidth": 200000
      			},
      			{
      				"class-type": 6,
      				"bandwidth": 200000
      			},
      			{
      				"class-type": 5,
      				"bandwidth": 75000
      			},
      			{
      				"class-type": 4,
      				"bandwidth": 75000
      			},
      			{
      				"class-type": 3,
      				"bandwidth": 1000000
      			},
      			{
      				"class-type": 2,
      				"bandwidth": 875000
      			},
      			{
      				"class-type": 1,
      				"bandwidth": 875000
      			},
      			{
      				"class-type": 0,
      				"bandwidth": 875000
      			}
      		],
      		"max-link-bandwidth": 1000000,
      		"te-metric": 1
      	}
      }
      

      cisco topology on this edge :

          BC Model Id: RDM
            BC0 (max_reservable): 8000 (kbps)
            BC0 (max_reservable_bw_global): 8000 (kbps)
            BC1 (max_reservable_bw_sub): 1600 (kbps)
      
                     Total Allocated   Reservable
                     BW (kbps)         BW (kbps)
                     ---------------   -----------
          TE-Class[0]:         1000             7000
          TE-Class[1]:         1000             7000
          TE-Class[2]:         1000             7000
          TE-Class[3]:            0             8000
          TE-Class[4]:         1000              600
          TE-Class[5]:         1000              600
          TE-Class[6]:            0             1600
          TE-Class[7]:            0             1600
      

       

      tests and results with computation request :

      {"input":{"algorithm":"cspf","constraints":{"address-family":"ipv4","bandwidth":200000,"class-type":0},"destination":AAAAAA,"graph-name":"ted://netip-bgp-linkstate-topology","source":BBBBBBB}} 
      => Ero contains yyyyyyyyy 
      
      {"input":{"algorithm":"cspf","constraints":{"address-family":"ipv4","bandwidth":210000,"class-type":0},"destination":AAAAAA,"graph-name":"ted://netip-bgp-linkstate-topology","source":BBBBBBB}} 
      => I have another ero without yyyyyyyyy
      
      

      in this result, classtype 0 in resquest correspond to class type 7 from the edge.

      {"input":{"algorithm":"cspf","constraints":{"address-family":"ipv4","bandwidth":75000,"class-type":3},"destination":AAAAAA,"graph-name":"ted://netip-bgp-linkstate-topology","source":BBBBBBB}} 
      => Ero contains yyyyyyyyy 
      
      {"input":{"algorithm":"cspf","constraints":{"address-family":"ipv4","bandwidth":80000,"class-type":3},"destination":AAAAAA,"graph-name":"ted://netip-bgp-linkstate-topology","source":BBBBBBB}} 
      => I have another ero without yyyyyyyyy
      
      

      => above, class type 3 in path computation request correspond to class type 4 from edge unreserved bandwidth attributes.

      another example :

      {"input":{"algorithm":"cspf","constraints":{"address-family":"ipv4","bandwidth":1000000,"class-type":4},"destination":AAAAAA,"graph-name":"ted://netip-bgp-linkstate-topology","source":BBBBBBB}} => Ero contains yyyyyyyyy
      

      best regards

       
      Jean-Marc

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            odd22 Olivier Dugeon
            jmmontenot Jean-Marc MONTENOT
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: