[MidoNet-dev] API proposal - Optional Bridge ARP Cache

Navarro, Galo galo at midokura.com
Tue Feb 26 09:26:58 UTC 2013

Hi, replies inline

> Defaults
> This question got lost in the thread I think, and is pretty relevant to
> integration code:
> Is ARP cache enabled or disabled by default? If disabled by default, should
> the integration code set it to enabled?

If enabled by default we'd also need to define what's the default
method of filling the cache (e.g.: arp snooping - but this means that
arp snooping is also implemented; originally it was set as a low
prioritiy feature)

> When we pre-fill the ARP cache, what type of entries are we inserting -
> permanent or overwritable?

Pre-fill entries can also have an expiration time set from the API.
But generally I'd have them permanent and non-overwritable since they
will reflect the configuration set intentionally by an admin. Entries
resulting from any kind of snooping should be ephemeral, and
overwritable if a conflicting pre-fill entry exists)

> DHCP and data duplication
> I was really just raising this to check our options and discuss, as
> duplication sets off my DRY alarms.
> Pino is right that we need to support the case where DHCP is disabled, so we
> can't simply rely on DHCP info. I think the "alternate approach" API Pino
> describes above might be more complicated than just setting the data in both
> DHCP and ARP.

I had a quick chat with Pino yesterday and I think we agree that a
separate ARP cache prefill API is the simplest and most flexible
option by now. I agree with you that the alternate approach is perhaps
too complicated at least for a first version.

> Having read the discussion I'm personally happy to stick with the original
> duplication (fill DHCP and ARP cache separately) rather than changing the
> API.
> Proxy ARP
>>> It would be feasible (adding API methods to update the ARP cache)
> I thought these API methods were already part of the plan for this feature
> (see snippet below)? Or do you mean we'd need to add an Update as well as
> the Create / Delete APIs below in order for Proxy ARP to work?

Sorry that was a bit messy. I was thinking within the option where
cache pre-fill would be done by reading port's ZK configs and
therefore remove the ned for a separate API to set the ARP cache
mappings (not even creates). With this in mind, I meant that if we
wanted to support ARP proxy we would actually need to offer such an

I'm copying all new information to the site.

Thanks for your comments,


More information about the MidoNet-dev mailing list