diff --git a/src/conf/interface_conf.c b/src/conf/interface_conf.c index 3c99027cfcc5a5a05928887aab5a6ffb25e13bba..ca8220852a5eaf37022fb6e9611c6f2ac429cd01 100644 --- a/src/conf/interface_conf.c +++ b/src/conf/interface_conf.c @@ -801,6 +801,7 @@ virInterfaceDefParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt) { } VIR_FREE(tmp); } + def->data.bridge.delay = virXMLPropString(bridge, "delay"); ctxt->node = bridge; virInterfaceDefParseBridge(conn, def, ctxt); break; @@ -1038,12 +1039,14 @@ virInterfaceBridgeDefFormat(virConnectPtr conn, virBufferPtr buf, int i; int ret = 0; + virBufferAddLit(buf, " data.bridge.stp == 1) - virBufferAddLit(buf, " \n"); + virBufferAddLit(buf, " stp='on'"); else if (def->data.bridge.stp == 0) - virBufferAddLit(buf, " \n"); - else - virBufferAddLit(buf, " \n"); + virBufferAddLit(buf, " stp='off'"); + if (def->data.bridge.delay != NULL) + virBufferVSprintf(buf, " delay='%s'", def->data.bridge.delay); + virBufferAddLit(buf, ">\n"); for (i = 0;i < def->data.bridge.nbItf;i++) { if (virInterfaceBareDevDefFormat(conn, buf, def->data.bridge.itf[i]) diff --git a/src/conf/interface_conf.h b/src/conf/interface_conf.h index 2683eeed109bf04c0bac7db91518510bff938341..421608772117a0b76d4406083a74b3e5c587997e 100644 --- a/src/conf/interface_conf.h +++ b/src/conf/interface_conf.h @@ -97,6 +97,7 @@ typedef struct _virInterfaceBridgeDef virInterfaceBridgeDef; typedef virInterfaceBridgeDef *virInterfaceBridgeDefPtr; struct _virInterfaceBridgeDef { int stp; /* 0, 1 or -1 if undefined */ + char *delay; int nbItf; /* number of defined interfaces */ virInterfaceBareDefPtr *itf;/* interfaces */ };