Skip to content

Latest commit

 

History

History
128 lines (90 loc) · 3.64 KB

vxsnd.rst

File metadata and controls

128 lines (90 loc) · 3.64 KB

vxsnd

Replicating service node for VXLAN deployments

Manual section:8

SYNOPSIS

vxsnd [OPTIONS]

DESCRIPTION

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.

OPTIONS

-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 is syslog.
-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.

Configuration

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.

SEE ALSO

ip-link(8), brctl(8), vxrd(8)

http://tools.ietf.org/id/draft-mahalingam-dutt-dcops-vxlan-00.txt

TODO

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