blob: dbe4758b0337c55a9df3bff618bf69ffa2ee3032 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
---
lastproofread: '2026-03-10'
---
(vpp-config-interfaces-bridge)=
```{include} /_include/need_improvement.txt
```
# VPP Bridge Configuration
VPP bridge interfaces provide Layer 2 switching functionality, allowing
multiple interfaces to be connected at the data link layer.
VPP bridges operate as learning bridges, automatically discovering MAC
addresses and building forwarding tables to efficiently switch traffic
between member interfaces. This provides transparent connectivity between
different network segments while maintaining the performance benefits of
VPP's optimized data plane.
**Supported Member Interface Types:**
VPP bridges support various interface types as members:
- Physical Ethernet interfaces (managed through linux-cp)
- {doc}`bonding` - VPP bonding interfaces
- {doc}`gre` - GRE tunnel interfaces
- {doc}`loopback` - Loopback interfaces (required for BVI)
- {doc}`vxlan` - VXLAN tunnel interfaces
This flexibility allows you to create complex Layer 2 topologies
combining different networking technologies.
## Basic Configuration
### Creating a Bridge Interface
```{cfgcmd} set interfaces vpp bridge \<vppbrN\>
Create a bridge interface where ``<vppbrN>`` follows the naming
convention ``vppbr1``, ``vppbr2``, etc.
```
:::{note}
Bridge domain `vppbr0` is reserved by VPP and cannot be
configured through VyOS. Start with `vppbr1` for your bridge
configurations.
:::
**Example:**
```none
set interfaces vpp bridge vppbr1
```
### Interface Description
```{cfgcmd} set interfaces vpp bridge \<vppbrN\> description \<description\>
Set a descriptive name for the bridge interface.
```
**Example:**
```none
set interfaces vpp bridge vppbr1 description "Main campus bridge"
```
## Member Interface Configuration
### Adding Member Interfaces
```{cfgcmd} set interfaces vpp bridge \<vppbrN\> member interface \<interface-name\>
Add an interface as a member of the bridge.
```
**Examples:**
```none
# Add physical interfaces
set interfaces vpp bridge vppbr1 member interface eth0
set interfaces vpp bridge vppbr1 member interface eth1
# Add other VPP interfaces
set interfaces vpp bridge vppbr1 member interface vppbond0
set interfaces vpp bridge vppbr1 member interface vppgre1
```
:::{important}
Bridge members can include various interface types such as:
- Physical Ethernet interfaces (eth0, eth1, etc.)
- {doc}`bonding` - VPP bonding interfaces (vppbond0, vppbond1, etc.)
- {doc}`gre` - GRE tunnel interfaces
- {doc}`loopback` - Loopback interfaces
- {doc}`vxlan` - VXLAN tunnel interfaces
:::
## Bridge Virtual Interface (BVI)
A Bridge Virtual Interface (BVI) provides Layer 3 connectivity to a
bridge domain, allowing the bridge to have an IP address and participate
in routing.
### Configuring BVI
```{cfgcmd} set interfaces vpp bridge \<vppbrN\> member interface \<loopback-interface\> bvi
Designate a loopback interface as the Bridge Virtual Interface for
the bridge domain.
```
**Example:**
```none
# Create a loopback interface first
set interfaces vpp loopback vpplo1
# Add it to the bridge as BVI
set interfaces vpp bridge vppbr1 member interface vpplo1 bvi
```
:::{important}
**BVI Restrictions:**
- Only loopback interfaces can be configured as BVI
- Each bridge domain can have only one BVI interface
:::
## Configuration Examples
### Basic Bridge Setup
```none
# Create bridge interface
set interfaces vpp bridge vppbr1
set interfaces vpp bridge vppbr1 description "Office network bridge"
# Add member interfaces
set interfaces vpp bridge vppbr1 member interface eth0
set interfaces vpp bridge vppbr1 member interface eth1
set interfaces vpp bridge vppbr1 member interface eth2
```
### Bridge with BVI
```none
# Create bridge and loopback for BVI
set interfaces vpp bridge vppbr2
set interfaces vpp bridge vppbr2 description "Server segment with gateway"
set interfaces vpp loopback vpplo1
# Configure bridge members
set interfaces vpp bridge vppbr2 member interface eth3
set interfaces vpp bridge vppbr2 member interface eth4
set interfaces vpp bridge vppbr2 member interface vpplo1 bvi
```
### Multi-Technology Bridge
```none
# Create bridge combining different interface types
set interfaces vpp bridge vppbr3
set interfaces vpp bridge vppbr3 description "Hybrid network bridge"
# Add various interface types
set interfaces vpp bridge vppbr3 member interface vppbond1
set interfaces vpp bridge vppbr3 member interface vppgre1
set interfaces vpp bridge vppbr3 member interface vppvxlan1
set interfaces vpp bridge vppbr3 member interface vpplo2 bvi
```
## Integration with Kernel Interfaces
Bridge interfaces can be integrated with kernel interfaces for
management and compatibility with standard Linux networking services.
This is accomplished by binding a kernel interface to the Bridge
Virtual Interface (BVI).
**Example Integration:**
```none
# Create VPP bridge with member interfaces
set interfaces vpp bridge vppbr1
set interfaces vpp bridge vppbr1 member interface eth1
set interfaces vpp bridge vppbr1 member interface eth2
# Create loopback interface and configure as BVI
set interfaces vpp loopback vpplo1
set interfaces vpp bridge vppbr1 member interface vpplo1 bvi
# Bind LCP kernel interface to the BVI loopback
set interfaces vpp loopback vpplo1 address '192.0.2.1/24'
```
This configuration creates a kernel interface bound to the BVI,
allowing standard Linux applications and routing daemons to interact
with the VPP bridge. The kernel interface provides Layer 3 access to
the bridge domain.
|