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

# Troubleshooting MCR When a BGP Session is Down

> This help topic describes the troubleshooting steps and actions to take when a BGP session is down on MCR.

export const Gloss = ({term, anchor, langDir = 'en'}) => {
  const errorPrefix = '\x1b[31;1;4mERROR\x1b[0m: Gloss -';
  if (typeof term !== 'string') {
    term = String(term);
  }
  if (typeof anchor !== 'string') {
    anchor = String(anchor);
  }
  if (!term || term === 'undefined') {
    console.error(`${errorPrefix} the \`term\` property is required — rendering an empty string instead`);
    return <></>;
  }
  if (!anchor || anchor === 'undefined') {
    console.error(`${errorPrefix} the \`anchor\` property is required — rendering an empty string instead`);
    return <></>;
  }
  const lang = langDir === 'en' ? '/' : '/' + langDir + '/';
  const glossaryPage = lang + 'glossary/#' + anchor;
  return <a href={glossaryPage}>{term}</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;
};

When a BGP session on Megaport Cloud Router (MCR) is down, step through these troubleshooting actions.

## Troubleshooting actions

| **Action**                                                      | **Steps**                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| :-------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Verify the <Gloss term="BGP" anchor="bgp" /> configuration**  | Check the <Gloss term="ASN" anchor="asn" />, BGP IP address, and subnet mask: <ol> <li> Select the MCR.</li><li> Select the VXC and select the MCR <Gloss term="A-End" anchor="a-end" /> or <Gloss term="B-End" anchor="b-end" />.</li><li>Under BGP Connections, verify that the correct local ASN is in use for the A-End of the VXC.</li><li>Verify that the correct peer IP address is in use.</li></ol>                                                             |
| **Verify access to TCP port 179**                               | <Gloss term="BGP neighbors" anchor="bgp-neighbor" /> establish a TCP session using TCP port 179. <ol> <li>Make sure that a BGP neighbor is not blocking ingress or egress from TCP port 179 and other relevant ephemeral ports. You can view the port number using Wireshark, **debug ip packet detail** command, **netstat** in Windows.</li><li> Make sure that all firewalls and <Gloss term="ACLs" anchor="acl" /> permit TCP port 179 in both directions.</li></ol> |
| **Verify the route filtering**                                  | The MCR Looking Glass displays the routes received or sent after applying route filtering. For more information, see [Viewing Traffic Routing Through MCR Looking Glass](/mcr/mcr-looking-glass).<ol><li>Choose Tools > MCR/NAT Gateway Looking Glass.</li><li>Select an MCR from the MCR drop-down list.</li><li>Next to the VXC, click **Neighbour Routes**.</li><li>After Show, select the Advertised or Received tabs to narrow the list.</li></ol>                  |
| **Check the BGP neighbor state**                                | When BGP is configured with a neighbor IP address, it goes through several stages before it reaches the Established state. The BGP Neighbor States are Idle, Connect, Active, OpenSent, OpenConfirm, and Established.<br /><Image src="/images/troubleshooting/mcr/bgp-states-neighbor.png" alt="BGP Neighbor States" width={450} />                                                                                                                                     |
| **Check the BGP message type**                                  | BGP packets use these message types:<ul><li>**OPEN** -- Sets up and establishes BGP adjacency.</li><li>**UPDATE** -- Advertises, updates, or withdraws routes.</li><li>**KEEPALIVE** -- Ensures that the BGP neighbor is still alive.</li><li>**NOTIFICATION** -- Indicates an error condition to a BGP neighbor.</li></ul>                                                                                                                                              |
| **Verify the <Gloss term="MD5" anchor="md5" /> authentication** | <ul><li>Look through the logs for `Invalid MD5 digest`.</li><li>Verify that the correct BGP MD5 password is in use for the A-End and B-End of the VXC.</li></ul>                                                                                                                                                                                                                                                                                                         |
| **Run connectivity tests**                                      | <ul><li>Run a **ping** test between BGP peers. </li><li>Confirm the <Gloss term="ARP" anchor="arp" /> table entry of the BGP peer.</li></ul>                                                                                                                                                                                                                                                                                                                             |
| **Find error conditions in BGP logs**                           | The BGP protocol sends a notification message when it detects an error with the BGP session such as: an expiring hold timer, a change to neighbor capabilities, or a request to reset a BGP session. When an error is detected, the BGP session is closed.<br /><br />For example, enter **show log %BGP-xxxxx**                                                                                                                                                         |

## Next steps

If the troubleshooting actions do not resolve your issue, contact support. Before contacting support for assistance, collect the following information.

* Note the date, time, and time zone in which the issue started.
* Is the BGP session down?
* Is the BGP session flapping? For example, does the peering establish, then drop, re-establish, and then drop? Try to pinpoint where the problem might be in the network using **ping**.
* Is there a BGP routing issue?

<Note>
  For more information about when a field service technician is needed onsite at the data center, see [Customer Field Services](/finance/customer-field-services).
</Note>

### Collect essential troubleshooting data

**BGP configuration information**

* Interface settings, including VLAN number
* BGP IP address and subnet mask
* BGP ASN
* BGP network addresses to be advertised
* BGP neighbor IP address and subnet mask
* BGP neighbor ASN
* BGP neighbor network addresses to be received
* BGP authentication between BGP peers
* BGP route filtering and manipulation, if any

**BGP command output and packet capture information**

* Examine the BGP neighbor table and BGP state using the **show IP BGP summary** command
* Examine the BGP neighbor details using the **show IP BGP neighbors** command
* Logs that show BGP-related messages (output from the **show log %BGP-xxxxx** command)
* BGP routing table entries that have BGP routing issues (output from the  **show IP BGP** command)
* BGP advertised routes (output from the **show IP BGP neighbors \<neighbor-ip-address> advertised-routes** command)
* BGP received routes (output from the **show IP BGP neighbors \<neighbor-ip-address> routes** command)
* Routing table (output from the **show IP route \<ip-address>** command)
* **Traceroute** logs between source and destination host
* **Packet capture** logs, if possible (file size can be up to 10 M)
