Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.cpp	(revision 73145)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.cpp	(revision 73146)
@@ -288,4 +288,15 @@
     /* Write the appliance: */
     QVector<KExportOptions> options;
+    switch (field("macAddressPolicy").value<MACAddressPolicy>())
+    {
+        case MACAddressPolicy_StripAllNonNATMACs:
+            options.append(KExportOptions_StripAllNonNATMACs);
+            break;
+        case MACAddressPolicy_StripAllMACs:
+            options.append(KExportOptions_StripAllMACs);
+            break;
+        default:
+            break;
+    }
     if (field("manifestSelected").toBool())
         options.append(KExportOptions_CreateManifest);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp	(revision 73145)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp	(revision 73146)
@@ -53,4 +53,6 @@
     , m_pFormatComboBoxLabel(0)
     , m_pFormatComboBox(0)
+    , m_pMACComboBoxLabel(0)
+    , m_pMACComboBox(0)
     , m_pAdditionalLabel(0)
     , m_pManifestCheckbox(0)
@@ -82,4 +84,19 @@
     /* Set default: */
     setFormat("ovf-1.0");
+}
+
+void UIWizardExportAppPage3::populateMACAddressPolicies()
+{
+    AssertReturnVoid(m_pMACComboBox->count() == 0);
+
+    /* Apply hardcoded policies list: */
+    for (int i = 0; i < (int)MACAddressPolicy_MAX; ++i)
+    {
+        m_pMACComboBox->addItem(QString::number(i));
+        m_pMACComboBox->setItemData(i, i);
+    }
+
+    /* Set default: */
+    setMACAddressPolicy(MACAddressPolicy_StripAllNonNATMACs);
 }
 
@@ -259,4 +276,12 @@
 }
 
+void UIWizardExportAppPage3::updateMACAddressPolicyComboToolTip()
+{
+    const int iCurrentIndex = m_pMACComboBox->currentIndex();
+    const QString strCurrentToolTip = m_pMACComboBox->itemData(iCurrentIndex, Qt::ToolTipRole).toString();
+    AssertMsg(!strCurrentToolTip.isEmpty(), ("Data not found!"));
+    m_pMACComboBox->setToolTip(strCurrentToolTip);
+}
+
 void UIWizardExportAppPage3::updateProviderComboToolTip()
 {
@@ -305,4 +330,17 @@
     AssertMsg(iIndex != -1, ("Field not found!"));
     m_pFormatComboBox->setCurrentIndex(iIndex);
+}
+
+MACAddressPolicy UIWizardExportAppPage3::macAddressPolicy() const
+{
+    const int iIndex = m_pMACComboBox->currentIndex();
+    return (MACAddressPolicy)m_pMACComboBox->itemData(iIndex).toInt();
+}
+
+void UIWizardExportAppPage3::setMACAddressPolicy(MACAddressPolicy enmMACAddressPolicy)
+{
+    const int iIndex = m_pMACComboBox->findData((int)enmMACAddressPolicy);
+    AssertMsg(iIndex != -1, ("Field not found!"));
+    m_pMACComboBox->setCurrentIndex(iIndex);
 }
 
@@ -429,4 +467,22 @@
                     }
 
+                    /* Create MAC policy combo-box: */
+                    m_pMACComboBox = new QComboBox;
+                    if (m_pMACComboBox)
+                    {
+                        /* Add into layout: */
+                        pSettingsLayout1->addWidget(m_pMACComboBox, 2, 1);
+                    }
+                    /* Create format combo-box label: */
+                    m_pMACComboBoxLabel = new QLabel;
+                    if (m_pMACComboBoxLabel)
+                    {
+                        m_pMACComboBoxLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
+                        m_pMACComboBoxLabel->setBuddy(m_pMACComboBox);
+
+                        /* Add into layout: */
+                        pSettingsLayout1->addWidget(m_pMACComboBoxLabel, 2, 0);
+                    }
+
                     /* Create advanced label: */
                     m_pAdditionalLabel = new QLabel;
@@ -436,5 +492,5 @@
 
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pAdditionalLabel, 2, 0);
+                        pSettingsLayout1->addWidget(m_pAdditionalLabel, 3, 0);
                     }
                     /* Create manifest check-box: */
