1.\" Copyright (c) 2016 Luigi Rizzo, Universita` di Pisa 2.\" 3.\" Redistribution and use in source and binary forms, with or without 4.\" modification, are permitted provided that the following conditions 5.\" are met: 6.\" 1. Redistributions of source code must retain the above copyright 7.\" notice, this list of conditions and the following disclaimer. 8.\" 2. Redistributions in binary form must reproduce the above copyright 9.\" notice, this list of conditions and the following disclaimer in the 10.\" documentation and/or other materials provided with the distribution. 11.\" 12.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 13.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 15.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 16.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 17.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 18.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 19.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 20.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 21.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 22.\" SUCH DAMAGE. 23.\" 24.\" $FreeBSD$ 25.\" 26.Dd November 21, 2020 27.Dt BRIDGE 8 28.Os 29.Sh NAME 30.Nm bridge 31.Nd netmap client to bridge two netmap ports 32.Sh SYNOPSIS 33.Bk -words 34.Bl -tag -width "bridge" 35.It Nm 36.Op Fl i Ar port 37.Op Fl b Ar batch size 38.Op Fl w Ar wait-link 39.Op Fl v 40.Op Fl c 41.El 42.Ek 43.Sh DESCRIPTION 44.Nm 45is a simple netmap application that bridges packets between two netmap ports. 46If the two netmap ports use the same netmap memory region 47.Nm 48forwards packets without copying the packets payload (zero-copy mode), unless 49explicitly prevented by the 50.Fl c 51flag. 52.Pp 53When bridging two physical ports, it is necessary that both NICS are in 54promiscuous mode, otherwise unicast traffic directed to other hosts will 55be dropped by the hardware, and bridging will not work. 56.Pp 57When bridging the hardware rings of a physical port with the corresponding 58host rings, it is necessary to turn off the offloads, because netmap does 59not prepare the NIC rings with offload information. 60Example: 61.Bd -literal -offset indent 62ifconfig em0 -rxcsum -txcsum -tso4 -tso6 -lro 63.Ed 64.Pp 65Available options: 66.Bl -tag -width Ds 67.It Fl i Ar port 68Name of the netmap port. 69It can be supplied up to two times to identify the ports that must be bridged. 70Any netmap port type (physical interface, VALE switch, pipe, monitor port...) 71can be used. 72If the option is supplied only once, then it must be for a physical interface and, in that case, 73.Nm 74will bridge the port and the host stack. 75.It Fl b Ar batch-size 76Maximum number of packets to send in one operation. 77.It Fl w Ar wait-link 78indicates the number of seconds to wait before transmitting. 79It defaults to 2, and may be useful when talking to physical 80ports to let link negotiation complete before starting transmission. 81.It Fl v 82Enable verbose mode 83.It Fl c 84Disable zero-copy mode. 85.El 86.Sh SEE ALSO 87.Xr netmap 4 , 88.Xr lb 8 , 89.Xr pkt-gen 8 90.Sh AUTHORS 91.An -nosplit 92.Nm 93has been written by 94.An Luigi Rizzo 95and 96.An Matteo Landi 97at the Universita` di Pisa, Italy. 98