This was causing subsequent calls to virXPathxxx() to fail, since ctxt->node was left pointing at the dhcp node, rather than the protocol node. Previously this had gone unnoticed, as the dhcp node was the only thing parsed under ip, if it was there. --- src/conf/interface_conf.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/conf/interface_conf.c b/src/conf/interface_conf.c index 632f28f..818cff2 100644 --- a/src/conf/interface_conf.c +++ b/src/conf/interface_conf.c @@ -229,10 +229,12 @@ virInterfaceDefParseBondArpValid(virConnectPtr conn, xmlXPathContextPtr ctxt) { static int virInterfaceDefParseDhcp(virConnectPtr conn, virInterfaceDefPtr def, xmlNodePtr dhcp, xmlXPathContextPtr ctxt) { + xmlNodePtr save; char *tmp; int ret = 0; def->proto.dhcp = 1; + save = ctxt->node; ctxt->node = dhcp; /* Not much to do in the current version */ tmp = virXPathString(conn, "string(./@peerdns)", ctxt); @@ -250,6 +252,7 @@ virInterfaceDefParseDhcp(virConnectPtr conn, virInterfaceDefPtr def, } else def->proto.peerdns = -1; + ctxt->node = save; return(ret); } -- 1.6.2.5 -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list