Command Section
VALE(4)                FreeBSD Kernel Interfaces Manual                VALE(4)

     vale - a very fast Virtual Local Ethernet using the netmap API

     device netmap

     vale is a feature of the netmap(4) module that implements multiple
     Virtual switches that can be used to interconnect netmap clients,
     including traffic sources and sinks, packet forwarders, userspace
     firewalls, and so on.

     vale is implemented completely in software, and is extremely fast.  On a
     modern machine it can move almost 20 Million packets per second (Mpps)
     per core with small frames, and about 70 Gbit/s with 1500 byte frames.

     vale dynamically creates switches and ports as clients connect to it
     using the netmap(4) API.

     vale ports are named vale[bdg:][port] where vale is the prefix indicating
     a VALE switch rather than a standard interface, bdg indicates a specific
     switch (the colon is a separator), and port indicates a port within the
     switch.  Bridge and port names are arbitrary strings, the only constraint
     being that the full name must fit within 16 characters.

     See netmap(4) for details on the API.

     vale currently supports up to 4 switches, 16 ports per switch, with 1024
     buffers per port.  These hard limits will be changed to sysctl variables
     in future releases.

     vale uses the following sysctl variables to control operation:

     dev.netmap.bridge   The maximum number of packets processed internally in
                         each iteration.  Defaults to 1024, use lower values
                         to trade latency with throughput.

     dev.netmap.verbose  Set to non-zero values to enable in-kernel

     Create one switch, with a traffic generator connected to one port, and a
     netmap-enabled tcpdump instance on another port:

           tcpdump -ni vale-a:1 &
           pkt-gen  -i vale-a:0 -f tx &

     Create two switches, each connected to two qemu machines on different

           qemu -net nic -net netmap,ifname=vale-1:a ... &
           qemu -net nic -net netmap,ifname=vale-1:b ... &
           qemu -net nic -net netmap,ifname=vale-2:c ... &
           qemu -net nic -net netmap,ifname=vale-2:d ... &


     Luigi Rizzo, Giuseppe Lettieri: VALE, a switched ethernet for virtual
     machines, June 2012,

     The vale switch was designed and implemented in 2012 by Luigi Rizzo and
     Giuseppe Lettieri at the Universita` di Pisa.

     vale was funded by the European Commission within FP7 Projects CHANGE
     (257422) and OPENLAB (287581).

FreeBSD 11.1-RELEASE-p4          July 27, 2012         FreeBSD 11.1-RELEASE-p4
Command Section