---
title: "Custom BGP configuration"
description: "Override the default BIRD BGP templates for Calico Enterprise to access advanced BIRD features for proof-of-concept and special-case routing setups."
product: "Calico Enterprise"
version: "3.23 (latest)"
section: "Networking"
canonical_url: "https://docs.tigera.io/calico-enterprise/latest/networking/configuring/custom-bgp-config"
---

# Custom BGP configuration

## Big picture

Customize BGP configurations for special use-cases.

> **WARNING:** Customizing BGP configuration templates is not supported by Tigera for production because they are not guaranteed to work when upgrading. However, if you want to use custom templates for POCs and other temporary uses cases, contact your Tigera Support representative for help.

## Concepts

In Calico Enterprise, BGP is handled by [BIRD](https://github.com/projectcalico/bird). The BIRD configurations are templated out through [confd](https://github.com/projectcalico/confd). You can modify the BIRD configuration to use BIRD features which are not typically exposed using the default configuration provided with Calico Enterprise.

## Before you begin

**Required**

- Calico CNI

## How to

- [Update BGP configuration](#update-bgp-configuration)
- [Apply BGP customizations](#apply-bgp-customizations) based on how you've deployed Calico Enterprise:

### Update BGP configuration

Using the directions provided with the templates, set the correct values for the BGP configuration using these resources:

- [BGP Configuration](https://docs.tigera.io/calico-enterprise/latest/reference/resources/bgpconfig.md)
- [BGP Peer](https://docs.tigera.io/calico-enterprise/latest/reference/resources/bgppeer.md)
- [calicoctl](https://docs.tigera.io/calico-enterprise/latest/reference/clis/calicoctl.md)

### Apply BGP Customizations

1. Create your confd templates.
2. Create a ConfigMap from the templates.

```text
kubectl create configmap bird-templates -n tigera-operator --from-file=<path to directory of templates>
```

The created config map will be used to populate the Calico Enterprise BIRD configuration file templates. If a template with the same name already exists within the node container, it will be overwritten with the contents from the config map.