@@ -443,5 +499,5 @@
                     {
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pManifestCheckbox, 2, 1);
+                        pSettingsLayout1->addWidget(m_pManifestCheckbox, 3, 1);
                     }
                     /* Create include ISOs check-box: */
@@ -450,5 +506,5 @@
                     {
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pIncludeISOsCheckbox, 3, 1);
+                        pSettingsLayout1->addWidget(m_pIncludeISOsCheckbox, 4, 1);
                     }
 
@@ -458,5 +514,5 @@
                     {
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(pPlaceholder, 4, 0, 1, 2);
+                        pSettingsLayout1->addWidget(pPlaceholder, 5, 0, 1, 2);
                     }
                 }
@@ -545,4 +601,6 @@
     /* Populate formats: */
     populateFormats();
+    /* Populate MAC address policies: */
+    populateMACAddressPolicies();
     /* Populate providers: */
     populateProviders();
@@ -556,4 +614,6 @@
     connect(m_pFormatComboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
             this, &UIWizardExportAppPageBasic3::sltHandleFormatComboChange);
+    connect(m_pMACComboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
+            this, &UIWizardExportAppPageBasic3::sltHandleMACAddressPolicyComboChange);
     connect(m_pProviderComboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
             this, &UIWizardExportAppPageBasic3::sltHandleProviderComboChange);
@@ -564,4 +624,5 @@
     registerField("path", this, "path");
     registerField("format", this, "format");
+    registerField("macAddressPolicy", this, "macAddressPolicy");
     registerField("manifestSelected", this, "manifestSelected");
     registerField("includeISOsSelected", this, "includeISOsSelected");
@@ -613,4 +674,22 @@
     m_pFormatComboBox->setItemData(3, UIWizardExportApp::tr("Write in Oracle Public Cloud 1.0 format."), Qt::ToolTipRole);
 
+    /* Translate MAC address policy combo-box: */
+    m_pMACComboBoxLabel->setText(UIWizardExportApp::tr("MAC Address &Policy:"));
+    m_pMACComboBox->setItemText(MACAddressPolicy_KeepAllMACs,
+                                UIWizardExportApp::tr("Include all network adapter MAC addresses"));
+    m_pMACComboBox->setItemText(MACAddressPolicy_StripAllNonNATMACs,
+                                UIWizardExportApp::tr("Include only NAT network adapter MAC addresses"));
+    m_pMACComboBox->setItemText(MACAddressPolicy_StripAllMACs,
+                                UIWizardExportApp::tr("Strip all network adapter MAC addresses"));
+    m_pMACComboBox->setItemData(MACAddressPolicy_KeepAllMACs,
+                                UIWizardExportApp::tr("Include all network adapter MAC addresses to exported "
+                                                      "appliance archive."), Qt::ToolTipRole);
+    m_pMACComboBox->setItemData(MACAddressPolicy_StripAllNonNATMACs,
+                                UIWizardExportApp::tr("Include only NAT network adapter MAC addresses to "
+                                                      "exported appliance archive."), Qt::ToolTipRole);
+    m_pMACComboBox->setItemData(MACAddressPolicy_StripAllMACs,
+                                UIWizardExportApp::tr("Strip all network adapter MAC addresses from exported "
+                                                      "appliance archive."), Qt::ToolTipRole);
+
     /* Translate addtional stuff: */
     m_pAdditionalLabel->setText(UIWizardExportApp::tr("Additionally:"));
@@ -646,4 +725,5 @@
     /* Update tool-tips: */
     updateFormatComboToolTip();
+    updateMACAddressPolicyComboToolTip();
     updateProviderComboToolTip();
 }
@@ -743,4 +823,10 @@
 }
 
+void UIWizardExportAppPageBasic3::sltHandleMACAddressPolicyComboChange()
+{
+    /* Update tool-tip: */
+    updateMACAddressPolicyComboToolTip();
+}
+
 void UIWizardExportAppPageBasic3::sltHandleProviderComboChange()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.h	(revision 73145)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.h	(revision 73146)
