1*1a7d3c05SVincenzo Maffione.\" Copyright (c) 2016 Luigi Rizzo, Universita` di Pisa 2*1a7d3c05SVincenzo Maffione.\" 3*1a7d3c05SVincenzo Maffione.\" Redistribution and use in source and binary forms, with or without 4*1a7d3c05SVincenzo Maffione.\" modification, are permitted provided that the following conditions 5*1a7d3c05SVincenzo Maffione.\" are met: 6*1a7d3c05SVincenzo Maffione.\" 1. Redistributions of source code must retain the above copyright 7*1a7d3c05SVincenzo Maffione.\" notice, this list of conditions and the following disclaimer. 8*1a7d3c05SVincenzo Maffione.\" 2. Redistributions in binary form must reproduce the above copyright 9*1a7d3c05SVincenzo Maffione.\" notice, this list of conditions and the following disclaimer in the 10*1a7d3c05SVincenzo Maffione.\" documentation and/or other materials provided with the distribution. 11*1a7d3c05SVincenzo Maffione.\" 12*1a7d3c05SVincenzo Maffione.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 13*1a7d3c05SVincenzo Maffione.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14*1a7d3c05SVincenzo Maffione.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 15*1a7d3c05SVincenzo Maffione.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 16*1a7d3c05SVincenzo Maffione.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 17*1a7d3c05SVincenzo Maffione.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 18*1a7d3c05SVincenzo Maffione.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 19*1a7d3c05SVincenzo Maffione.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 20*1a7d3c05SVincenzo Maffione.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 21*1a7d3c05SVincenzo Maffione.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 22*1a7d3c05SVincenzo Maffione.\" SUCH DAMAGE. 23*1a7d3c05SVincenzo Maffione.\" 24*1a7d3c05SVincenzo Maffione.\" $FreeBSD$ 25*1a7d3c05SVincenzo Maffione.\" 26*1a7d3c05SVincenzo Maffione.Dd October 23, 2018 27*1a7d3c05SVincenzo Maffione.Dt BRIDGE 8 28*1a7d3c05SVincenzo Maffione.Os 29*1a7d3c05SVincenzo Maffione.Sh NAME 30*1a7d3c05SVincenzo Maffione.Nm bridge 31*1a7d3c05SVincenzo Maffione.Nd netmap client to bridge two netmap ports 32*1a7d3c05SVincenzo Maffione.Sh SYNOPSIS 33*1a7d3c05SVincenzo Maffione.Bk -words 34*1a7d3c05SVincenzo Maffione.Bl -tag -width "bridge" 35*1a7d3c05SVincenzo Maffione.It Nm 36*1a7d3c05SVincenzo Maffione.Op Fl i Ar port 37*1a7d3c05SVincenzo Maffione.Op Fl b Ar batch size 38*1a7d3c05SVincenzo Maffione.Op Fl w Ar wait-link 39*1a7d3c05SVincenzo Maffione.Op Fl v 40*1a7d3c05SVincenzo Maffione.Op Fl c 41*1a7d3c05SVincenzo Maffione.El 42*1a7d3c05SVincenzo Maffione.Ek 43*1a7d3c05SVincenzo Maffione.Sh DESCRIPTION 44*1a7d3c05SVincenzo Maffione.Nm 45*1a7d3c05SVincenzo Maffioneis a simple netmap application that bridges packets between two netmap ports. 46*1a7d3c05SVincenzo MaffioneIf the two netmap ports use the same netmap memory region 47*1a7d3c05SVincenzo Maffione.Nm 48*1a7d3c05SVincenzo Maffioneforwards packets without copying the packets payload (zero-copy mode), unless 49*1a7d3c05SVincenzo Maffioneexplicitly prevented by the 50*1a7d3c05SVincenzo Maffione.Fl c 51*1a7d3c05SVincenzo Maffioneflag. 52*1a7d3c05SVincenzo Maffione.Bl -tag -width Ds 53*1a7d3c05SVincenzo Maffione.It Fl i Ar port 54*1a7d3c05SVincenzo MaffioneName of the netmap port. 55*1a7d3c05SVincenzo MaffioneIt can be supplied up to two times to identify the ports that must be bridged. 56*1a7d3c05SVincenzo MaffioneAny netmap port type (physical interface, VALE switch, pipe, monitor port...) 57*1a7d3c05SVincenzo Maffionecan be used. 58*1a7d3c05SVincenzo MaffioneIf the option is supplied only once, then it must be for a physical interface and, in that case, 59*1a7d3c05SVincenzo Maffione.Nm 60*1a7d3c05SVincenzo Maffionewill bridge the port and the host stack. 61*1a7d3c05SVincenzo Maffione.It Fl b Ar batch-size 62*1a7d3c05SVincenzo MaffioneMaximum number of packets to send in one operation. 63*1a7d3c05SVincenzo Maffione.It Fl w Ar wait-link 64*1a7d3c05SVincenzo Maffioneindicates the number of seconds to wait before transmitting. 65*1a7d3c05SVincenzo MaffioneIt defaults to 2, and may be useful when talking to physical 66*1a7d3c05SVincenzo Maffioneports to let link negotiation complete before starting transmission. 67*1a7d3c05SVincenzo Maffione.It Fl v 68*1a7d3c05SVincenzo MaffioneEnable verbose mode 69*1a7d3c05SVincenzo Maffione.It Fl c 70*1a7d3c05SVincenzo MaffioneDisable zero-copy mode. 71*1a7d3c05SVincenzo Maffione.El 72*1a7d3c05SVincenzo Maffione.Sh SEE ALSO 73*1a7d3c05SVincenzo Maffione.Xr netmap 4 , 74*1a7d3c05SVincenzo Maffione.Xr pkt-gen 8 75*1a7d3c05SVincenzo Maffione.Sh AUTHORS 76*1a7d3c05SVincenzo Maffione.An -nosplit 77*1a7d3c05SVincenzo Maffione.Nm 78*1a7d3c05SVincenzo Maffionehas been written by 79*1a7d3c05SVincenzo Maffione.An Luigi Rizzo 80*1a7d3c05SVincenzo Maffioneand 81*1a7d3c05SVincenzo Maffione.An Matteo Landi 82*1a7d3c05SVincenzo Maffioneat the Universita` di Pisa, Italy. 83