Skip to content

Conversation

@SolidWallOfCode
Copy link
Member

This fixes two distinct problems.

  • IP address based loop detection for single address systems. As far as I can tell, loop detection doesn't work on hosts with a single address, due to port byte ordering problems.

  • Issue ATS request cycle in multiple network interface #3654 - the address based check only checks a single address. If the request is for a different address on the same machine, to which a proxy port is bound (common case) then the loop is not detected. This fix checks if the destination address / port is the same as the inbound local address / port, which means the connection is looping.

@SolidWallOfCode SolidWallOfCode added this to the 9.0.0 milestone Aug 5, 2019
@SolidWallOfCode SolidWallOfCode self-assigned this Aug 5, 2019
@randall
Copy link
Contributor

randall commented Aug 6, 2019

[approve ci autest]

@SolidWallOfCode SolidWallOfCode merged commit 7658b08 into apache:master Aug 8, 2019
@jrushford
Copy link
Contributor

@SolidWallOfCode there is a Machine::is_self(const char *name) and a Machine::is_self(const IPaddr *ipaddr). at ATS startup, the IP's of all the configured network interfaces are in a map, is_self(ipaddr) will tell you if the ipaddr is it self.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants