centos7 – Packet Loss with NIC Teaming and Independent Switches

I’ve got several Linux hosts (CentOS 7, x86_64) configured with NIC teaming for redundancy and load balancing. Two 10 GBit ports on the host are connected to two 10 GBit switches and configured to listen to the same IP. The problem we have is that if the switches are independent, we see about 4% packet loss, which is very high. If the switches are “stacked” to operate as one (or, for test purposes, if both cables are connected to the SAME switch), the packet loss goes away. The team is configured in load balance mode; we are not using link aggregation/LACP.

Has anyone else encountered this and/or know if there’s some easy configuration change that eliminates this issue. Obviously, the ideal for redundancy would be to have separate, totally independent switches, so that if a switch fails, connectivity remains.

Here’s the team config (IPs and domain redacted):

PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=team-main-b1
UUID=a919c3ac-903a-424d-8aa7-9feaf700e577
DEVICE=team-main-b1
ONBOOT=yes
DEVICETYPE=Team
TEAM_CONFIG="{"runner": {"name": "loadbalance", "tx_hash": ("eth", "ipv4", "ipv6"), "tx_balancer": {"name": "basic"}}}"
RES_OPTIONS=single-request-reopen