This is #2785741 again.
I just updated and it looks like my fix may have been lost in translation. The change which got implemented only partially fixes the problem I'm trying to solve.
Please bare with me while I attempt to explain the issue better. As I understand it (little that I do), the cpl proxy code implements sequential "ordering" by first creating a list of locations (location set). It then removes the first location from the head of the list, attempts to relay it, and then repeats until there are no more locations left in the list (or a positive final response). If additional branch flags are set while processing the first location (in the script branch_route for example), they are not getting cleared when the second location begins to be processed (as branch 0 again). The fix you implemented now initializes the nat branch flag correctly, but doesn't clear other flags that may have been set and these unexpectedly get carried over into for the next location processed. The patch attached completely clears the branch flags each time branch 0 is reused during this process. Note that an example of the correct behavior is implemented in the existing code a few lines down in the loop that add additional branches for parallel processing.
Log in to post a comment.