@viragomann This is how I have things set up.
I'll go over WAN1 but other three networks (WAN2, LAN1 and LAN2) are set up the same way.
pfSenseA and pfSenseB are identical hardware (Dell servers), CPU, RAM Dimms, Network cards, firmware, HDDs are all identical. Ports are assigned to each interface in identical manner.
pfSenseA has two network ports configured as LAGG (failover). pfSenseB has the same LAGG configured on it. Each of the active ports from each LAGG is connected to a Dell Force10 switch. On pfSense side, I have unique public static IP set on each pfSense. For example, pfSenseA is x.y.z.201, pfSenseB is x.y.z.202, and the CARP I created between them for WAN1 is x.y.z.200. CARP status shows master/backup status correctly. WAN1's ISP said that gateway is x.y.z.199. On each pfSense's WAN interface, that is the gateway set. I also have an outbound NAT entry to send all outbound traffic via CARP (x.y.z.200). Firewall rules on WAN1 have entry to allow access from LAN1 and LAN2.
I can ping x.y.z.199 from pfSenseA, but I cannot ping pfSenseB's WAN1 IP (x.y.z.202). From pfSenseB, I can't ping anything. On the Dell switch, I have igmp snooping enabled on those interfaces, flood limit set to 200. Interfaces on the switch are part of a VLAN, not sure if that matters.
When I change LAGG to LACP from failover, it has no impact as things are still half broken (i.e. pfSenseB seems disconnected from the network). The only way I can bring pfSenseB to ping the internet and x.y.z.199 is by disabling the WAN1 interface on pfSenseA.