@@ -36,4 +36,15 @@
 
 
+/** MAC address policies. */
+enum MACAddressPolicy
+{
+    MACAddressPolicy_KeepAllMACs,
+    MACAddressPolicy_StripAllNonNATMACs,
+    MACAddressPolicy_StripAllMACs,
+    MACAddressPolicy_MAX
+};
+Q_DECLARE_METATYPE(MACAddressPolicy);
+
+
 /** UIWizardPageBase extension for 3rd page of the Export Appliance wizard. */
 class UIWizardExportAppPage3 : public UIWizardPageBase
@@ -46,4 +57,6 @@
     /** Populates formats. */
     void populateFormats();
+    /** Populates MAC address policies. */
+    void populateMACAddressPolicies();
     /** Populates providers. */
     void populateProviders();
@@ -69,4 +82,6 @@
     /** Updates format combo tool-tips. */
     void updateFormatComboToolTip();
+    /** Updates MAC address policy combo tool-tips. */
+    void updateMACAddressPolicyComboToolTip();
     /** Updates provider combo tool-tips. */
     void updateProviderComboToolTip();
@@ -85,4 +100,9 @@
     void setFormat(const QString &strFormat);
 
+    /** Returns MAC address policy. */
+    MACAddressPolicy macAddressPolicy() const;
+    /** Defines @a enmMACAddressPolicy. */
+    void setMACAddressPolicy(MACAddressPolicy enmMACAddressPolicy);
+
     /** Returns whether manifest selected. */
     bool isManifestSelected() const;
@@ -125,4 +145,9 @@
     /** Holds the format combo-box instance. */
     QComboBox *m_pFormatComboBox;
+
+    /** Holds the MAC address policy combo-box label instance. */
+    QLabel    *m_pMACComboBoxLabel;
+    /** Holds the MAC address policy check-box instance. */
+    QComboBox *m_pMACComboBox;
 
     /** Holds the additional label instance. */
@@ -153,4 +178,5 @@
     Q_PROPERTY(QString path READ path WRITE setPath);
     Q_PROPERTY(QString format READ format WRITE setFormat);
+    Q_PROPERTY(MACAddressPolicy macAddressPolicy READ macAddressPolicy WRITE setMACAddressPolicy);
     Q_PROPERTY(bool manifestSelected READ isManifestSelected WRITE setManifestSelected);
     Q_PROPERTY(bool includeISOsSelected READ isIncludeISOsSelected WRITE setIncludeISOsSelected);
@@ -187,4 +213,7 @@
     void sltHandleFormatComboChange();
 
+    /** Handles change in MAC address policy combo-box. */
+    void sltHandleMACAddressPolicyComboChange();
+
     /** Handles change in provider combo-box. */
     void sltHandleProviderComboChange();
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp	(revision 73145)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp	(revision 73146)
@@ -205,4 +205,22 @@
                             }
 
+                            /* Create MAC policy combo-box: */
+                            m_pMACComboBox = new QComboBox;
+                            if (m_pMACComboBox)
+                            {
+                                /* Add into layout: */
+                                pSettingsLayout1->addWidget(m_pMACComboBox, 2, 1);
+                            }
+                            /* Create format combo-box label: */
+                            m_pMACComboBoxLabel = new QLabel;
+                            if (m_pMACComboBoxLabel)
+                            {
+                                m_pMACComboBoxLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
+                                m_pMACComboBoxLabel->setBuddy(m_pMACComboBox);
+
+                                /* Add into layout: */
+                                pSettingsLayout1->addWidget(m_pMACComboBoxLabel, 2, 0);
+                            }
+
                             /* Create advanced label: */
                             m_pAdditionalLabel = new QLabel;
@@ -212,5 +230,5 @@
 
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pAdditionalLabel, 2, 0);
+                                pSettingsLayout1->addWidget(m_pAdditionalLabel, 3, 0);
                             }
                             /* Create manifest check-box editor: */
@@ -219,5 +237,5 @@
                             {
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pManifestCheckbox, 2, 1);
+                                pSettingsLayout1->addWidget(m_pManifestCheckbox, 3, 1);
                             }
                             /* Create include ISOs check-box: */
@@ -226,5 +244,5 @@
                             {
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pIncludeISOsCheckbox, 3, 1);
+                                pSettingsLayout1->addWidget(m_pIncludeISOsCheckbox, 4, 1);
                             }
 
@@ -234,5 +252,5 @@
                             {
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(pPlaceholder, 4, 0, 1, 2);
+                                pSettingsLayout1->addWidget(pPlaceholder, 5, 0, 1, 2);
                             }
                         }
