> ## Documentation Index
> Fetch the complete documentation index at: https://docs.megaport.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating a Cisco MVE in Autonomous Mode

> This help topic describes how to create and configure a Megaport Virtual Edge (MVE) with Cisco.

export const Anchor = ({name}) => {
  const errorPrefix = '\x1b[31;1;4mERROR\x1b[0m: Anchor -';
  if (name === undefined || name === null || name === 'undefined') {
    console.error(`${errorPrefix} \`name\` must have a value — rendering an empty string instead`);
    return <></>;
  }
  const raw = typeof name === 'string' ? name : JSON.stringify(name);
  const id = raw.replace(/\s+/g, '-').replace(/[^A-Za-z0-9_-]/g, '').replace(/-+/g, '-').replace(/^-+|-+$/g, '');
  if (!id) {
    console.error(`${errorPrefix} \`name\` "${name}" sanitizes to an empty id — rendering an empty string instead`);
    return <></>;
  }
  return <a style={{
    scrollMarginTop: 'var(--scroll-mt)'
  }} id={id}></a>;
};

export const Image = ({src, alt = '', caption, width, height, shadow}) => {
  const errorPrefix = '\x1b[31;1;4mERROR\x1b[0m: Image -';
  if (typeof src !== 'string') {
    src = String(src);
  }
  if (!src || src === 'undefined') {
    console.error(`${errorPrefix} \`src\` is required — rendering an empty string instead`);
    return <></>;
  }
  const img = <img className={['mega-image-style', shadow ? 'shadow' : ''].join(' ')} src={src} alt={alt} width={width} height={height} style={{
    display: 'block'
  }} />;
  return caption ? <figure>
      {img}
      <figcaption style={{
    textAlign: 'center',
    width
  }}>{caption}</figcaption>
    </figure> : img;
};

export const InlineImage = ({src, alt, height = 16, shadow, width}) => {
  const errorPrefix = '\x1b[31;1;4mERROR\x1b[0m: InlineImage -';
  if (typeof src !== 'string') {
    src = String(src);
  }
  if (!src || src === 'undefined') {
    console.error(`${errorPrefix} \`src\` is required — rendering an empty string instead`);
    return <></>;
  }
  if (typeof alt !== 'string') {
    alt = String(alt);
  }
  if (alt === 'undefined') {
    console.error(`${errorPrefix} \`alt\` is required (use "" for decorative images) — rendering an empty string instead`);
    return <></>;
  }
  if (height) {
    height = height.toString().replaceAll(/\D/g, '');
  }
  if (width) {
    width = width.toString().replaceAll(/\D/g, '');
  }
  return <img className={['inline-icon', shadow ? 'shadow' : null, 'm-0'].filter(Boolean).join(' ')} src={src} alt={alt} height={height} width={width} style={{
    display: 'inline',
    verticalAlign: 'middle',
    maxHeight: height ? `${height}px` : undefined,
    maxWidth: width ? `${width}px` : undefined,
    height: height ? `${height}px` : undefined,
    width: width ? `${width}px` : undefined
  }} />;
};

