I have been using bonding for many years with arp validation. I am in the process of moving to CentOS 7 and I am changing to libteam instead of bonding at the same time.
I have been experimenting with libteam and I have noticed a couple of bugs, or possibly unexpected features.
The teamd config I am using is:
TEAM_CONFIG='{"runner" : { "name" : "activebackup" }, "link_watch" : { "interval" : 2000, "name" : "arp_ping", "target_host" : "10.1.1.254", "validate_active" : true, "validate_inactive" : true } }'
This is in an ifcfg file. I then have two interfaces with ifcfg files which make them part of the team. Everything works perfectly for link failures. My team is a trunk with a native vlan. My target_host is on the native vlan.
I have been testing changing the native vlan to simulate a misconfigured switch, or a partitioned network. If I have multiple servers running this teamd configuration everything works as expected. However if I only have one server running this configuration then when I change the native vlan on the active interface the inactive interface stops seeing arp requests for the target_host coming in and its missed counter starts to increase. This leads to the active interface flapping between the two ports. If there is another server running the same configuration the inactive interface sees its arp requests and doesn't increase its missed counter. This issue doesn't occur with bonding. I think the bonding code makes allowances for the period of interface failover.
The other bug/feature I am seeing occurs if I change the native vlan, but have what was the native vlan arrive tagged. Teamd doesn't seem to check that the arp requests/responses are untagged when it does validation and so it will keep the interface active based on seeing arp requests from another server running the same configuration. I would expect the validation to check the request/response is untagged.
These bugs/features aren't enough to stop me switching to libteam from bonding, but it would be nice if they could be addressed.
Tim
libteam@lists.fedorahosted.org