So, I thought I would post this up. After I had my problem, I had a case open and talked with a checkpoint engineer and he gave me the following info:
In previous versions a workaround was done by disabling cluster NAT for local connections, with fwha_cluster_hide_active_only=1, this workaround should be deleted.
For example from the CheckMates thread, this workaround (which advised for R80.30) is not good for R80.40.
I will explain to make our designs more clear:
1) New R80.40 design:
With fwha_cluster_hide_active_only=1 the design is that the packet flow will be:
Standby -> Sync -> Active member -> going out with cluster VIP (source) -> Peer getting the packet -> Peer responses to cluster VIP -> Meaning Active member -> forwarding to Standby using Sync
2) Old design fwha_cluster_hide_active_only=0:
Standby -> going out with cluster VIP (source) -> Peer getting the packet -> Peer responses to cluster VIP -> Meaning Active member -> forwarding to Standby using Sync
3) Old design fwha_cluster_hide_active_only=0 + special cases like disabling cluster NAT:
Standby -> Going out with physical Standby IP (cluster NAT disabled) -> Peer getting the packet -> Peer responses to Standby physical IP -> Standby
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
We moved to use case 1 as a default because it works for all the topologies.
Case 2,3 has problem with some topologies and explained in sk169154 -> 3.4.