Re-sent.
________________________________
From: Samuel Ghinet
Sent: Friday, August 08, 2014 8:57 PM
To: dev@openvswitch.org
Subject: OvsIpHelper vs the ARP method

Hello guys,

I wanted to ask you about this since a week or so.

I have seen that you use the OvsIpHelper to find dest eth for a given target ip 
(to be used for destination hypervisor).
I find the OvsIpHelper functionality quite complicated, and with calls to it in 
quite some places within the project (as in OvsConnectNic).

The method we used in our implementation was:
o) have an arp table (list of arp entries: mappings between eth address and ip 
address)
o) have a lock (for snyc)

And the operations:
o) add / update an arp entry whenever you receive an ARP reply
o) originate an ARP request whenever a tunnel is added (for a dest hyper-v), or 
when trying to out to tunneling port and you don't have the destination eth 
address.

I had found the OvsIpHelper functionality quite intricate, as it requires the 
creation of a new thread, more lists and locks, it is a lot of code, an IOCTL 
for it, and also more dependencies in code. Also, quite any information that 
we'd want to gather about the physical NIC we can get via the nic OIDs or 
issuing OID requests.

Could you please share with me some reasons you have for why you consider the 
OvsIpHelper approach better?

Thanks!
Samuel
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to