#include "esx_storage_driver.h"
#include "esx_device_monitor.h"
#include "esx_secret_driver.h"
+#include "esx_nwfilter_driver.h"
#include "esx_private.h"
#include "esx_vi.h"
#include "esx_vi_methods.h"
esxNetworkRegister() < 0 ||
esxStorageRegister() < 0 ||
esxDeviceRegister() < 0 ||
- esxSecretRegister() < 0) {
+ esxSecretRegister() < 0 ||
+ esxNWFilterRegister() < 0) {
return -1;
}
--- /dev/null
+
+/*
+ * esx_nwfilter_driver.c: nwfilter driver functions for managing VMware ESX
+ * firewall rules
+ *
+ * Copyright (C) 2010 Matthias Bolte <matthias.bolte@googlemail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#include <config.h>
+
+#include "internal.h"
+#include "util.h"
+#include "memory.h"
+#include "logging.h"
+#include "uuid.h"
+#include "esx_private.h"
+#include "esx_nwfilter_driver.h"
+#include "esx_vi.h"
+#include "esx_vi_methods.h"
+#include "esx_util.h"
+
+#define VIR_FROM_THIS VIR_FROM_ESX
+
+
+
+static virDrvOpenStatus
+esxNWFilterOpen(virConnectPtr conn,
+ virConnectAuthPtr auth ATTRIBUTE_UNUSED,
+ int flags ATTRIBUTE_UNUSED)
+{
+ if (STRNEQ(conn->driver->name, "ESX")) {
+ return VIR_DRV_OPEN_DECLINED;
+ }
+
+ conn->nwfilterPrivateData = conn->privateData;
+
+ return VIR_DRV_OPEN_SUCCESS;
+}
+
+
+
+static int
+esxNWFilterClose(virConnectPtr conn)
+{
+ conn->nwfilterPrivateData = NULL;
+
+ return 0;
+}
+
+
+
+static virNWFilterDriver esxNWFilterDriver = {
+ "ESX", /* name */
+ esxNWFilterOpen, /* open */
+ esxNWFilterClose, /* close */
+ NULL, /* numOfNWFilters */
+ NULL, /* listNWFilters */
+ NULL, /* nwfilterLookupByName */
+ NULL, /* nwfilterLookupByUUID */
+ NULL, /* defineXML */
+ NULL, /* undefine */
+ NULL, /* getXMLDesc */
+};
+
+
+
+int
+esxNWFilterRegister(void)
+{
+ return virRegisterNWFilterDriver(&esxNWFilterDriver);
+}
--- /dev/null
+
+/*
+ * esx_nwfilter_driver.h: nwfilter driver functions for managing VMware ESX
+ * firewall rules
+ *
+ * Copyright (C) 2010 Matthias Bolte <matthias.bolte@googlemail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#ifndef __ESX_NWFILTER_DRIVER_H__
+# define __ESX_NWFILTER_DRIVER_H__
+
+int esxNWFilterRegister(void);
+
+#endif /* __ESX_NWFILTER_DRIVER_H__ */