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

> This help topic describes how you can move the A-End of an Internet Exchange 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 an Internet Exchange (IX) on the Megaport network, you can move the A-End, effectively moving the IX. This is a useful function for reducing interruptions during maintenance and other tasks that would otherwise cause downtime.

<Anchor name="which" />

## Which IXs can be moved?

The following rules apply regarding which IXs you can move:

* The IX must at least be in a Configured state
* An IX locked by a Company Admin cannot be moved
* You can move an unlocked IX under a locked Port
* The source and destination Ports must be owned by the same customer account.

<Anchor name="conditions" />

## Conditions for moving an IX

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

* 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, an error message is displayed and the IX is not moved.

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

## Moving one or more IXs

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

**To move one or more IXs**

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.

2. Click the **Move Connections** icon next to the Port or the IX.

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

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

3. 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/ix/select-ix.png" alt="This image shows the list where you can select the IXs to move." shadow={true} />

4. Select the destination Port in the Move To list.\
   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**.

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

   <Image src="/images/ix/ix-confirm-move.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} />

   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 IX(s) have been moved. The change might take up to 2 minutes to appear in the Megaport Portal.

   A *Failure* message shows that the move has failed. The IX(s) will not be moved.

   <Image src="/images/ix/ix-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} />
