Hi all,
More info about this problem, we view the code in the function send GARP when finish move VM (migrate, live-migration or resize) the command arping using option -A
def _arping(ns_name, iface_name, address, count):
# Pass -w to set timeout to ensure exit if interface removed while running
arping_cmd = ['arping', '-A', '-I', iface_name, '-c', count, '-w', 1.5 * count, address]
try:
ip_wrapper = IPWrapper(namespace=ns_name) ip_wrapper.netns.execute(arping_cmd, check_exit_code=True)
except Exception:
msg = _LE("Failed sending gratuitous ARP " "to %(addr)s on %(iface)s in namespace %(ns)s") LOG.exception(msg, {'addr': address, 'iface': iface_name, 'ns': ns_name})
with this option the destination host and all l3 agent in system will send ARP REPLY packets same:
14:01:52.781722 ARP, Reply 62.28.227.53 is-at fa:16:3e:da:0f:b3 (oui Unknown), length 28
but with my physical switch don't update ARP.
I think the step after finished move VM, the l3 agent need send 2 type of ARP
+ the first with option -A of arping command to send ARP REPLY packets.
+ the second with option -U of arping command to send ARP REQUEST (broadcast).
because depend on physical switch that accept type of ARP to update ARP table.
This problem occurs when we do some step below:
+ one floating ip attach to instance A
+ ping to floating ip ok.
+ detach this floating IP
+ attach this floating IP to instance B (on another compute-host with instance A)
+ ping floating fail until physical switch update (by manual do arping command with option -U or arp table on switch expire)
Hi all,
More info about this problem, we view the code in the function send GARP when finish move VM (migrate, live-migration or resize) the command arping using option -A
def _arping(ns_name, iface_name, address, count):
'-w' , 1.5 * count, address] namespace= ns_name)
ip_wrapper. netns.execute( arping_ cmd, check_exit_ code=True)
"to %(addr)s on %(iface)s in namespace %(ns)s")
LOG.exception( msg, {'addr': address,
'iface' : iface_name,
'ns': ns_name})
# Pass -w to set timeout to ensure exit if interface removed while running
arping_cmd = ['arping', '-A', '-I', iface_name, '-c', count,
try:
ip_wrapper = IPWrapper(
except Exception:
msg = _LE("Failed sending gratuitous ARP "
with this option the destination host and all l3 agent in system will send ARP REPLY packets same:
14:01:52.781722 ARP, Reply 62.28.227.53 is-at fa:16:3e:da:0f:b3 (oui Unknown), length 28
but with my physical switch don't update ARP.
I think the step after finished move VM, the l3 agent need send 2 type of ARP
+ the first with option -A of arping command to send ARP REPLY packets.
+ the second with option -U of arping command to send ARP REQUEST (broadcast).
because depend on physical switch that accept type of ARP to update ARP table.
This problem occurs when we do some step below:
+ one floating ip attach to instance A
+ ping to floating ip ok.
+ detach this floating IP
+ attach this floating IP to instance B (on another compute-host with instance A)
+ ping floating fail until physical switch update (by manual do arping command with option -U or arp table on switch expire)
Thanks for helping,
Luan.