VMware Cloud Community
wizardnjau
Contributor
Contributor
Jump to solution

When a vMotion occurs, the ESX sends RARP or gratuitousARP?

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

0 Kudos
1 Solution

Accepted Solutions
rickardnobel
Champion
Champion
Jump to solution

I wrote a blog post after todays discussion about the Notify Switches feature, with some more details:

http://rickardnobel.se/archives/1358

My VMware blog: www.rickardnobel.se

View solution in original post

0 Kudos
13 Replies
Gkeerthy
Expert
Expert
Jump to solution

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.

Please don't forget to award point for 'Correct' or 'Helpful', if you found the comment useful. (vExpert, VCP-Cloud. VCAP5-DCD, VCP4, VCP5, MCSE, MCITP)
rickardnobel
Champion
Champion
Jump to solution

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.

My VMware blog: www.rickardnobel.se
nirvy
Commander
Commander
Jump to solution

Also, if you are wondering why RARP and not GARP during vMotion events, there are a couple of reasons I know of:

  • Since ESXi is sending the packet on behalf of the guest, it would have to know the guests IP address in order to craft a GARP. How will the host obtain the guests IP address? This may not be such a quick process. With RARP, both the SRC/DST IP address fields are set to 0.0.0.0 and only the GOS MAC address is required (the vMotion target host already has this in the guests VMX config), so this is less complicated to craft and offers slightly better optimization.  It also does not rely on the guest (for instance VMware Tools).
  • A GARP will be processed by all stations in the broadcast domain and not just the switches. This is unnecessary
  • As rickard already pointed out, RARP is obsolete and so will be pretty much ignored by everything but the network switches.
0 Kudos
rickardnobel
Champion
Champion
Jump to solution

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. Smiley Happy

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.

My VMware blog: www.rickardnobel.se
0 Kudos
Gkeerthy
Expert
Expert
Jump to solution

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"

Please don't forget to award point for 'Correct' or 'Helpful', if you found the comment useful. (vExpert, VCP-Cloud. VCAP5-DCD, VCP4, VCP5, MCSE, MCITP)
0 Kudos
rickardnobel
Champion
Champion
Jump to solution

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?

My VMware blog: www.rickardnobel.se
0 Kudos
Gkeerthy
Expert
Expert
Jump to solution

during vmotion does ESX sends RARP ?

and as per the book, it is written that it uses RARP. So please clarify.

Please don't forget to award point for 'Correct' or 'Helpful', if you found the comment useful. (vExpert, VCP-Cloud. VCAP5-DCD, VCP4, VCP5, MCSE, MCITP)
0 Kudos
nirvy
Commander
Commander
Jump to solution

You're right of course, I should have made more of an attempt to explain it Smiley Happy

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.

0 Kudos
rickardnobel
Champion
Champion
Jump to solution

Mark wrote:

I should have made more of an attempt to explain it Smiley Happy

It was just a technical-low-level-not-important stuff. Smiley Happy 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".)

My VMware blog: www.rickardnobel.se
0 Kudos
rickardnobel
Champion
Champion
Jump to solution

I wrote a blog post after todays discussion about the Notify Switches feature, with some more details:

http://rickardnobel.se/archives/1358

My VMware blog: www.rickardnobel.se
0 Kudos
wizardnjau
Contributor
Contributor
Jump to solution

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

0 Kudos
rickardnobel
Champion
Champion
Jump to solution

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?

My VMware blog: www.rickardnobel.se
0 Kudos
wizardnjau
Contributor
Contributor
Jump to solution

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.

0 Kudos