]> git.proxmox.com Git - mirror_iproute2.git/blob - man/man8/bridge.8
bridge: add support for backup port
[mirror_iproute2.git] / man / man8 / bridge.8
1 .TH BRIDGE 8 "1 August 2012" "iproute2" "Linux"
2 .SH NAME
3 bridge \- show / manipulate bridge addresses and devices
4 .SH SYNOPSIS
5
6 .ad l
7 .in +8
8 .ti -8
9 .B bridge
10 .RI "[ " OPTIONS " ] " OBJECT " { " COMMAND " | "
11 .BR help " }"
12 .sp
13
14 .ti -8
15 .IR OBJECT " := { "
16 .BR link " | " fdb " | " mdb " | " vlan " | " monitor " }"
17 .sp
18
19 .ti -8
20 .IR OPTIONS " := { "
21 \fB\-V\fR[\fIersion\fR] |
22 \fB\-s\fR[\fItatistics\fR] |
23 \fB\-n\fR[\fIetns\fR] name |
24 \fB\-b\fR[\fIatch\fR] filename |
25 \fB\-c\fR[\folor\fR] |
26 \fB\-p\fR[\fIretty\fR] |
27 \fB\-j\fR[\fIson\fR] |
28 \fB\-o\fR[\fIneline\fr] }
29
30 .ti -8
31 .BR "bridge link set"
32 .B dev
33 .IR DEV
34 .IR " [ "
35 .B cost
36 .IR COST " ] [ "
37 .B priority
38 .IR PRIO " ] [ "
39 .B state
40 .IR STATE " ] [ "
41 .BR guard " { " on " | " off " } ] [ "
42 .BR hairpin " { " on " | " off " } ] [ "
43 .BR fastleave " { " on " | " off " } ] [ "
44 .BR root_block " { " on " | " off " } ] [ "
45 .BR learning " { " on " | " off " } ] [ "
46 .BR learning_sync " { " on " | " off " } ] [ "
47 .BR flood " { " on " | " off " } ] [ "
48 .BR hwmode " { " vepa " | " veb " } ] [ "
49 .BR mcast_flood " { " on " | " off " } ] [ "
50 .BR neigh_suppress " { " on " | " off " } ] [ "
51 .BR vlan_tunnel " { " on " | " off " } ] [ "
52 .BR isolated " { " on " | " off " } ] [ "
53 .B backup_port
54 .IR DEVICE " ] ["
55 .BR nobackup_port " ] [ "
56 .BR self " ] [ " master " ]"
57
58 .ti -8
59 .BR "bridge link" " [ " show " ] [ "
60 .B dev
61 .IR DEV " ]"
62
63 .ti -8
64 .BR "bridge fdb" " { " add " | " append " | " del " | " replace " } "
65 .I LLADDR
66 .B dev
67 .IR DEV " { "
68 .BR local " | " static " | " dynamic " } [ "
69 .BR self " ] [ " master " ] [ " router " ] [ " use " ] [ " extern_learn " ] [ " sticky " ] [ "
70 .B dst
71 .IR IPADDR " ] [ "
72 .B vni
73 .IR VNI " ] ["
74 .B port
75 .IR PORT " ] ["
76 .B via
77 .IR DEVICE " ]"
78
79 .ti -8
80 .BR "bridge fdb" " [ " show " ] [ "
81 .B dev
82 .IR DEV " ] [ "
83 .B br
84 .IR BRDEV " ] [ "
85 .B brport
86 .IR DEV " ] [ "
87 .B vlan
88 .IR VID " ] [ "
89 .B state
90 .IR STATE " ]"
91
92 .ti -8
93 .BR "bridge mdb" " { " add " | " del " } "
94 .B dev
95 .IR DEV
96 .B port
97 .IR PORT
98 .B grp
99 .IR GROUP " [ "
100 .BR permanent " | " temp " ] [ "
101 .B vid
102 .IR VID " ] "
103
104 .ti -8
105 .BR "bridge mdb show " [ "
106 .B dev
107 .IR DEV " ]"
108
109 .ti -8
110 .BR "bridge vlan" " { " add " | " del " } "
111 .B dev
112 .IR DEV
113 .B vid
114 .IR VID " [ "
115 .BR tunnel_info
116 .IR TUNNEL_ID " ] [ "
117 .BR pvid " ] [ " untagged " ] [ "
118 .BR self " ] [ " master " ] "
119
120 .ti -8
121 .BR "bridge vlan" " [ " show " | " tunnelshow " ] [ "
122 .B dev
123 .IR DEV " ]"
124
125 .ti -8
126 .BR "bridge monitor" " [ " all " | " neigh " | " link " | " mdb " ]"
127
128 .SH OPTIONS
129
130 .TP
131 .BR "\-V" , " -Version"
132 print the version of the
133 .B bridge
134 utility and exit.
135
136 .TP
137 .BR "\-s" , " \-stats", " \-statistics"
138 output more information. If this option
139 is given multiple times, the amount of information increases.
140 As a rule, the information is statistics or some time values.
141
142 .TP
143 .BR "\-d" , " \-details"
144 print detailed information about MDB router ports.
145
146 .TP
147 .BR "\-n" , " \-net" , " \-netns " <NETNS>
148 switches
149 .B bridge
150 to the specified network namespace
151 .IR NETNS .
152 Actually it just simplifies executing of:
153
154 .B ip netns exec
155 .IR NETNS
156 .B bridge
157 .RI "[ " OPTIONS " ] " OBJECT " { " COMMAND " | "
158 .BR help " }"
159
160 to
161
162 .B bridge
163 .RI "-n[etns] " NETNS " [ " OPTIONS " ] " OBJECT " { " COMMAND " | "
164 .BR help " }"
165
166 .TP
167 .BR "\-b", " \-batch " <FILENAME>
168 Read commands from provided file or standard input and invoke them.
169 First failure will cause termination of bridge command.
170
171 .TP
172 .BR "\-force"
173 Don't terminate bridge command on errors in batch mode.
174 If there were any errors during execution of the commands, the application
175 return code will be non zero.
176
177 .TP
178 .BR \-c [ color ][ = { always | auto | never }
179 Configure color output. If parameter is omitted or
180 .BR always ,
181 color output is enabled regardless of stdout state. If parameter is
182 .BR auto ,
183 stdout is checked to be a terminal before enabling color output. If parameter is
184 .BR never ,
185 color output is disabled. If specified multiple times, the last one takes
186 precedence. This flag is ignored if
187 .B \-json
188 is also given.
189
190 .TP
191 .BR "\-j", " \-json"
192 Output results in JavaScript Object Notation (JSON).
193
194 .TP
195 .BR "\-p", " \-pretty"
196 When combined with -j generate a pretty JSON output.
197
198 .TP
199 .BR "\-o", " \-oneline"
200 output each record on a single line, replacing line feeds
201 with the
202 .B '\e'
203 character. This is convenient when you want to count records
204 with
205 .BR wc (1)
206 or to
207 .BR grep (1)
208 the output.
209
210
211 .SH BRIDGE - COMMAND SYNTAX
212
213 .SS
214 .I OBJECT
215
216 .TP
217 .B link
218 - Bridge port.
219
220 .TP
221 .B fdb
222 - Forwarding Database entry.
223
224 .TP
225 .B mdb
226 - Multicast group database entry.
227
228 .TP
229 .B vlan
230 - VLAN filter list.
231
232 .SS
233 .I COMMAND
234
235 Specifies the action to perform on the object.
236 The set of possible actions depends on the object type.
237 As a rule, it is possible to
238 .BR "add" , " delete"
239 and
240 .B show
241 (or
242 .B list
243 ) objects, but some objects do not allow all of these operations
244 or have some additional commands. The
245 .B help
246 command is available for all objects. It prints
247 out a list of available commands and argument syntax conventions.
248 .sp
249 If no command is given, some default command is assumed.
250 Usually it is
251 .B list
252 or, if the objects of this class cannot be listed,
253 .BR "help" .
254
255 .SH bridge link - bridge port
256
257 .B link
258 objects correspond to the port devices of the bridge.
259
260 .P
261 The corresponding commands set and display port status and bridge specific
262 attributes.
263
264 .SS bridge link set - set bridge specific attributes on a port
265
266 .TP
267 .BI dev " NAME "
268 interface name of the bridge port
269
270 .TP
271 .BI cost " COST "
272 the STP path cost of the specified port.
273
274 .TP
275 .BI priority " PRIO "
276 the STP port priority. The priority value is an unsigned 8-bit quantity
277 (number between 0 and 255). This metric is used in the designated port an
278 droot port selectio algorithms.
279
280 .TP
281 .BI state " STATE "
282 the operation state of the port. This is primarily used by user space STP/RSTP
283 implementation. One may enter a lowercased port state name, or one of the
284 numbers below. Negative inputs are ignored, and unrecognized names return an
285 error.
286
287 .B 0
288 - port is DISABLED. Make this port completely inactive.
289 .sp
290
291 .B 1
292 - STP LISTENING state. Only valid if STP is enabled on the bridge. In this
293 state the port listens for STP BPDUs and drops all other traffic frames.
294 .sp
295
296 .B 2
297 - STP LEARNING state. Only valid if STP is enabled on the bridge. In this
298 state the port will accept traffic only for the purpose of updating MAC
299 address tables.
300 .sp
301
302 .B 3
303 - STP FORWARDING state. Port is fully active.
304 .sp
305
306 .B 4
307 - STP BLOCKING state. Only valid if STP is enabled on the bridge. This state
308 is used during the STP election process. In this state, port will only process
309 STP BPDUs.
310 .sp
311
312 .TP
313 .BR "guard on " or " guard off "
314 Controls whether STP BPDUs will be processed by the bridge port. By default,
315 the flag is turned off allowed BPDU processing. Turning this flag on will
316 cause the port to stop processing STP BPDUs.
317
318 .TP
319 .BR "hairpin on " or " hairpin off "
320 Controls whether traffic may be send back out of the port on which it was
321 received. By default, this flag is turned off and the bridge will not forward
322 traffic back out of the receiving port.
323
324 .TP
325 .BR "fastleave on " or " fastleave off "
326 This flag allows the bridge to immediately stop multicast traffic on a port
327 that receives IGMP Leave message. It is only used with IGMP snooping is
328 enabled on the bridge. By default the flag is off.
329
330 .TP
331 .BR "root_block on " or " root_block off "
332 Controls whether a given port is allowed to become root port or not. Only used
333 when STP is enabled on the bridge. By default the flag is off.
334
335 .TP
336 .BR "learning on " or " learning off "
337 Controls whether a given port will learn MAC addresses from received traffic or
338 not. If learning if off, the bridge will end up flooding any traffic for which
339 it has no FDB entry. By default this flag is on.
340
341 .TP
342 .BR "learning_sync on " or " learning_sync off "
343 Controls whether a given port will sync MAC addresses learned on device port to
344 bridge FDB.
345
346 .TP
347 .BR "flooding on " or " flooding off "
348 Controls whether a given port will flood unicast traffic for which there is no FDB entry. By default this flag is on.
349
350 .TP
351 .BI hwmode
352 Some network interface cards support HW bridge functionality and they may be
353 configured in different modes. Currently support modes are:
354
355 .B vepa
356 - Data sent between HW ports is sent on the wire to the external
357 switch.
358
359 .B veb
360 - bridging happens in hardware.
361
362 .TP
363 .BR "mcast_flood on " or " mcast_flood off "
364 Controls whether a given port will be flooded with multicast traffic for which there is no MDB entry. By default this flag is on.
365
366 .TP
367 .BR "neigh_suppress on " or " neigh_suppress off "
368 Controls whether neigh discovery (arp and nd) proxy and suppression is enabled on the port. By default this flag is off.
369
370 .TP
371 .BR "vlan_tunnel on " or " vlan_tunnel off "
372 Controls whether vlan to tunnel mapping is enabled on the port. By default this flag is off.
373
374 .TP
375 .BR "isolated on " or " isolated off "
376 Controls whether a given port will be isolated, which means it will be able to communicate with non-isolated ports only.
377 By default this flag is off.
378
379 .TP
380 .BI backup_port " DEVICE"
381 If the port loses carrier all traffic will be redirected to the configured backup port
382
383 .TP
384 .BR nobackup_port
385 Removes the currently configured backup port
386
387 .TP
388 .BI self
389 link setting is configured on specified physical device
390
391 .TP
392 .BI master
393 link setting is configured on the software bridge (default)
394
395 .TP
396 .BR "\-t" , " \-timestamp"
397 display current time when using monitor option.
398
399 .SS bridge link show - list bridge port configuration.
400
401 This command displays the current bridge port configuration and flags.
402
403 .SH bridge fdb - forwarding database management
404
405 .B fdb
406 objects contain known Ethernet addresses on a link.
407
408 .P
409 The corresponding commands display fdb entries, add new entries,
410 append entries,
411 and delete old ones.
412
413 .SS bridge fdb add - add a new fdb entry
414
415 This command creates a new fdb entry.
416
417 .TP
418 .BI "LLADDR"
419 the Ethernet MAC address.
420
421 .TP
422 .BI dev " DEV"
423 the interface to which this address is associated.
424
425 .B local
426 - is a local permanent fdb entry
427 .sp
428
429 .B static
430 - is a static (no arp) fdb entry
431 .sp
432
433 .B dynamic
434 - is a dynamic reachable age-able fdb entry
435 .sp
436
437 .B self
438 - the address is associated with the port drivers fdb. Usually hardware.
439 .sp
440
441 .B master
442 - the address is associated with master devices fdb. Usually software (default).
443 .sp
444
445 .B router
446 - the destination address is associated with a router.
447 Valid if the referenced device is a VXLAN type device and has
448 route shortcircuit enabled.
449 .sp
450
451 .B use
452 - the address is in use. User space can use this option to
453 indicate to the kernel that the fdb entry is in use.
454 .sp
455
456 .B extern_learn
457 - this entry was learned externally. This option can be used to
458 indicate to the kernel that an entry was hardware or user-space
459 controller learnt dynamic entry. Kernel will not age such an entry.
460 .sp
461
462 .B sticky
463 - this entry will not change its port due to learning.
464 .sp
465
466 .in -8
467 The next command line parameters apply only
468 when the specified device
469 .I DEV
470 is of type VXLAN.
471 .TP
472 .BI dst " IPADDR"
473 the IP address of the destination
474 VXLAN tunnel endpoint where the Ethernet MAC ADDRESS resides.
475
476 .TP
477 .BI vni " VNI"
478 the VXLAN VNI Network Identifier (or VXLAN Segment ID)
479 to use to connect to the remote VXLAN tunnel endpoint.
480 If omitted the value specified at vxlan device creation
481 will be used.
482
483 .TP
484 .BI port " PORT"
485 the UDP destination PORT number to use to connect to the
486 remote VXLAN tunnel endpoint.
487 If omitted the default value is used.
488
489 .TP
490 .BI via " DEVICE"
491 device name of the outgoing interface for the
492 VXLAN device driver to reach the
493 remote VXLAN tunnel endpoint.
494
495 .SS bridge fdb append - append a forwarding database entry
496 This command adds a new fdb entry with an already known
497 .IR LLADDR .
498 Valid only for multicast link layer addresses.
499 The command adds support for broadcast and multicast
500 Ethernet MAC addresses.
501 The Ethernet MAC address is added multiple times into
502 the forwarding database and the vxlan device driver
503 sends a copy of the data packet to each entry found.
504
505 .PP
506 The arguments are the same as with
507 .BR "bridge fdb add" .
508
509 .SS bridge fdb delete - delete a forwarding database entry
510 This command removes an existing fdb entry.
511
512 .PP
513 The arguments are the same as with
514 .BR "bridge fdb add" .
515
516 .SS bridge fdb replace - replace a forwarding database entry
517 If no matching entry is found, a new one will be created instead.
518
519 .PP
520 The arguments are the same as with
521 .BR "bridge fdb add" .
522
523 .SS bridge fdb show - list forwarding entries.
524
525 This command displays the current forwarding table.
526
527 .PP
528 With the
529 .B -statistics
530 option, the command becomes verbose. It prints out the last updated
531 and last used time for each entry.
532
533 .SH bridge mdb - multicast group database management
534
535 .B mdb
536 objects contain known IP multicast group addresses on a link.
537
538 .P
539 The corresponding commands display mdb entries, add new entries,
540 and delete old ones.
541
542 .SS bridge mdb add - add a new multicast group database entry
543
544 This command creates a new mdb entry.
545
546 .TP
547 .BI dev " DEV"
548 the interface where this group address is associated.
549
550 .TP
551 .BI port " PORT"
552 the port whose link is known to have members of this multicast group.
553
554 .TP
555 .BI grp " GROUP"
556 the IP multicast group address whose members reside on the link connected to
557 the port.
558
559 .B permanent
560 - the mdb entry is permanent
561 .sp
562
563 .B temp
564 - the mdb entry is temporary (default)
565 .sp
566
567 .TP
568 .BI vid " VID"
569 the VLAN ID which is known to have members of this multicast group.
570
571 .in -8
572 .SS bridge mdb delete - delete a multicast group database entry
573 This command removes an existing mdb entry.
574
575 .PP
576 The arguments are the same as with
577 .BR "bridge mdb add" .
578
579 .SS bridge mdb show - list multicast group database entries
580
581 This command displays the current multicast group membership table. The table
582 is populated by IGMP and MLD snooping in the bridge driver automatically. It
583 can be altered by
584 .B bridge mdb add
585 and
586 .B bridge mdb del
587 commands manually too.
588
589 .TP
590 .BI dev " DEV"
591 the interface only whose entries should be listed. Default is to list all
592 bridge interfaces.
593
594 .PP
595 With the
596 .B -details
597 option, the command becomes verbose. It prints out the ports known to have
598 a connected router.
599
600 .PP
601 With the
602 .B -statistics
603 option, the command displays timer values for mdb and router port entries.
604
605 .SH bridge vlan - VLAN filter list
606
607 .B vlan
608 objects contain known VLAN IDs for a link.
609
610 .P
611 The corresponding commands display vlan filter entries, add new entries,
612 and delete old ones.
613
614 .SS bridge vlan add - add a new vlan filter entry
615
616 This command creates a new vlan filter entry.
617
618 .TP
619 .BI dev " NAME"
620 the interface with which this vlan is associated.
621
622 .TP
623 .BI vid " VID"
624 the VLAN ID that identifies the vlan.
625
626 .TP
627 .BI tunnel_info " TUNNEL_ID"
628 the TUNNEL ID that maps to this vlan. The tunnel id is set in dst_metadata for
629 every packet that belongs to this vlan (applicable to bridge ports with vlan_tunnel
630 flag set).
631
632 .TP
633 .BI pvid
634 the vlan specified is to be considered a PVID at ingress.
635 Any untagged frames will be assigned to this VLAN.
636
637 .TP
638 .BI untagged
639 the vlan specified is to be treated as untagged on egress.
640
641 .TP
642 .BI self
643 the vlan is configured on the specified physical device. Required if the
644 device is the bridge device.
645
646 .TP
647 .BI master
648 the vlan is configured on the software bridge (default).
649
650 .SS bridge vlan delete - delete a vlan filter entry
651 This command removes an existing vlan filter entry.
652
653 .PP
654 The arguments are the same as with
655 .BR "bridge vlan add".
656 The
657 .BR "pvid " and " untagged"
658 flags are ignored.
659
660 .SS bridge vlan show - list vlan configuration.
661
662 This command displays the current VLAN filter table.
663
664 .PP
665 With the
666 .B -statistics
667 option, the command displays per-vlan traffic statistics.
668
669 .SS bridge vlan tunnelshow - list vlan tunnel mapping.
670
671 This command displays the current vlan tunnel info mapping.
672
673 .SH bridge monitor - state monitoring
674
675 The
676 .B bridge
677 utility can monitor the state of devices and addresses
678 continuously. This option has a slightly different format.
679 Namely, the
680 .B monitor
681 command is the first in the command line and then the object list follows:
682
683 .BR "bridge monitor" " [ " all " |"
684 .IR OBJECT-LIST " ]"
685
686 .I OBJECT-LIST
687 is the list of object types that we want to monitor.
688 It may contain
689 .BR link ", " fdb ", and " mdb "."
690 If no
691 .B file
692 argument is given,
693 .B bridge
694 opens RTNETLINK, listens on it and dumps state changes in the format
695 described in previous sections.
696
697 .P
698 If a file name is given, it does not listen on RTNETLINK,
699 but opens the file containing RTNETLINK messages saved in binary format
700 and dumps them.
701
702 .SH NOTES
703 This command uses facilities added in Linux 3.0.
704
705 Although the forwarding table is maintained on a per-bridge device basis
706 the bridge device is not part of the syntax. This is a limitation of the
707 underlying netlink neighbour message protocol. When displaying the
708 forwarding table, entries for all bridges are displayed.
709 Add/delete/modify commands determine the underlying bridge device
710 based on the bridge to which the corresponding ethernet device is attached.
711
712
713 .SH SEE ALSO
714 .BR ip (8)
715 .SH BUGS
716 .RB "Please direct bugreports and patches to: " <netdev@vger.kernel.org>
717
718 .SH AUTHOR
719 Original Manpage by Stephen Hemminger