> ## 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.

# Moving VXCs

> This help topic describes how you can move one or more ends of a VXC in the Megaport Portal.

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 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>;
};

Once you have created and deployed VXCs on the Megaport network, you can move one or both ends, subject to some rules. You can move VXCs on Ports, MCRs, and MVEs. This is a useful function for reducing interruptions during maintenance and other tasks that would otherwise cause downtime.

<Anchor name="which" />

## Which VXCs can be moved?

The following rules apply regarding which VXCs you can move:

* Any user who can change the speed of a VXC is allowed to move the VXC from any account type.
* You can move any VXC type as long as it is not locked or pending approval.
* You can move an unlocked VXC under a locked Port.
* No approval is required for Megaport Marketplace or Service Key VXCs.
* The source and destination Ports must be owned by the same customer account.

<Anchor name="conditions" />

## Conditions for moving a VXC

There are conditions that must be met before moving a VXC. The following criteria must be satisfied before you can move a VXC.

* The move can only be to a service of the same type.\
  For example, Port to Port, MCR to MCR, or MVE to MVE.
* You can only move to a Port within the same metro as the current Port.\
  For more information about metros, see [Metro IDs](/ix/metro-ids).
* The destination Ports must have enough capacity for the selected connection.
* When a VLAN is specified, that VLAN must be available on the destination Port.
* The move must not cause a change to billing.

If a move is regarded as invalid, the connection will be greyed out and cannot be moved.

If you cancel a move, the VXC is not affected and it remains connected to its original Port.

## Moving VXCs on MVEs

Moving a VXC on an MVE supports MVEs with multiple vNICs. When moving VXCs for MVEs with multiple vNICs, you can:

* move a VXC to a different vNIC on the same MVE.
* select the required vNIC on the destination MVE when moving a VXC between different MVEs.

## Moving one or more VXCs

You can move one or more VXCs at a time. Select the service that the VXCs are to be moved from, then select the VXCs to be moved.

This example shows how to move a VXC on a Port.

**To move one or more VXCs**

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

   <Tip>
     The A-End and B-End of the VXC are shown as connections on the relevant Port. Make sure you are moving the correct end.
   </Tip>

   <Image src="/images/connections/vxc-which-end.png" alt="This image shows the A-End and B-End ports and the VXC top-level details from the Services page. The place where A-End or B-End is specified is circled in red." shadow={true} />

2. Click the **Move Connections** icon on the Port or on the VXC.

   <Tip>
     The **Move Connections** icon is greyed out if the Port or VXC is not valid. For more information, see [rules](#which) and [conditions](#conditions) above.
   </Tip>

   <Image src="/images/connections/port-many-vxc.png" alt="This image shows the A-End port and a list of VXC top-level details from the Services page. The Move VXC button is shown on the port and on each VXC." shadow={true} />

3. Click to select one or more connections to move. Each move is subject to the [rules](#which) and [conditions](#conditions) described above. If a connection is not valid, it will be displayed but will not be available to select.

   <Tip>
     You can select or deselect connections individually, or use the **Select All** button.
   </Tip>

   <Image src="/images/connections/select-vxc.png" alt="This image shows the list where you can select the VXCs to move." shadow={true} />

4. Select the destination Port in the Move To area.

   The Port selection list is filtered by the rules described in the [rules](#which) and [conditions](#conditions) described above. If a connection is not valid, it will be displayed but will not be available to select.

   <Tip>
     You can filter the Ports by selecting a diversity zone at the top of the Move To list.
   </Tip>

5. Click **Next**.

6. Review your selection and click **Move**.

   <Image src="/images/connections/vxc-review-selection.png" alt="This image shows the confirmation window. It lists the source and destination of the move, and presents two buttons - Confirm and Cancel." shadow={true} />

7. On the prompt that shows the intended move, review the details again and click **Confirm**.

   <Image src="/images/connections/vxc-confirm-move.png" alt="This image shows the confirmation window. It lists the source and destination of the move, and presents two buttons - Confirm and Cancel." shadow={true} />

   The Summary table shows the status of the move. It will either show a *working* hourglass, a message saying *success*, or an error message.

   The *Success* status means that the request was successfully submitted and the VXC(s) have been moved.

   A *Failure* message shows that the move has failed. The connections will not be moved.

   <Image src="/images/connections/vxc-move-status.png" alt="This image shows the confirmation pop-up window. It lists the source and destination of the move, and presents two buttons - Confirm and Cancel." shadow={true} />
