arp_ping and activebackup
by libteam@tsaunders.co.uk
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