XGFT Routing Algorithm double free memory on 320n Network
Problem
XGFT it's not working properly when you try some case where doesn't have the same ports per-level.
In the case we have a XGFT with 56 switches and 20 of radix.
The point of failure is during the BuildRoutes()
method, since try to free the memory from a pointer that was previously de-allocated.
Possible point of failure
There are also a TODO
comment to check if it's a valid method for every XGFT topology, lo look must be there the point of failure.
How to reproduce
I attach the xml that I use on INASim, and also the parameters used by the topgen call.320n_xgfc_non_CBB.zip
topgen::CXGFT(20,3,[16,4,5],[1,4,4],false);
It's also important to notice that the branch used on INASim it was the dev_cmake_mfly , since is the one that have the feature implemented.
Edited by Alberto Merino Risueño