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

> BGPPeerConfig configures a native BGP speaker on the host.

# BGPPeerConfig

```yaml theme={null}
apiVersion: v1alpha1
kind: BGPPeerConfig
localASN: 65001 # Local autonomous system number for the BGP speaker.
# Names of the links whose addresses are originated into BGP as host routes (/32, /128).
advertise:
    - dummy0
multipath: true # Enable ECMP (multipath) for routes learned from multiple neighbors.
# BGP neighbors to peer with.
neighbors:
    - link: enp1s0 # Link name for an unnumbered (IPv6 link-local) session. Mutually exclusive with `address`.
      # BFD (Bidirectional Forwarding Detection) configuration for the neighbor.
      bfd: {}
    - link: enp2s0 # Link name for an unnumbered (IPv6 link-local) session. Mutually exclusive with `address`.
      # BFD (Bidirectional Forwarding Detection) configuration for the neighbor.
      bfd: {}

# # BGP router-id. If not set, it is derived from the first advertised address.
# routerID: 10.0.0.1

# # Preferred source address set on routes installed from BGP (the kernel route `src` / RTA_PREFSRC,
# routeSource: 10.0.0.1
```

<table>
  <thead>
    <tr>
      <th>Field</th>
      <th>Type</th>
      <th>Description</th>
      <th>Value(s)</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`localASN`</td>
      <td>uint32</td>
      <td>Local autonomous system number for the BGP speaker.</td>

      <td />
    </tr>

    <tr>
      <td>`routerID`</td>
      <td>Addr</td>
      <td>BGP router-id. If not set, it is derived from the first advertised address.</td>

      <td />
    </tr>

    <tr>
      <td>`routeSource`</td>
      <td>Addr</td>
      <td>Preferred source address set on routes installed from BGP (the kernel route `src` / RTA\_PREFSRC,<br />equivalent to FRR's `ip protocol bgp route-map SETSRC`). Set this to the node's loopback so that<br />traffic following BGP-learned routes is sourced from the node identity even though the unnumbered<br />fabric uplinks carry no address of their own. If not set, the kernel selects the source address.</td>

      <td />
    </tr>

    <tr>
      <td>`advertise`</td>
      <td>\[]string</td>
      <td>Names of the links whose addresses are originated into BGP as host routes (/32, /128).<br />Typically a loopback or dummy link holding the node IP.</td>

      <td />
    </tr>

    <tr>
      <td>`multipath`</td>
      <td>bool</td>
      <td>Enable ECMP (multipath) for routes learned from multiple neighbors.</td>

      <td />
    </tr>

    <tr>
      <td>`maxPaths`</td>
      <td>uint8</td>
      <td>Maximum number of ECMP next-hops to install. Zero uses the implementation default.</td>

      <td />
    </tr>

    <tr>
      <td>`neighbors`</td>
      <td><a href="#neighbors%5B%5D">BGPNeighborConfig</a></td>
      <td>BGP neighbors to peer with.</td>

      <td />
    </tr>
  </tbody>
</table>

## neighbors\[]

BGPNeighborConfig configures a single BGP neighbor.

<table>
  <thead>
    <tr>
      <th>Field</th>
      <th>Type</th>
      <th>Description</th>
      <th>Value(s)</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`address`</td>
      <td>Addr</td>
      <td>Neighbor IP address for a numbered session. Mutually exclusive with `link`.</td>

      <td />
    </tr>

    <tr>
      <td>`link`</td>
      <td>string</td>
      <td>Link name for an unnumbered (IPv6 link-local) session. Mutually exclusive with `address`.<br />Link aliases are supported.</td>

      <td />
    </tr>

    <tr>
      <td>`peerASN`</td>
      <td>uint32</td>
      <td>Expected peer ASN. Zero accepts any ASN advertised by the peer (eBGP "external").</td>

      <td />
    </tr>

    <tr>
      <td>`holdTime`</td>
      <td>Duration</td>
      <td>BGP hold time. Zero uses the implementation default.</td>

      <td />
    </tr>

    <tr>
      <td>`bfd`</td>
      <td><a href="#bfd">BGPBFDConfig</a></td>
      <td>BFD (Bidirectional Forwarding Detection) configuration for the neighbor.</td>

      <td />
    </tr>
  </tbody>
</table>

### bfd

BGPBFDConfig configures BFD for a BGP neighbor.

<table>
  <thead>
    <tr>
      <th>Field</th>
      <th>Type</th>
      <th>Description</th>
      <th>Value(s)</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`transmitInterval`</td>
      <td>Duration</td>
      <td>Desired minimum transmit interval. Zero uses the implementation default.</td>

      <td />
    </tr>

    <tr>
      <td>`receiveInterval`</td>
      <td>Duration</td>
      <td>Required minimum receive interval. Zero uses the implementation default.</td>

      <td />
    </tr>

    <tr>
      <td>`detectMultiplier`</td>
      <td>uint8</td>
      <td>BFD detection multiplier. Zero uses the implementation default.</td>

      <td />
    </tr>
  </tbody>
</table>