export const Link = ({href, children}) => {
  const errorPrefix = '\x1b[31;1;4mERROR\x1b[0m: Link -';
  if (typeof href !== 'string') {
    href = String(href);
  }
  if (!href || href === 'undefined') {
    console.error(`${errorPrefix} the \`href\` property is required — rendering an empty string instead`);
    return <></>;
  }
  if (href.includes('{') || href.toUpperCase().includes('%7B')) {
    console.error(`${errorPrefix} could not resolve a variable in href "${href}" — rendering an empty string instead`);
    return <></>;
  }
  const isExternal = (/^https?:\/\//).test(href);
  return <a href={href} className="link" target={isExternal ? '_blank' : undefined} rel={isExternal ? 'noreferrer' : undefined}>
      {children ?? href}
      {isExternal && <span className="sr-only"> (opens in a new tab)</span>}
    </a>;
};

This topic describes how to create and configure a Megaport Virtual Edge (MVE) with Cisco in *autonomous mode* for routing. Before you begin, you need user accounts with ordering permissions that provide access to the Megaport Portal. You also need a Cisco Smart account for licensing.

For information on setting up a Megaport account, see [Creating an Account](/setting-up/registering).

<Tip>
  Cisco provides documentation in the [Catalyst 8000V Edge Software Installation And Configuration Guide](https://www.cisco.com/c/en/us/td/docs/routers/C8000V/Configuration/c8000v-installation-configuration-guide/m_csr_overview.html).
</Tip>

## Basic steps

This section summarizes the configuration steps using CLI commands and the Megaport Portal. Detailed procedures follow this basic step summary.

The basic steps are:

* Obtain a C8000V Smart License from Cisco.
* Generate an SSH key pair for authentication.
* Select autonomous mode in the Megaport Portal while creating the MVE.
* Enter an SSH key for full access to the MVE.
* Enter the MVE details.
* Create the Cisco MVE in the Megaport Portal.
* Activate the Cisco Smart License on the MVE using CLI commands.

## Licensing

Before you create an MVE in the Megaport Portal, you need a valid C8000V Smart License from Cisco. Smart Licensing is a license manager on a Cisco IOS XE device. You can place the order for Smart Licensing in the [Cisco Portal](https://cisco.com/).

The next step is to generate an SSH key pair for authentication.

## Administrative access to MVE

You connect your MVE through a public/private SSH key pair to establish a secure connection. The public SSH key allows you to use SSH to access the MVE and perform administrative tasks, such as setting the administrative password, enabling HTTPS access, and optionally registering the MVE to your management platform.

Megaport supports the 2048-bit RSA key type.

**To generate an SSH key pair (Linux/Mac OSX)**

* Enter the SSH keygen command in the terminal.

  ```shell theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
  ssh-keygen -f ~/.ssh/megaport-mve-instance-1-2048 -t rsa -b 2048
  ```

The key generator command creates an SSH key pair and adds two files to your \~/.ssh directory:

* **megaport-mve-instance-1-2048** - contains the private key.
* **megaport-mve-instance-1-2048.pub**  - contains the public key that is authorized to log in to the vendor account.

**To generate an SSH key pair (Windows, using [PuTTYgen](https://www.puttygen.com))**

1. Open PuTTYgen.
2. In the Key section, choose RSA 2048 bit and click **Generate**.
3. Move your mouse randomly in the small screen to generate the key pairs.
4. Enter a key comment to identify the key.\
   This is convenient when you use several SSH keys.
5. Enter a Key passphrase, and re-enter to confirm.\
   The passphrase is used to protect your key. You will be asked for it when you connect via SSH.
6. Click **Save private key**, choose a location, and click **Save**.
7. Click **Save public key**, choose a location, and click **Save**.

You will copy and paste the contents of the public key file in the Megaport Portal later to distribute the public key to the MVE. Your private key will match the public key to grant access. Only a single private key has access to the MVE for SSH access.

<Anchor name="creating-mve" />

## Creating an MVE in the Megaport Portal

When creating an MVE, select a location that supports the MVE and is in a compatible metro area for your network design. You can connect multiple locations to an individual MVE. For more information about location details, see [Planning Your Deployment](/mve/cisco/plan-deployment).

You can deploy multiple MVEs within the same metropolitan area for redundancy or capacity reasons.  As part of the MVE creation process, you will also typically create a Megaport Internet connection.

**To create an MVE**

1. In the <Link href="https://portal.megaport.com">Megaport Portal</Link>, go to the **Services** page.

2. Click **Add Services**, then select **MVE**.
   <Image src="/images/snippets/add-services-button.png" alt="Add Services button" shadow={true} width={150} />

3. Select **Cisco C8000**.

4. Select the software version.

   The MVE will be configured to be compatible with that version of Cisco SD-WAN.

5. Click **Next**.

6. Specify the MVE details:

   * **Location** -- Select the MVE location.

     Select a location geographically close to your target branch and/or on-premises locations.

     The country you choose must be a market in which you have already registered.

     If you haven't registered a billing market in the location where you will deploy the MVE, follow the procedure in [Enabling Billing Markets](/finance/enabling-market).

     You can use the **Search** field to find the Port name, Country, Metro City, or address of your destination Port. You can also filter by diversity zone.

   * **Diversity Zone** -- Select a diversity zone.

     You can select either Red or Blue, or select Auto and have Megaport select the zone for you. The selected or allocated diversity zone will be displayed on the location details through the rest of the provisioning, and on the Summary page at the end.\
     For more information, see [MVE Diversity](/mve/mcr-mve-diversity).

   * **Size** -- Select a size from the list of available sizes. Available sizes are highlighted in green and labeled **Available**. The sizes support varying numbers of concurrent connections, and individual partner product metrics vary slightly.

     <Note>
       If the MVE size you want is not in the list, then there is not enough capacity at the selected location. You can either select another location with enough capacity or contact your Account Manager to discuss requirements.
     </Note>

   * **Minimum Term** -- Select No Minimum Term, 12 Months, 24 Months, 36 Months, 48 Months, or 60 Months. Longer terms result in a lower monthly rate. *12 Months* is selected by default. Take note of the information on the screen to avoid early termination fees (ETF).

     Enable the [Minimum Term Renewal](/portal-admin/auto-renew/#auto-renew) option for services with a 12, 24, 36, 48 or 60-month term to automatically renew the contract at the same discounted price and term length at the end of the contract. If you don't renew the contract, at the end of the term,  the contract will automatically roll over to month-to-month contract for the following billing period, at the same price, without term discounts.

     For more information, see [MVE Pricing and Contract Terms](/finance/mve-pricing).

7. Click **Next**.

8. Specify the Cisco SD-WAN-specific settings:

   * **Appliance Mode** -- Select Autonomous from the Appliance Mode drop-down list.

   * **SSH Key** -- Copy and paste the contents of your public SSH key here. You can find the public key in the **megaport-mve-instance-1-2048.pub** file generated earlier. Must be RSA 2048 bits. We support both RFC4716 and RFC4253/OpenSSH formats.

   * **Virtual Interfaces (vNICs)** -- Each MVE is configured with one vNIC named *Data Plane* by default. To change the name, type over the name text in the box. You can also change the vNIC name later, after the MVE has been deployed.

     You can add a total of five vNICs to the MVE, including the two added by default. For more information, see [Types of vNIC Connections](/mve/vnic-connections).

     To add a vNIC:

     1. Click **+ Add**.

        <Image src="/images/mve/add-vnic-data-plane.png" alt="Add vNIC" shadow={true} width={400} />

     2. Enter a name for the vNIC.

        <Image src="/images/mve/add-vnic-data-plane-vnic-one.png" alt="Add name for vNIC" shadow={true} width={400} />

     <Note>
       If you want to increase or decrease the number of vNICs on this MVE after it has been deployed, you will have to delete the entire MVE and recreate it. You cannot add or delete vNICs on a deployed MVE.
     </Note>

   * **Megaport Marketplace** -- By default, each service is private to your enterprise and consumes services from the Megaport network for your own internal company, team, and resources. When set to private, the service is not searchable in the Megaport Marketplace, however, others can still connect to you using a [service key](/marketplace/service-keys). Megaport Marketplace visibility is controlled on your Megaport Marketplace profile. For more information about how to make your service visible to the Megaport Marketplace, see [Adding services to your profile](/marketplace/profile#adding-services-to-your-profile).

9. Click **Next**.

10. Specify optional settings:

    * **MVE Name** -- Enter a name for the MVE that is easily identifiable, particularly if you plan on provisioning more than one. This name appears in the <Link href="https://portal.megaport.com">Megaport Portal</Link>.

      The MVE name is auto-generated based on the location name and shown on the Summary page. You can override it by entering your own.

    * **Service Level Reference** (optional) -- Specify a unique identifying number for your Megaport service to be used for billing purposes, such as a cost center number, unique customer ID, or purchase order number. The service level reference number appears for each service under the Product section of the invoice. You can also edit this field for an existing service.

    * **Resource Tags** -- You can use resource tags to add your own reference metadata to a Megaport service.\
      To add a tag:
      1. Click **Add Tags**.
      2. Click  **Add New Tag**.
      3. Enter details into the fields:
         * **Key** -- string maximum length 128. Valid values are a-z 0-9 \_ : . / \ -
         * **Value** -- string maximum length 256. Valid values are a-z A-Z 0-9 \_ : . @ / + \ - (space)
      4. Click **Save**.
         If you already have resource tags for that service, you can manage them by clicking **Manage Tags**.
      <Warning>
        Never include sensitive information in a resource tag. Sensitive information includes commands that return existing tag definitions and information that will identify a person or company.
      </Warning>

11. Confirm the configuration and pricing on the Summary page.

    The monthly rate is based on location and size.

12. Click **Add MVE**.

    You are prompted to create a Megaport Internet connection. A Megaport Internet connection provides connectivity and allows MVE to register and communicate with Cisco SD-WAN.

    <Image src="/images/mve/cisco/create-transit-vxc.png" alt="Create Megaport Internet connection" shadow={true} width={500} />

**To create the Megaport Internet connection**

1. Click **Create Megaport Internet** to proceed (recommended), or click **Not now** to provision internet access at a later time.

   <Note>
     MVE requires connectivity to the internet onto the management plane virtual interface. You can either provision a Megaport Internet connection or configure a third-party internet connection using a private VXC. **We strongly recommend that you create a Megaport Internet connection for the initial MVE startup and deployment to ensure that the MVE is provisioned and functioning correctly**.
   </Note>

2. Select the target Port (the internet router).\
   The B-End of a Megaport Internet connection can be anywhere that Megaport Internet is available.\
   You can use the **Search** field to find the Port name, Country, Metro City, or address of your destination Port. You can also filter by diversity zone.

3. Click **Next**.

4. Specify the connection details:

   * **Connection Name** -- The name of your Megaport Internet connection to be shown in the <Link href="https://portal.megaport.com">Megaport Portal</Link>.

   * **Service Level Reference** (optional) -- Specify a unique identifying number for your Megaport service to be used for billing purposes, such as a cost center number, unique customer ID, or purchase order number. The service level reference number appears for each service under the Product section of the invoice. You can also edit this field for an existing service.

     <Tip>
       Use the same Service Level Reference numbers for the Megaport Internet connection and MVE to help identify the matching pair in your invoice.
     </Tip>

   * **Rate Limit** -- The speed of your connection in Mbps. The rate limit is configurable starting from 20 Mbps and can scale to several Gbps or more, in 1 Mbps increments. Available speed tiers might vary by location and service type. You can change the speed as required after you create the Megaport Internet connection. Monthly billing details appear based on location and rate limit.

   * **VXC State** -- Select **Enabled** or **Shut Down** to define the initial state of the connection. For more information, see [Shutting Down a VXC for Failover Testing](/connections/shut-down-vxc).

     <Note>
       If you select **Shut Down**, traffic will not flow through this service and it will behave as if it was down on the Megaport network. Billing for this service will remain active and you will still be charged for this connection.
     </Note>

   * **A-End vNIC** -- Select **vNIC-0** for initial management access.

   * **Preferred A-End VLAN** (optional) -- Select **Untagged** to remove VLAN tagging and allow first-time administrative login to the device.

   * **Minimum Term** -- Select No Minimum Term, 12 Months, 24 Months, 36 Months, 48 Months, or 60 Months. Longer terms result in a lower monthly rate. *12 Months* is selected by default. Take note of the information on the screen to avoid early termination fees (ETF).

     Enable the [Minimum Term Renewal](/portal-admin/auto-renew/#auto-renew) option for services with a 12, 24, 36, 48 or 60-month term to automatically renew the contract at the same discounted price and term length at the end of the contract. If you don't renew the contract, at the end of the term,  the contract will automatically roll over to month-to-month contract for the following billing period, at the same price, without term discounts.

     For more information, see [Megaport Internet Pricing and Contract Terms](/finance/megaport-internet-pricing) and [VXC, Megaport Internet, and IX Billing](/finance/billing-details).

   * **Resource Tags** -- You can use resource tags to add your own reference metadata to a Megaport service.\
     To add a tag:
     1. Click **Add Tags**.
     2. Click  **Add New Tag**.
     3. Enter details into the fields:
        * **Key** -- string maximum length 128. Valid values are a-z 0-9 \_ : . / \ -
        * **Value** -- string maximum length 256. Valid values are a-z A-Z 0-9 \_ : . @ / + \ - (space)
     4. Click **Save**.
        If you already have resource tags for that service, you can manage them by clicking **Manage Tags**.
     <Warning>
       Never include sensitive information in a resource tag. Sensitive information includes commands that return existing tag definitions and information that will identify a person or company.
     </Warning>

   <Image src="/images/snippets/tvxc-connection-details.png" alt="Megaport Internet connection details" shadow={true} width={600} />

5. Click **Next** to proceed to the connection detail summary.

6. Click **Add VXC** to move this configuration to your cart.

7. Repeat these steps to provision any additional VXCs.

8. Click **Review Order** to proceed through the checkout process, or click **Save** to save the configured services before placing the order.

9. Review the Important Information section and confirm agreement with the Service Agreements.

   If you do not have a promotion code, skip to the **Order Now** step. If you do have a promotion code, enter it into the **Enter discount code** field then click **Apply**. Alternatively, if a code already appears in the **Discounts** field, verify it is correct and click **Apply**.

   The promotional discount appears below the Standard Term discount.  This discount is not reflected in the Monthly Rate shown here, it is applied at the time of billing.  If an invalid or expired code causes an error with your order, contact your Megaport Account Manager for a replacement code.

   <Image src="/images/snippets/add-promo-code.png" alt="Add Promo Code" shadow={true} width={750} />

   If you entered an incorrect promotion code, you can remove it by clicking **Remove**.

10. Click **Order Now**.

Ordering MVE provisions the appliance and assigns IP addresses from the Megaport SDN. The MVE provisioning takes only a few minutes to complete. The provisioning process spins up an MVE. At this point, the Cisco Catalyst 8000V MVE instance is booted.

## Viewing the MVE in the Megaport Portal

After creating the MVE, you can view it in the Megaport Portal on the Services page. You can also view the public IP addresses assigned.

**To view an MVE in the Megaport Portal**

* Go to the **Services** page.

<Image src="/images/mve/cisco/view-mve-transit-vxc-mp-portal-cisco.png" alt="MVE and Megaport Internet connection in the Megaport Portal" shadow={true} width={950} />

The Megaport Internet icon differs from a standard VXC icon in the Megaport Portal, as shown in the image.

For more information about the Services page, see [Understanding the Services Page](/portal-admin/services-page).

**To view the public IP addresses assigned to the MVE**

1. Click the gear icon <InlineImage src="/images/buttons/gear-icon.png" alt="Gear icon" /> next to the Megaport Internet connection.

2. Select the **Details** tab.

3. Locate the public IP address (IPv4 or IPv6).\
   These are the public IP addresses assigned to the MVE.

The next step is to activate Cisco Smart Licensing on the MVE.

## Activating the Cisco Smart License

Before you begin, you need to obtain a registration token from Cisco. After applying the token to the CLI configuration on the MVE, you can then verify the license status and configure the MVE throughput speed using CLI commands.

**To activate the Cisco Smart License**

1. Obtain a token ID from Cisco using your Smart account.

2. Use SSH to access the MVE. The default username is `mveadmin`.

   ```shell theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
   ssh -i <path_to_private_key> mveadmin@<IP_OF_MVE_Instance>
   ```

   <Note>
     Some older versions might require the ssh-rsa key type to be specified as permitted. For example, using the command:

     ```shell theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
     ssh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa -i <path_to_private_key> mveadmin@<IP_OF_MVE_Instance>.
     ```
   </Note>

3. Submit a trust request to activate the license and register the MVE with Cisco.

   <Note>
     Enter this command in enable mode and not configuration mode.

     ```text theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
     license smart trust idtoken
     OTgyODllZjktM2UzOC00ZTIzLThjODQtN2ZiZDc2ZDMzYjZmLTE2OTg0MjE0%0AODk5MDh8YURXSzBwdm0zTWtCU05mY3VRaUhTalFLbmJOTTQ2M0hIR2Y0U1E0%0ASUpmbz0%3D%0A local force
     ```
   </Note>

4. Verify that the trust token was installed.

   ```shell theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
   show license status
   ```

   Wait for the instance to return a value for your smart and virtual accounts as well the date and time that the trust code was installed. This acknowledgement might take a couple of minutes.

5. Enter configuration mode.

6. Configure the throughput speed.

   ```shell theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
   platform hardware throughput level MB <value>
   ```

   Where *value* is a speed in mbps (for example, 10000 for 10G, 5000 for 5G, 1000 for 1G).

   <Note>
     For speeds above 250 mbps, a Router US Export License for DNA (also known as an HSECK9) license must be available in your CSSM virtual account. After configuring the throughput level, the MVE instance retrieves the HSECK9 license automatically.
   </Note>

7. Verify the installed licenses.

   ```shell theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
   show license summary
   ```

8. Check the current throughput level.

   ```shell theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
   show platform hardware throughput level
   ```

   **Example**:

   ```text theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
   c8kv-auto-test-16#show license summary

   Account Information:
   Smart Account: Megaport As of Nov 04 15:44:06 2022 UTC
   Virtual Account: CSR Virtual Account

   License Usage:
   License                 Entitlement Tag               Count Status
   -----------------------------------------------------------------------------
   Router US Export Lic... (DNA_HSEC)                        1 IN USE
   network-advantage_1G    (ESR_P_1G_A)                      1 IN USE
   dna-advantage_1G        (DNA_P_1G_A)                      1 IN USE

   c8kv-auto-test-16#show plat hardware throughput level

   The current throughput level is 2000000 kb/s
   ```

9. Save the configuration and reboot the MVE.

   ```shell theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
   wr mem
   reload
   ```

## Next steps

Once the MVE is provisioned with an Active status, the next step is to connect a VXC to a Cloud Service Provider (CSP), a local port, or a third-party network. You can optionally connect a physical Port to the MVE through a private VXC or connect to a service provider in the Megaport Marketplace.

For more information, see [Creating a VXC](/mve/cisco/creating-mve-vxc).
