Skip to content

Commit 51e3c74

Browse files
authored
Merge pull request #297434 from sushantjrao/break-glass-setup
Release 8.1
2 parents ca0681b + b5dd0c4 commit 51e3c74

6 files changed

+653
-15
lines changed

articles/operator-nexus/TOC.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,12 @@
230230
href: howto-upgrade-os-of-terminal-server.md
231231
- name: How to restrict serial port access and set timeout on terminal-server
232232
href: howto-restrict-serial-port-access-and-set-timeout-on-terminal-server.md
233+
- name: How to configure BGP prefix limit on Customer Edge (CE) devices for Azure Operator Nexus
234+
href: howto-configure-bgp-prefix-limit-on-customer-edge-devices.md
235+
- name: BMP log streaming in Azure Operator Nexus Network Fabric
236+
href: concepts-bmp-log-streaming.md
237+
- name: How to enable / disable BMP log streaming Azure Operator Nexus
238+
href: howto-enable-log-streaming.md
233239
- name: Cluster
234240
expanded: false
235241
items:
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
title: BMP log streaming in Azure Operator Nexus Network Fabric
3+
description: An overview of BGP Monitoring Protocol (BMP), its importance, and key components for effective log monitoring.
4+
author: sushantjrao
5+
ms.author: sushrao
6+
ms.service: azure-operator-nexus
7+
ms.topic: conceptual
8+
ms.date: 04/01/2025
9+
ms.custom: template-concept
10+
---
11+
12+
# Introduction to BMP
13+
14+
The **BGP Monitoring Protocol (BMP)** is a protocol designed to monitor BGP sessions. It provides a standardized method for collecting information about BGP sessions, which can be used for analysis, troubleshooting, and ensuring the stability and security of the network.
15+
16+
The BGP Monitoring Protocol (BMP) allows a monitoring station to connect to a router and collect all the BGP announcements received from the router's BGP peers. The announcements are sent to the station in the form of **BMP Route Monitoring messages** formed from path information in the router's **BGP Adj-Rib-In tables**. A BMP speaker may choose to send either **pre-policy routes, post-policy routes, or both**.
17+
18+
BMP is **unidirectional**: BMP sends messages only from the router to the monitoring station, never the other way around. The router's configuration controls the information sent. Besides Route Monitoring messages, BMP also sends these messages:
19+
20+
- **Initiation**: Sent at the beginning of a session and used to identify the router.
21+
- **Termination**: Optionally sent at the end of a session to indicate why the session is being closed.
22+
- **Peer Up**: Used to indicate if a BGP peer is in **Established** state.
23+
- **Peer Down**: Used to indicate that a BGP peer has gone out of **Established** state.
24+
25+
Connections between the router and BMP stations use **TCP**. The router can either passively listen for incoming connections from a station or actively initiate them, configurable per station. Only **one connection per BMP station** is allowed at a time. If a station reconnects, the router closes the old session and starts a new BMP session with the new connection.
26+
27+
## Importance of BMP log monitoring
28+
29+
BMP log monitoring is crucial for maintaining the **health and performance** of BGP sessions. By continuously monitoring BMP logs, network administrators can detect anomalies, identify potential issues, and take proactive measures to prevent network disruptions. Effective BMP log monitoring helps in:
30+
31+
- Ensuring the **stability and reliability** of BGP sessions.
32+
- Detecting and mitigating **security threats**.
33+
- Analyzing **network performance** and identifying optimization opportunities.
34+
- Troubleshooting and resolving **BGP-related issues** promptly.
35+
36+
## Key Components of BMP log monitoring
37+
38+
### **1. Data collection**
39+
BMP logs provide detailed information about BGP sessions, including **route updates, peer status, and error messages**. Collecting this data is the first step in effective BMP log monitoring.
40+
41+
### **2. Data storage**
42+
Storing BMP logs in a **centralized and secure location** is essential for easy access and analysis. This can be achieved using **log management systems** or **databases**.
43+
44+
### **3. Data analysis**
45+
Analyzing BMP logs helps in identifying **patterns, trends, and anomalies**. Advanced analytics tools and techniques, such as **machine learning**, can be used to gain deeper insights into the network's behavior.
46+
47+
### **4. Alerting and reporting**
48+
Setting up **alerts** for specific events or thresholds in BMP logs ensures that network administrators are **promptly notified** of any issues. **Regular reports** provide a comprehensive overview of the network's health and performance.
49+
50+
## Restrictions and limitations of BMP log streaming
51+
52+
### Nexus Network Fabric (NF) restrictions
53+
54+
Nexus NF shall not enable BMP Log streaming for the following BGP neighbors:
55+
56+
- INTERCEGLOBAL
57+
- INTERCEEVPN
58+
- INTERCEOPTION-A
59+
- CETORUNDERLAY
60+
- EVPN_OVERLAY
61+
62+
Nexus NF shall not support BMP Log streaming for RT-Membership and EVPN Address-family.
63+
64+
Nexus NF shall not support monitoring address-families at the station level, even though Nexus NF provides ARM API at the station level by facilitating the address-family. This limitation exists because Arista supports BGP Global level rather than BMP Station level.
65+
66+
### L3ISD requirements
67+
68+
- L3ISD must be enabled prior to associating the L3ISDs as Monitored Networks of any Network Monitors.
69+
- L3ISD must be enabled prior to associating the L3ISDs Internal/External Network as Station Network of any Network Monitors.
70+
- L3ISD shall not be disabled if the respective L3ISD internal/external network is associated under Station Network of any Network Monitors.
71+
72+
### Unsupported features
73+
74+
Nexus shall not support the following features:
75+
76+
- BMP support for VRF Filtering.
77+
- BMP support for local rib VPN imported routes.
78+
- BMP support for exporting Adj-Rib-Out.
79+
80+
### Peer-Address monitoring
81+
82+
Nexus NF shall not support excluding the monitoring of peer-address of neighbor groups where the neighbor group is configured with BGP listen range. This limitation is due to Arista's inability to support excluding the monitoring of certain addresses of neighbors configured with BGP listen-range.
83+
84+
### Network monitors
85+
86+
Nexus shall support a maximum of four Network Monitors (BMP Stations).
87+
88+
## Next steps
89+
[How to enable / disable BMP log streaming](./howto-enable-log-streaming.md)

articles/operator-nexus/howto-append-custom-suffix-to-interface-descriptions.md

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ms.custom: template-how-to
1111

1212
# Append custom suffix to interface descriptions in Azure Operator Nexus Network Fabric
1313

14-
TThis guide explains how to append a user-defined suffix (`additionalDescription`) to interface descriptions in Azure Operator Nexus Network Fabric. The primary interface description is `read-only,` but the `additionalDescription` property provides enhanced flexibility for operational annotations. This approach allows users to customize interface descriptions for specific maintenance or operational requirements without altering the system-generated description.
14+
This guide explains how to append a user-defined suffix (`additionalDescription`) to interface descriptions in Azure Operator Nexus Network Fabric. The primary interface description is `read-only,` but the `additionalDescription` property provides enhanced flexibility for operational annotations. This approach allows users to customize interface descriptions for specific maintenance or operational requirements without altering the system-generated description.
1515

1616
## Prerequisites
1717

@@ -31,7 +31,7 @@ az networkfabric interface show -g "example-rg" \
3131
--resource-name "example-interface" --query description
3232
```
3333

34-
### Parameter Details
34+
#### Parameter details
3535

3636
| Parameter | Short Form | Description |
3737
|--------------------------------|-----------|-------------|
@@ -54,7 +54,7 @@ az networkfabric interface update --additional-description "example-description"
5454
--resource-name "example-interface"
5555
```
5656

57-
### Parameter Details
57+
#### Parameter details
5858

5959
| Parameter | Description | Constraints |
6060
|--------------------------|--------------------------------------------------|-------------|
@@ -70,7 +70,7 @@ After updating the description, apply the changes to the Fabric:
7070
```Azure CLI
7171
az networkfabric fabric commit-configuration --resource-group "example-rg" --resource-name "example-fabric"
7272
```
73-
Parameter Details:
73+
#### Parameter details
7474

