mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00: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
|
||||
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
|
||||
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
|
||||
-----------------
|
||||
|
@ -81,6 +81,10 @@ static const vshCmdInfo info_nwfilter_define[] = {
|
||||
static const vshCmdOptDef opts_nwfilter_define[] = {
|
||||
VIRSH_COMMON_OPT_FILE(N_("file containing an XML network "
|
||||
"filter description")),
|
||||
{.name = "validate",
|
||||
.type = VSH_OT_BOOL,
|
||||
.help = N_("validate the XML against the schema")
|
||||
},
|
||||
{.name = NULL}
|
||||
};
|
||||
|
||||
@ -91,15 +95,22 @@ cmdNWFilterDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
const char *from = NULL;
|
||||
bool ret = true;
|
||||
g_autofree char *buffer = NULL;
|
||||
unsigned int flags = 0;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
||||
return false;
|
||||
|
||||
if (vshCommandOptBool(cmd, "validate"))
|
||||
flags |= VIR_NWFILTER_DEFINE_VALIDATE;
|
||||
|
||||
if (virFileReadAll(from, VSH_MAX_XML_FILE, &buffer) < 0)
|
||||
return false;
|
||||
|
||||
nwfilter = virNWFilterDefineXML(priv->conn, buffer);
|
||||
if (flags)
|
||||
nwfilter = virNWFilterDefineXMLFlags(priv->conn, buffer, flags);
|
||||
else
|
||||
nwfilter = virNWFilterDefineXML(priv->conn, buffer);
|
||||
|
||||
if (nwfilter != NULL) {
|
||||
vshPrintExtra(ctl, _("Network filter %s defined from %s\n"),
|
||||
|
Loading…
Reference in New Issue
Block a user