atlanticwave-sdx / pce

Path Computation Element for AtlanticWave SDX.
https://www.atlanticwave-sdx.net
0 stars 3 forks source link

PCE can choose paths with link DOWN when creating a ConnectionSolution #203

Closed italovalcy closed 3 months ago

italovalcy commented 3 months ago

Currently, as far as I could understand there is no validation on the link status when creating the graph that later on will be used to find a solution for a ConnectionRequest:

https://github.com/atlanticwave-sdx/pce/blob/5f40e1be447bc3535243a8acca0729f752aa164e/src/sdx_pce/topology/manager.py#L360-L386

Not sure if there is another place where the link status is checked for the Solution computation, but since the graph is generated for each ConnectionRequest I thought that the above code would be a good place. Apologize in advance if there is another place for this.

Indeed submitting requests on the current implementation can result in paths with link down to be chosen over other (longer) paths.

italovalcy commented 3 months ago

Recent changes were made on datamodel and PCE to make sure proper Link state and status are available on the topology.

I've just confirmed requirements of having the Link up and enabled to be part of a path to be chosen by PCE with @jab1982

YufengXin commented 3 months ago

This is correct. One alternative we considered was to let SDX-LC filter out all "down" and "disabled" entities. I wondered why sdx-controller/Meican need to know about these entities. We can go over this together later.