Manual section: | 8 |
---|
vxsnd [OPTIONS]
vxsnd is a service to flood packets throughout a VXLAN on behalf of VTEPs. For any flood packet (broadcast, multicast or unknown unicast) that a VTEP needs to send into a VXLAN, the VTEP sends the packet to a vxsnd daemon which then replicates and sends the packet unicast to every VTEP that is a member of the same VXLAN that the packet belongs to.
In order to flood packets, vxsnd maintains a list of VTEPs associated
with each VXLAN. This list is generated by receiving registration
messages from a daemon running on the VTEPS (see vxrd(8)
)
vxsnd also adds to the forwarding list any VTEP it learns of from received VXLAN data packets. This makes the system more responsive to configuration changes in the event the registration daemon is slow to respond.
vxsnd runs on any node in the network that has IP reachability to the VTEPs it serves. It may serve multiple VXLANs concurrently, each VXLAN identified by its VNI (VXLAN Network Identifier).
Daemon Option and Logging
vxsnd may be run from the command line but it is intended to run as
a daemon program. To facilitate running as a daemon all status
output is sent to a log destination. Log levels can be set by
configuration or command line optiones. The destination, also set
by configuration or command line options, may be stdout
,
syslog
or a file. If the destination is syslog
then log
messages are handled by the systems syslog facility.
Availability and Scale
Availability and scale is achieved by instantiating multiple instances of vxsnd and using an anycast address to allow the network to distribute the load from the VTEPs among them. If an anycast address is specified in the config file or as a command line option, vxlan-replicator configures that address on the loopback interface.
In order that all instances learn of all the VXLAN members, vxsnd
relays registration messages from VTEPs to its peer vxsnd instances.
- -c, --config FILE
- The config file to load. Default is /etc/vxsnd.conf
-d, --daemon | Run as a daemon program |
-p, --pidfile FILE | |
The filename for the PID file. Default is /var/run/vxsnd.pid |
- -l, --logdest DEST
- The log destination. One of
stdout
,syslog
or a file name. Default issyslog
. - -L, --loglevel LEVEL
- The log level. One of debug, info, warning, error, critical. Default is info
-s, --servers | A list of peer service nodes with which to share registration information. |
All the options above and additional configuration options can be speficied in a configuration file, read at startup. All the configuration options and their defaults are specified in the default config file /etc/vxsnd.conf. Options specified on the command line take precedence over options specified in the config file.
ip-link
(8), brctl
(8), vxrd
(8)
http://tools.ietf.org/id/draft-mahalingam-dutt-dcops-vxlan-00.txt
V1.0 - Requesting complete VNI dump from other node (initial startup)
FUTURE - concurrency model - coroutines, eventlet/greenlet/greenthreads - 3 basic core functions today should have distince concurrency - BUM packet flooding - VNI registration - Replication - Sending VNI data to other node - Responding to VNI dump request from peer - Unit tests - pep8 - ability to run as non-priveleged user - tiered replication/flooding