7575
| Parameter | Short Form | Description |
7676
|----------------------|-----------|-------------|
@@ -101,7 +101,7 @@ az networkfabric interface update --additional-description "example-description"
101101
--resource-name "example-interface"
102102
```
103103

104-
### Parameter Details
104+
#### Parameter details
105105

106106
| Parameter | Description | Constraints |
107107
|--------------------------|--------------------------------------------------|-------------|
@@ -118,7 +118,7 @@ After removing the suffix, apply the changes to the Fabric:
118118
az networkfabric fabric commit-configuration --resource-group "example-rg" --resource-name "example-fabric"
119119
```
120120

121-
Parameter Details:
121+
#### Parameter details
122122

123123
| Parameter | Short Form | Description |
124124
|----------------------|-----------|-------------|
@@ -131,9 +131,33 @@ Once committed, the interface description reverts to its original state:
131131
AR-CE2(Fab3-AR-CE2):Et1/1 to CR1-TOR1(Fab3-CP1-TOR1)-Port23
132132
```
133133

134+
## Network interface updates
135+
136+
Updates have been made to the network interface of the network device to standardize the interface description. Additionally, these updates now link the interface to the ARM resource ID of the connected interface for better management and tracking.
137+
138+
### Standardized interface descriptions
139+
140+
Interface descriptions follow a consistent format:
141+
142+
Source Device to Destination Device (including hostname and interface name).
143+
144+
### Example
145+
AR-CE2 (Fab3-AR-CE2): Et1/1 to CR1-TOR1 (Fab3-CP1-TOR1) - Port23
146+
147+
### connectedTo property
148+
149+
The `connectedTo` property returns the ARM resource ID of the connected interface, where available.
150+
151+
### Comparison of old and new values
152+
153+
| Example | Previous Value | New Value |
154+
|---------|---------------|-----------|
155+
| **Example 1** | CR1-TOR1-Port23 | `/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.ManagedNetworkFabric/networkDevices/fab3nf-CompRack1-TOR1/networkInterfaces/Ethernet23-1` |
156+
| **Example 2** | AR-CE2 (Fab3-AR-CE2): Et1/1 to CR1-TOR1 (Fab3-CP1-TOR1) - Port23 | `/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.ManagedNetworkFabric/networkDevices/fab3nf-CompRack1-TOR1/networkInterfaces/Ethernet23-1` |
157+
134158
## Supported interface types
135159

136-
This feature is available for the following interface types:
160+
All the above features are available for the following interface types:
137161

138162
- **Agg Rack CE**
139163
- **Agg Rack Management**
@@ -142,4 +166,4 @@ This feature is available for the following interface types:
142166
- **NPB Device**
143167

144168
> [!Note]
145-
> **Existing deployments** will retain their **current descriptions** until Fabric instances are **migrated to Release 8.0**. After migration, users must update descriptions via the **API**.
169+
> For non-NF managed devices, such as PE \ Storage Device, the `connectedTo` property will continue to reflect value as a `string` with no active link.
Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
---
2+
title: How to configure BGP prefix limit on Customer Edge (CE) devices for Azure Operator Nexus
3+
description: Learn the process for configuring BGP prefix limit on Customer Edge (CE) devices for Azure Operator Nexus
4+
author: sushantjrao
5+
ms.author: sushrao
6+
ms.date: 04/02/2025
7+
ms.topic: how-to
8+
ms.service: azure-operator-nexus
9+
ms.custom: template-how-to, devx-track-azurecli
10+
---
11+
12+
# BGP prefix limiting overview
13+
14+
BGP (Border Gateway Protocol) prefix limiting is an essential overload protection mechanism for Customer Edge (CE) devices. It helps prevent the Nexus fabric from being overwhelmed when a Nexus tenant advertises an excessive number of BGP routes into a Nexus Virtual Routing and Forwarding (VRF) instance. This feature ensures network stability and security by controlling the number of prefixes received from BGP peers.
15+
16+
## Configuration of BGP prefix limits
17+
18+
BGP prefix limits can be configured using two primary parameters:
19+
20+
- **max-routes (hard limits)**: This parameter sets the maximum number of prefixes a BGP router accepts from a neighbor. If the limit is exceeded, the BGP session with that neighbor is terminated to prevent overloading the router.
21+
22+
- **warn-threshold (soft limits)**: The warn-threshold parameter sets a warning threshold below the max-routes limit. When the number of prefixes received from a neighbor exceeds this threshold, a warning is generated, but the BGP session isn't terminated. This policy allows network administrators to take corrective action before the hard limit is reached.
23+
24+
### Hard limits (max-routes)
25+
26+
The `max-routes` parameter specifies the maximum number of prefixes that a BGP router can accept from a neighbor. If the number exceeds this limit, the BGP session with that neighbor is terminated. This threshold is a "hard" limit to protect the router from excessive load and to maintain network stability.
27+
28+
### Soft limits (warn-threshold)
29+
30+
The `warn-threshold` parameter is a "soft" limit. When the number of prefixes exceeds this threshold, a warning is triggered, but the BGP session remains active. This safeguard serves as a precautionary measure, allowing administrators to intervene before reaching the hard limit.
31+
32+
To configure **BGP Prefix Limit** on **Customer Edge (CE)** devices for **Azure Operator Nexus**, follow the steps below. This configuration includes setting the prefix limits for BGP sessions to manage network stability and prevent the Nexus fabric from being overwhelmed when a tenant advertises excessive BGP routes.
33+
34+
35+
### Prerequisites
36+
37+
- Ensure that the **Network Fabric (NF)** is upgraded to the supported version or later.
38+
39+
- Verify that your **Customer Edge (CE)** devices are running on compatible software.
40+
41+
- Check that the **peer groups** for both **IPv4** and **IPv6** address-families are properly set up for internal networks.
42+
43+
### Steps to configure BGP prefix limits
44+
45+
#### Step 1: Define BGP prefix limits
46+
47+
You need to configure the BGP prefix limits using the parameters `maximumRoutes` and `threshold`.
48+
49+
- **`maximumRoutes`**: This parameter defines the maximum number of BGP prefixes the router accepts from a BGP peer.
50+
51+
- **`threshold`**: This parameter defines the warning threshold as a percentage of the `maximumRoutes`. When the number of prefixes exceeds this threshold, a warning is generated.
52+
53+
#### Step 2: Configure on the CE device
54+
55+
##### Example 1: BGP Prefix Limit with automatic restart
56+
57+
This configuration will automatically restart the session after a defined idle time when the prefix limit is exceeded.
58+
59+
```json
60+
{
61+
"prefixLimits": {
62+
"maximumRoutes": 5000,
63+
"threshold": 80,
64+
"idleTimeExpiry": 100
65+
}
66+
}
67+
```
68+
69+
- **Explanation**:
70+
71+
- **maximumRoutes**: 5,000 routes are the limit for the BGP session.
72+
73+
- **threshold**: A warning is triggered when the prefix count reaches 80% (4,000 routes).
74+
75+
- **idleTimeExpiry**: If the session is shut down, it will restart automatically after 100 seconds of idle time.
76+
77+
##### Example 2: BGP prefix limit without automatic restart
78+
79+
This configuration shuts down the session when the maximum prefix limit is reached, but manual intervention is required to restart the session.
80+
81+
```json
82+
{
83+
"prefixLimits": {
84+
"maximumRoutes": 5000,
85+
"threshold": 80
86+
}
87+
}
88+
```
89+
90+
- **Explanation**:
91+
92+
- **maximumRoutes**: 5,000 routes are the limit for the BGP session.
93+
94+
- **threshold**: A warning is triggered when the prefix count reaches 80% (4,000 routes).
95+
96+
- No automatic restart; manual intervention is required to restart the session.
97+
98+
##### Example 3: Hard-Limit drop BGP sessions
99+
100+
This configuration drops extra routes if the prefix limit is exceeded without maintaining a cache of the dropped routes.
101+
102+
```json
103+
{
104+
"prefixLimits": {
105+
"maximumRoutes": 5000
106+
}
107+
}
108+
```
109+
110+
- **Explanation**:
111+
112+
- **maximumRoutes**: 5,000 routes are the limit for the BGP session.
113+
114+
- Once the limit is reached, the CE device drops any extra prefixes received from the BGP peer.
115+
116+
##### Example 4: Hard-Limit warning only
117+
118+
This configuration generates a warning once the prefix count reaches a certain percentage of the maximum limit but does not shut down the session.
119+
120+
```json
121+
{
122+
"prefixLimits": {
123+
"maximumRoutes": 8000,
124+
"threshold": 75,
125+
"warning-only": true
126+
}
127+
}
128+
```
129+
130+
- **Explanation**:
131+
132+
- **maximumRoutes**: 8,000 routes are the limit for the BGP session.
133+
134+
- **threshold**: A warning is generated when the prefix count reaches 75% (6,000 routes).
135+
136+
- The session isn't shut down. This configuration is used to only generate a warning without taking any session-terminating action.
137+
138+
#### Step 3: Apply Configuration Using Azure CLI
139+
140+
You can use Azure CLI commands to apply the BGP prefix limits to the external network configuration for Nexus.
141+
142+
- **With Automatic Restart**:
143+
144+
```bash
145+
az networkfabric externalnetwork create --resource-group <resource-group> --fabric-name <fabric-name> --network-name <network-name> --prefix-limits '{"maximumRoutes": 5000, "threshold": 80, "idleTimeExpiry": 100}'
146+
```
147+
148+
- **Without Automatic Restart**:
149+
150+
```bash
151+
az networkfabric externalnetwork create --resource-group <resource-group> --fabric-name <fabric-name> --network-name <network-name> --prefix-limits '{"maximumRoutes": 5000, "threshold": 80}'
152+
```
153+
154+
- **Hard-Limit Drop BGP Sessions**:
155+
156+
```bash
157+
az networkfabric externalnetwork create --resource-group <resource-group> --fabric-name <fabric-name> --network-name <network-name> --prefix-limits '{"maximumRoutes": 5000}'
158+
```
159+
160+
- **Hard-Limit Warning Only**:
161+
162+
```bash
163+
az networkfabric externalnetwork create --resource-group <resource-group> --fabric-name <fabric-name> --network-name <network-name> --prefix-limits '{"maximumRoutes": 8000, "threshold": 75, "warning-only": true}'
164+
```
165+
166+
#### Step 4: Monitor and validate the configuration
167+
168+
After applying the configuration, ensure to monitor the **BGP session** and validate whether the prefix limits are being enforced properly. You can check the status of the BGP session by using the following command:
169+
170+
```bash
171+
show ip bgp summary
172+
```
173+
174+
Look for the session states and the number of prefixes advertised by each peer. If the limits are being hit, you should see the session state change to **Established** or **Idle** based on the configuration.
175+
176+
### Considerations
177+
178+
- **Threshold and Maximum Limits**: Ensure that you set appropriate thresholds to avoid unnecessary session terminations while still protecting the network from overload.
179+
180+
- **Automatic vs. Manual Restart**: Depending on your network operations, choose between automatic and manual restart options. Automatic restart is useful for minimizing manual intervention, but manual restart may give network administrators more control over recovery.
181+
182+
## Handling BGP Prefix Limits for Different Networks
183+
184+
### Internal network
185+
186+
The platform supports Layer 3 Isolation Domain (L3IsolationDomain) for tenant workloads. It performs device programming on Nexus instances and Arista devices with peer groups for both IPv4 and IPv6 address families.
187+
188+
### External network Option B (PE)
189+
190+
For external network configuration, only the **hard-limit warning-only** option is supported. Nexus supports this configuration via the ARM API under the **NNI optionBlayer3Configuration** with the `maximumRoutes` parameter.
191+
192+
### NNI Option A
193+
194+
For NNI Option A, only a single peer group is allowed. IPv4 over IPv6 and vice versa aren't supported. Warning-only mode is available for handling prefix limits.
195+
196+
By following this guide, you can configure BGP prefix limits effectively to protect your network from overload and ensure that BGP sessions are properly managed for both internal and external networks.

0 commit comments

Comments
 (0)