
On 12/10/2012 02:23 PM, Laine Stump wrote:
These three functions are very similar - none allow a MODIFY operation; you can only add or delete.
The biggest difference between them (other than the data itself) is in the criteria for determining a match, and whether or not multiple matches are possible:
1) for HOST records, it's considered a match if the IP address or any of the hostnames of an existing record matches.
2) for SRV records, it's a match if all of domain+service+protocol+target *which have been specified* are matched.
3) for TXT records, there is only a single field to match - name (value can be the same for multiple records, and isn't considered a search term), so by definition there can be no ambiguous matches.
In all three cases, if any matches are found, ADD will fail; if multiple matches are found, it means the search term was ambiguous, and a DELETE will fail.
The upper level code in bridge_driver.c is already implemented for these functions - appropriate conf files will be re-written, and dnsmasq will be SIGHUPed or restarted as appropriate. --- src/conf/network_conf.c | 240 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 232 insertions(+), 8 deletions(-)
I can't say I understand all the networking nuances allowed by adding and removing aspects; but coding-wise this looks sane, and I'm comfortable giving: ACK. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org