@@ -335,4 +353,6 @@
     /* Populate formats: */
     populateFormats();
+    /* Populate MAC address policies: */
+    populateMACAddressPolicies();
     /* Populate providers: */
     populateProviders();
@@ -349,4 +369,6 @@
     connect(m_pFormatComboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
             this, &UIWizardExportAppPageExpert::sltHandleFormatComboChange);
+    connect(m_pMACComboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
+            this, &UIWizardExportAppPageExpert::sltHandleMACAddressPolicyComboChange);
     connect(m_pProviderComboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
             this, &UIWizardExportAppPageExpert::sltHandleProviderComboChange);
@@ -364,4 +386,5 @@
     registerField("path", this, "path");
     registerField("format", this, "format");
+    registerField("macAddressPolicy", this, "macAddressPolicy");
     registerField("manifestSelected", this, "manifestSelected");
     registerField("includeISOsSelected", this, "includeISOsSelected");
@@ -421,4 +444,22 @@
     m_pFormatComboBox->setItemData(3, UIWizardExportApp::tr("Write in Oracle Public Cloud 1.0 format."), Qt::ToolTipRole);
 
+    /* Translate MAC address policy combo-box: */
+    m_pMACComboBoxLabel->setText(UIWizardExportApp::tr("MAC Address &Policy:"));
+    m_pMACComboBox->setItemText(MACAddressPolicy_KeepAllMACs,
+                                UIWizardExportApp::tr("Include all network adapter MAC addresses"));
+    m_pMACComboBox->setItemText(MACAddressPolicy_StripAllNonNATMACs,
+                                UIWizardExportApp::tr("Include only NAT network adapter MAC addresses"));
+    m_pMACComboBox->setItemText(MACAddressPolicy_StripAllMACs,
+                                UIWizardExportApp::tr("Strip all network adapter MAC addresses"));
+    m_pMACComboBox->setItemData(MACAddressPolicy_KeepAllMACs,
+                                UIWizardExportApp::tr("Include all network adapter MAC addresses to exported "
+                                                      "appliance archive."), Qt::ToolTipRole);
+    m_pMACComboBox->setItemData(MACAddressPolicy_StripAllNonNATMACs,
+                                UIWizardExportApp::tr("Include only NAT network adapter MAC addresses to "
+                                                      "exported appliance archive."), Qt::ToolTipRole);
+    m_pMACComboBox->setItemData(MACAddressPolicy_StripAllMACs,
+                                UIWizardExportApp::tr("Strip all network adapter MAC addresses from exported "
+                                                      "appliance archive."), Qt::ToolTipRole);
+
     /* Translate addtional stuff: */
     m_pAdditionalLabel->setText(UIWizardExportApp::tr("Additionally:"));
@@ -451,4 +492,5 @@
     /* Update tool-tips: */
     updateFormatComboToolTip();
+    updateMACAddressPolicyComboToolTip();
     updateProviderComboToolTip();
 }
@@ -558,4 +600,10 @@
 }
 
+void UIWizardExportAppPageExpert::sltHandleMACAddressPolicyComboChange()
+{
+    /* Update tool-tip: */
+    updateMACAddressPolicyComboToolTip();
+}
+
 void UIWizardExportAppPageExpert::sltHandleProviderComboChange()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.h	(revision 73145)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.h	(revision 73146)
@@ -43,4 +43,5 @@
     Q_PROPERTY(QString path READ path WRITE setPath);
     Q_PROPERTY(QString format READ format WRITE setFormat);
+    Q_PROPERTY(MACAddressPolicy macAddressPolicy READ macAddressPolicy WRITE setMACAddressPolicy);
     Q_PROPERTY(bool manifestSelected READ isManifestSelected WRITE setManifestSelected);
     Q_PROPERTY(bool includeISOsSelected READ isIncludeISOsSelected WRITE setIncludeISOsSelected);
@@ -88,4 +89,7 @@
     void sltHandleFormatComboChange();
 
+    /** Handles change in MAC address policy combo-box. */
+    void sltHandleMACAddressPolicyComboChange();
+
     /** Handles change in provider combo-box. */
     void sltHandleProviderComboChange();
