mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
virsh: add support for '--validate' option in define nwfilter
Signed-off-by: Kristina Hanicova <khanicov@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
a59d196b5d
commit
a3d88c9d4c
@ -7483,7 +7483,7 @@ nwfilter-define
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
nwfilter-define xmlfile
|
nwfilter-define xmlfile [--validate]
|
||||||
|
|
||||||
Make a new network filter known to libvirt. If a network filter with
|
Make a new network filter known to libvirt. If a network filter with
|
||||||
the same name already exists, it will be replaced with the new XML.
|
the same name already exists, it will be replaced with the new XML.
|
||||||
@ -7492,6 +7492,9 @@ its network traffic rules adapted. If for any reason the network traffic
|
|||||||
filtering rules cannot be instantiated by any of the running virtual
|
filtering rules cannot be instantiated by any of the running virtual
|
||||||
machines, then the new XML will be rejected.
|
machines, then the new XML will be rejected.
|
||||||
|
|
||||||
|
Optionally, the format of the input XML file can be validated against an
|
||||||
|
internal RNG schema with *--validate*.
|
||||||
|
|
||||||
|
|
||||||
nwfilter-undefine
|
nwfilter-undefine
|
||||||
-----------------
|
-----------------
|
||||||
|
@ -81,6 +81,10 @@ static const vshCmdInfo info_nwfilter_define[] = {
|
|||||||
static const vshCmdOptDef opts_nwfilter_define[] = {
|
static const vshCmdOptDef opts_nwfilter_define[] = {
|
||||||
VIRSH_COMMON_OPT_FILE(N_("file containing an XML network "
|
VIRSH_COMMON_OPT_FILE(N_("file containing an XML network "
|
||||||
"filter description")),
|
"filter description")),
|
||||||
|
{.name = "validate",
|
||||||
|
.type = VSH_OT_BOOL,
|
||||||
|
.help = N_("validate the XML against the schema")
|
||||||
|
},
|
||||||
{.name = NULL}
|
{.name = NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -91,15 +95,22 @@ cmdNWFilterDefine(vshControl *ctl, const vshCmd *cmd)
|
|||||||
const char *from = NULL;
|
const char *from = NULL;
|
||||||
bool ret = true;
|
bool ret = true;
|
||||||
g_autofree char *buffer = NULL;
|
g_autofree char *buffer = NULL;
|
||||||
|
unsigned int flags = 0;
|
||||||
virshControl *priv = ctl->privData;
|
virshControl *priv = ctl->privData;
|
||||||
|
|
||||||
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (vshCommandOptBool(cmd, "validate"))
|
||||||
|
flags |= VIR_NWFILTER_DEFINE_VALIDATE;
|
||||||
|
|
||||||
if (virFileReadAll(from, VSH_MAX_XML_FILE, &buffer) < 0)
|
if (virFileReadAll(from, VSH_MAX_XML_FILE, &buffer) < 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
nwfilter = virNWFilterDefineXML(priv->conn, buffer);
|
if (flags)
|
||||||
|
nwfilter = virNWFilterDefineXMLFlags(priv->conn, buffer, flags);
|
||||||
|
else
|
||||||
|
nwfilter = virNWFilterDefineXML(priv->conn, buffer);
|
||||||
|
|
||||||
if (nwfilter != NULL) {
|
if (nwfilter != NULL) {
|
||||||
vshPrintExtra(ctl, _("Network filter %s defined from %s\n"),
|
vshPrintExtra(ctl, _("Network filter %s defined from %s\n"),
|
||||||
|
Loading…
Reference in New Issue
Block a user