Hi guys,
I am a little confuse that when a vMotion occurs, ESX would send RARP or gratuitousARP to update the ARP data of the LAN.
who know the details or is there a guide document about this.
regards
I wrote a blog post after todays discussion about the Notify Switches feature, with some more details:
http://rickardnobel.se/archives/1358
Hi
Please read the book MAstering Vsphere 4, section "Exploring Vmotion" page 432 chapter 10. It uses RARP I am sure and this is the default behaviour of the VMware kernel and Vswitch. And also the chapter 4 page 176
"
After the contents of the memory referred to in the memory bitmap file have been
transferred to the target host, the virtual machine starts on that host. Note that this is
not a reboot—the virtual machine’s state is in RAM, so the host simply enables it. At
this point a Reverse Address Resolution Protocol (RARP) is sent by the host to register
its MAC address against the physical switch port to which the target ESX/ESXi host is
connected. This process enables the switch infrastructure to send network packets to the
appropriate ESX/ESXi host from the clients that are attached to the virtual machine that
just moved"
Hope this helps to you.
wizardnjau wrote:
ESX would send RARP or gratuitousARP to update the ARP data of the LAN.
Actually there is no need to update any ARP data, since ARP is the mapping between IP address and MAC, and the virtual machines MAC address stays the same after vMotion.
The ESXi host will send a so called RARP, however, in my opinion is that this is not important in itself. Sometimes it is presented as the RARP protocol does some kind of function, but in reality all network nodes will ignore the RARP since that is a protocol that has not been used in 20 years or something.
The real use of that packet is that it is sent as a broadcast, that is to the special MAC address of FF-FF-FF-FF-FF-FF and is forwarded to all physical switches in the network and they could update their mappings tables:
MAC address to physical switch port
This is necessary to make all other traffic going against the VM to be forwarded to the new ESXi host port.
Also, if you are wondering why RARP and not GARP during vMotion events, there are a couple of reasons I know of:
Mark wrote:
- A GARP will be processed by all stations in the broadcast domain and not just the switches. This is unnecessary
In my opinion, really technically it will be the stations that actually processes the RARP and not the switches.
Since the switches are only layer two devices they will just forward the frame to all destinations in the broadcast domain and does not look into anything else than the Ethernet header, and update their MAC-to-port mappings.
The stations Network Interface Cards will however be forced to accept the frame since it is broadcast and examine the Ethertype (in this case x8035) and potential deliver it "up" into the RARP component if such exist inside the station. Likely not and it will be dropped.
But that is of course not important, the whole point is to force all switches to see the frame and just note that SRC MAC arrives from a new uplink port.
Hi
I am really interested to know more, i got the explanation from the Mastering vsphere of Scott lowe,
so please let me "during vmotion es sends RARP or not and what is the theory of vmotion"
Gopinath Keerthyrajan wrote:
so please let me "during vmotion es sends RARP or not and what is the theory of vmotion"
Could you clarify the question some more?
during vmotion does ESX sends RARP ?
and as per the book, it is written that it uses RARP. So please clarify.
You're right of course, I should have made more of an attempt to explain it
Neither RARP or GARP are "processed" by the switch. The point I wanted to get across was that sending a GARP would cause overall a little more processing (by the sender ESXi host and the stations that receive it) when compared to RARP.
Mark wrote:
I should have made more of an attempt to explain it
It was just a technical-low-level-not-important stuff. You are of course totally correct in that RARP is a suitable protocol when you should send something that nobody actually should read and with minimal performance penalty.
Gopinath Keerthyrajan wrote:
during vmotion does ESX sends RARP ?
and as per the book, it is written that it uses RARP. So please clarify.
Yes, it does use RARP. (Even if the protocol itself actually is not important and does not "work".)
I wrote a blog post after todays discussion about the Notify Switches feature, with some more details:
http://rickardnobel.se/archives/1358
Hi rickard,
your blog is very helpful and very detail.
one more question I want to ask is that, is there any way (REST API or something, I don't know) to invoke the RARP sending?
Is vmware provide a method for other programe to call to invoke RARP?
regards
There is no way I know that you could yourself trigger the ESXi RARP sending, other than invoking one of these three actions (VM poweron, vMotion, NIC failure). It is possible that there is something in the vSphere API that makes it available.
Do you have some other situation where it could be useful to send these frames?
I don't know. maybe sometime the RARP was dropped and need to be resent. whatever, I didn't think about the detail.
And thank you again.